Skip to content

Commit fe0f706

Browse files
author
Lingling Peng
committed
add test for factory get
1 parent 123176b commit fe0f706

2 files changed

Lines changed: 53 additions & 0 deletions

File tree

tests/integration/synapseclient/operations/async/test_factory_operations_async.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
ColumnType,
1616
Dataset,
1717
DatasetCollection,
18+
DockerRepository,
1819
EntityView,
1920
File,
2021
Folder,
@@ -845,3 +846,29 @@ async def test_get_async_validation_errors(self) -> None:
845846
ValueError, match="Must specify either synapse_id or entity_name"
846847
):
847848
await get_async(synapse_client=self.syn)
849+
850+
async def test_get_docker_repo_by_id(self, project_model: Project) -> None:
851+
"""Test retrieving a Docker repository using get factory function."""
852+
# GIVEN a Docker repository exists
853+
docker_repo = await DockerRepository(
854+
parent_id=project_model.id,
855+
repository_name="username/test-get-factory",
856+
name="Test Factory Repo",
857+
description="Testing get factory",
858+
).store_async(synapse_client=self.syn)
859+
860+
self.schedule_for_cleanup(docker_repo.id)
861+
862+
# WHEN I retrieve it using the get factory function
863+
retrieved = await get_async(synapse_id=docker_repo.id, synapse_client=self.syn)
864+
865+
# THEN the correct DockerRepository is returned
866+
assert isinstance(retrieved, DockerRepository)
867+
assert retrieved.id == docker_repo.id
868+
assert retrieved.repository_name == "username/test-get-factory"
869+
assert retrieved.name == "Test Factory Repo"
870+
assert retrieved.description == "Testing get factory"
871+
assert retrieved.parent_id == project_model.id
872+
assert retrieved.etag is not None
873+
assert retrieved.created_on is not None
874+
assert retrieved.is_managed == False

tests/integration/synapseclient/operations/synchronous/test_factory_operations.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
ColumnType,
1616
Dataset,
1717
DatasetCollection,
18+
DockerRepository,
1819
EntityView,
1920
File,
2021
Folder,
@@ -793,3 +794,28 @@ def test_get_validation_errors(self) -> None:
793794
ValueError, match="Must specify either synapse_id or entity_name"
794795
):
795796
get(synapse_client=self.syn)
797+
798+
def test_get_docker_repo_by_id(self, project_model: Project) -> None:
799+
"""Test retrieving a Docker repository using get factory function."""
800+
# GIVEN a Docker repository exists
801+
docker_repo = DockerRepository(
802+
parent_id=project_model.id,
803+
repository_name="username/test-get-factory",
804+
name="Test Factory Repo",
805+
description="Testing get factory",
806+
).store(synapse_client=self.syn)
807+
self.schedule_for_cleanup(docker_repo.id)
808+
809+
# WHEN I retrieve it using the get factory function
810+
retrieved = get(synapse_id=docker_repo.id, synapse_client=self.syn)
811+
812+
# THEN the correct DockerRepository is returned
813+
assert isinstance(retrieved, DockerRepository)
814+
assert retrieved.id == docker_repo.id
815+
assert retrieved.repository_name == "username/test-get-factory"
816+
assert retrieved.name == "Test Factory Repo"
817+
assert retrieved.description == "Testing get factory"
818+
assert retrieved.parent_id == project_model.id
819+
assert retrieved.etag is not None
820+
assert retrieved.created_on is not None
821+
assert retrieved.is_managed == False

0 commit comments

Comments
 (0)