Skip to content

Commit ea069f9

Browse files
committed
added tests
1 parent 8307fe3 commit ea069f9

File tree

1 file changed

+80
-11
lines changed

1 file changed

+80
-11
lines changed

tests/unit_tests/containers/test_containers.py

Lines changed: 80 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737

3838
DEPLOYMENT_NAME = "test-deployment"
3939
CONTAINER_NAME = "test-container"
40-
COMPUTE_RESOURCE_NAME = "test-compute"
40+
COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE = "General Compute"
41+
COMPUTE_RESOURCE_NAME_H100 = "H100"
4142
SECRET_NAME = "test-secret"
4243
SECRET_VALUE = "test-secret-value"
4344
REGISTRY_CREDENTIAL_NAME = "test-credential"
@@ -82,7 +83,7 @@
8283
}
8384
],
8485
"compute": {
85-
"name": COMPUTE_RESOURCE_NAME,
86+
"name": COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE,
8687
"size": 1,
8788
"is_available": True
8889
},
@@ -118,12 +119,12 @@
118119
# Sample compute resources data
119120
COMPUTE_RESOURCES_DATA = [
120121
{
121-
"name": COMPUTE_RESOURCE_NAME,
122+
"name": COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE,
122123
"size": 1,
123124
"is_available": True
124125
},
125126
{
126-
"name": "large-compute",
127+
"name": COMPUTE_RESOURCE_NAME_H100,
127128
"size": 4,
128129
"is_available": True
129130
}
@@ -218,7 +219,7 @@ def test_get_deployments(self, containers_service, deployments_endpoint):
218219
assert len(deployment.containers) == 1
219220
assert type(deployment.containers[0]) == Container
220221
assert type(deployment.compute) == ComputeResource
221-
assert deployment.compute.name == COMPUTE_RESOURCE_NAME
222+
assert deployment.compute.name == COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE
222223
assert responses.assert_call_count(deployments_endpoint, 1) is True
223224

224225
@responses.activate
@@ -240,7 +241,7 @@ def test_get_deployment_by_name(self, containers_service, deployments_endpoint):
240241
assert deployment.name == DEPLOYMENT_NAME
241242
assert len(deployment.containers) == 1
242243
assert deployment.containers[0].name == CONTAINER_NAME
243-
assert deployment.compute.name == COMPUTE_RESOURCE_NAME
244+
assert deployment.compute.name == COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE
244245
assert responses.assert_call_count(url, 1) is True
245246

246247
@responses.activate
@@ -285,7 +286,8 @@ def test_create_deployment(self, containers_service, deployments_endpoint):
285286
type=VolumeMountType.SCRATCH, mount_path="/data")]
286287
)
287288

288-
compute = ComputeResource(name=COMPUTE_RESOURCE_NAME, size=1)
289+
compute = ComputeResource(
290+
name=COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE, size=1)
289291

290292
container_registry_settings = ContainerRegistrySettings(
291293
is_private=False)
@@ -307,7 +309,7 @@ def test_create_deployment(self, containers_service, deployments_endpoint):
307309
assert created_deployment.name == DEPLOYMENT_NAME
308310
assert len(created_deployment.containers) == 1
309311
assert created_deployment.containers[0].name == CONTAINER_NAME
310-
assert created_deployment.compute.name == COMPUTE_RESOURCE_NAME
312+
assert created_deployment.compute.name == COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE
311313
assert responses.assert_call_count(deployments_endpoint, 1) is True
312314

313315
@responses.activate
@@ -331,7 +333,8 @@ def test_update_deployment(self, containers_service, deployments_endpoint):
331333
container_registry_settings = ContainerRegistrySettings(
332334
is_private=False)
333335

334-
compute = ComputeResource(name=COMPUTE_RESOURCE_NAME, size=1)
336+
compute = ComputeResource(
337+
name=COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE, size=1)
335338

336339
deployment = Deployment(
337340
name=DEPLOYMENT_NAME,
@@ -349,7 +352,7 @@ def test_update_deployment(self, containers_service, deployments_endpoint):
349352
assert updated_deployment.name == DEPLOYMENT_NAME
350353
assert len(updated_deployment.containers) == 1
351354
assert updated_deployment.containers[0].name == CONTAINER_NAME
352-
assert updated_deployment.compute.name == COMPUTE_RESOURCE_NAME
355+
assert updated_deployment.compute.name == COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE
353356
assert responses.assert_call_count(url, 1) is True
354357

355358
@responses.activate
@@ -648,7 +651,73 @@ def test_get_compute_resources(self, containers_service, compute_resources_endpo
648651
assert type(resources) == list
649652
assert len(resources) == 2
650653
assert type(resources[0]) == ComputeResource
651-
assert resources[0].name == COMPUTE_RESOURCE_NAME
654+
assert resources[0].name == COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE
655+
assert resources[0].size == 1
656+
assert resources[0].is_available == True
657+
assert responses.assert_call_count(
658+
compute_resources_endpoint, 1) is True
659+
660+
@responses.activate
661+
def test_get_compute_resources_filter_by_size(self, containers_service, compute_resources_endpoint):
662+
# arrange - add response mock
663+
responses.add(
664+
responses.GET,
665+
compute_resources_endpoint,
666+
json=[COMPUTE_RESOURCES_DATA],
667+
status=200
668+
)
669+
670+
# act
671+
resources = containers_service.get_compute_resources(size=4)
672+
673+
# assert
674+
assert type(resources) == list
675+
assert len(resources) == 1
676+
assert type(resources[0]) == ComputeResource
677+
assert resources[0].name == COMPUTE_RESOURCE_NAME_H100
678+
assert resources[0].size == 4
679+
assert resources[0].is_available == True
680+
assert responses.assert_call_count(
681+
compute_resources_endpoint, 1) is True
682+
683+
@responses.activate
684+
def test_get_compute_resources_filter_by_availability(self, containers_service, compute_resources_endpoint):
685+
# arrange - add response mock
686+
responses.add(
687+
responses.GET,
688+
compute_resources_endpoint,
689+
json=[COMPUTE_RESOURCES_DATA],
690+
status=200
691+
)
692+
693+
# act
694+
resources = containers_service.get_compute_resources(is_available=True)
695+
696+
# assert
697+
assert type(resources) == list
698+
assert len(resources) == 2
699+
assert all(r.is_available == True for r in resources)
700+
assert responses.assert_call_count(
701+
compute_resources_endpoint, 1) is True
702+
703+
@responses.activate
704+
def test_get_compute_resources_filter_by_size_and_availability(self, containers_service, compute_resources_endpoint):
705+
# arrange - add response mock
706+
responses.add(
707+
responses.GET,
708+
compute_resources_endpoint,
709+
json=[COMPUTE_RESOURCES_DATA],
710+
status=200
711+
)
712+
713+
# act
714+
resources = containers_service.get_compute_resources(
715+
size=1, is_available=True)
716+
717+
# assert
718+
assert type(resources) == list
719+
assert len(resources) == 1
720+
assert resources[0].name == COMPUTE_RESOURCE_NAME_GENERAL_COMPUTE
652721
assert resources[0].size == 1
653722
assert resources[0].is_available == True
654723
assert responses.assert_call_count(

0 commit comments

Comments
 (0)