From 7675274a0e7c7df04a6951952371700522c36beb Mon Sep 17 00:00:00 2001 From: Ivar Olofsson Date: Mon, 29 Jun 2026 16:17:56 +0200 Subject: [PATCH] fixup(dbt): Add test for revertible --- tests/test_revertible.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/test_revertible.py diff --git a/tests/test_revertible.py b/tests/test_revertible.py new file mode 100644 index 0000000..cb196ad --- /dev/null +++ b/tests/test_revertible.py @@ -0,0 +1,30 @@ +import uuid +from typing import ClassVar + +from attrs import frozen + +from ibis_typing import IbisSchema, evaluator, it, revertible +from ibis_typing.revertible import AsRevertible, ExpressionExport, UUIDToStringExport + + +def test_uuid_to_string_export_lifecycle(fetch_table): + @frozen + class BaseSchema(IbisSchema): + val: it.UUID = None + + table_schema: ClassVar = {"val": "uuid"} + + hive_export = ( + BaseSchema @ AsRevertible(ExpressionExport) @ AsRevertible(UUIDToStringExport) + ) + + data = [BaseSchema(val=uuid.UUID(int=1))] + + inputs = BaseSchema.of_rows(data) + exported = evaluator.from_expression(hive_export, inputs) + assert exported.table_schema.table_schema["val"] == "string" + imported = revertible.revert_all(exported) + + actual = fetch_table(imported) + + assert actual == data