diff --git a/src/opengeodeweb_microservice/database/data.py b/src/opengeodeweb_microservice/database/data.py index 7e65640..afb70bc 100644 --- a/src/opengeodeweb_microservice/database/data.py +++ b/src/opengeodeweb_microservice/database/data.py @@ -14,28 +14,20 @@ class Data(Base): geode_object: Mapped[str] = mapped_column(String, nullable=False) viewer_object: Mapped[str] = mapped_column(String, nullable=False) viewer_elements_type: Mapped[str] = mapped_column(String, nullable=False) - native_file: Mapped[str | None] = mapped_column(String, nullable=True) viewable_file: Mapped[str | None] = mapped_column(String, nullable=True) - light_viewable_file: Mapped[str | None] = mapped_column(String, nullable=True) - input_file: Mapped[str | None] = mapped_column(String, nullable=True) - additional_files: Mapped[list[str] | None] = mapped_column(JSON, nullable=True) @staticmethod def create( geode_object: str, viewer_object: str, viewer_elements_type: str, - input_file: str | None = None, - additional_files: list[str] | None = None, ) -> "Data": data_entry = Data( geode_object=geode_object, viewer_object=viewer_object, viewer_elements_type=viewer_elements_type, - input_file=input_file, - additional_files=additional_files, ) session = get_session() diff --git a/tests/test_database.py b/tests/test_database.py index 05ce69c..487ddb5 100644 --- a/tests/test_database.py +++ b/tests/test_database.py @@ -1,4 +1,5 @@ from opengeodeweb_microservice.database.data import Data +from opengeodeweb_microservice.database.connection import get_session def test_data_crud_operations(clean_database: None) -> None: @@ -6,8 +7,6 @@ def test_data_crud_operations(clean_database: None) -> None: geode_object="test_object", viewer_object="test_viewer", viewer_elements_type="test_type", - input_file="test.txt", - additional_files=[], ) print("id", data.id, flush=True) assert data.id is not None @@ -17,25 +16,29 @@ def test_data_crud_operations(clean_database: None) -> None: assert retrieved is not None assert isinstance(retrieved, Data) assert retrieved.geode_object == "test_object" - assert retrieved.input_file == "test.txt" assert retrieved.id == data.id non_existent = Data.get("fake_id") assert non_existent is None -def test_data_with_additional_files(clean_database: None) -> None: - files = ["file1.txt", "file2.txt"] +def test_data_with_file_assignments(clean_database: None) -> None: data = Data.create( - geode_object="test_files", - viewer_object="test_viewer", + geode_object="geode_object", + viewer_object="viewer_object", viewer_elements_type="test_type", - additional_files=files, ) - assert data.id is not None - assert isinstance(data.id, str) + data_id = data.id + data.native_file = "native.og_brep" + data.viewable_file = "viewable.vtm" + data.light_viewable_file = "light.vtp" - retrieved = Data.get(data.id) + with get_session() as session: + session.add(data) + session.commit() + + retrieved = Data.get(data_id) assert retrieved is not None - assert isinstance(retrieved, Data) - assert retrieved.additional_files == files - assert retrieved.geode_object == "test_files" + assert retrieved.native_file == "native.og_brep" + assert retrieved.viewable_file == "viewable.vtm" + assert retrieved.light_viewable_file == "light.vtp" + assert retrieved.geode_object == "geode_object"