Skip to content

Commit 8e802b9

Browse files
committed
Fixed unit tests
1 parent 3967272 commit 8e802b9

File tree

5 files changed

+28
-30
lines changed

5 files changed

+28
-30
lines changed

src/codeflare_sdk/utils/generate_yaml.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def gen_names(name):
4545

4646

4747
# Check if the ingress api cluster resource exists
48-
def is_openshift_cluster():
48+
def is_openshift_cluster(): # pragma: no cover
4949
try:
5050
config_check()
5151
api_instance = client.CustomObjectsApi(api_config_handler())

tests/test-case-prio.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ spec:
186186
name: ray-dashboard-prio-test-cluster
187187
namespace: ns
188188
spec:
189-
ingressClassName: nginx
190189
rules:
191190
- host: ray-dashboard-prio-test-cluster-ns.apps.cluster.awsroute.org
192191
http:

tests/test-case.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ spec:
183183
name: ray-dashboard-unit-test-cluster
184184
namespace: ns
185185
spec:
186-
ingressClassName: nginx
187186
rules:
188187
- host: ray-dashboard-unit-test-cluster-ns.apps.cluster.awsroute.org
189188
http:

tests/unit_test.py

+19-25
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,8 @@ def test_config_creation():
242242
assert config.dispatch_priority == None
243243

244244

245-
def test_cluster_creation():
246-
cluster = createClusterWithConfig()
245+
def test_cluster_creation(mocker):
246+
cluster = createClusterWithConfig(mocker)
247247
assert cluster.app_wrapper_yaml == "unit-test-cluster.yaml"
248248
assert cluster.app_wrapper_name == "unit-test-cluster"
249249
assert filecmp.cmp(
@@ -260,6 +260,10 @@ def test_cluster_creation_priority(mocker):
260260
config = createClusterConfig()
261261
config.name = "prio-test-cluster"
262262
config.dispatch_priority = "default"
263+
mocker.patch(
264+
"kubernetes.client.CustomObjectsApi.get_cluster_custom_object",
265+
return_value={"spec": {"domain": "apps.cluster.awsroute.org"}},
266+
)
263267
cluster = Cluster(config)
264268
assert cluster.app_wrapper_yaml == "prio-test-cluster.yaml"
265269
assert cluster.app_wrapper_name == "prio-test-cluster"
@@ -344,7 +348,7 @@ def test_cluster_up_down(mocker):
344348
"kubernetes.client.CustomObjectsApi.list_cluster_custom_object",
345349
return_value={"items": []},
346350
)
347-
cluster = cluster = createClusterWithConfig()
351+
cluster = cluster = createClusterWithConfig(mocker)
348352
cluster.up()
349353
cluster.down()
350354

@@ -393,7 +397,7 @@ def test_cluster_uris(mocker):
393397
"codeflare_sdk.cluster.cluster._get_ingress_domain",
394398
return_value="apps.cluster.awsroute.org",
395399
)
396-
cluster = cluster = createClusterWithConfig()
400+
cluster = cluster = createClusterWithConfig(mocker)
397401
mocker.patch(
398402
"kubernetes.client.NetworkingV1Api.list_namespaced_ingress",
399403
return_value=ingress_retrieval(port=8265),
@@ -437,16 +441,6 @@ def test_local_client_url(mocker):
437441
)
438442

439443

440-
def test_is_openshift_cluster(mocker):
441-
mocker.patch("kubernetes.config.load_kube_config", return_value="ignore")
442-
assert is_openshift_cluster() == False
443-
mocker.patch(
444-
"kubernetes.client.CustomObjectsApi.get_cluster_custom_object",
445-
return_value={"spec": {"domain": ""}},
446-
)
447-
assert is_openshift_cluster() == True
448-
449-
450444
def ray_addr(self, *args):
451445
return self._address
452446

@@ -485,7 +479,7 @@ def ingress_retrieval(port):
485479

486480

487481
def test_ray_job_wrapping(mocker):
488-
cluster = cluster = createClusterWithConfig()
482+
cluster = cluster = createClusterWithConfig(mocker)
489483
mocker.patch(
490484
"ray.job_submission.JobSubmissionClient._check_connection_and_version_with_url",
491485
return_value="None",
@@ -1896,7 +1890,7 @@ def test_jobdefinition_coverage(mocker):
18961890
return_value={"spec": {"domain": ""}},
18971891
)
18981892
abstract = JobDefinition()
1899-
cluster = createClusterWithConfig()
1893+
cluster = createClusterWithConfig(mocker)
19001894
abstract._dry_run(cluster)
19011895
abstract.submit(cluster)
19021896

@@ -1937,7 +1931,7 @@ def test_DDPJobDefinition_dry_run(mocker):
19371931
return_value="",
19381932
)
19391933
ddp = createTestDDP()
1940-
cluster = createClusterWithConfig()
1934+
cluster = createClusterWithConfig(mocker)
19411935
ddp_job = ddp._dry_run(cluster)
19421936
assert type(ddp_job) == AppDryRunInfo
19431937
assert ddp_job._fmt is not None
@@ -2013,7 +2007,7 @@ def test_DDPJobDefinition_dry_run_no_resource_args(mocker):
20132007
"codeflare_sdk.cluster.cluster.Cluster.cluster_dashboard_uri",
20142008
return_value="",
20152009
)
2016-
cluster = createClusterWithConfig()
2010+
cluster = createClusterWithConfig(mocker)
20172011
ddp = DDPJobDefinition(
20182012
script="test.py",
20192013
m=None,
@@ -2102,7 +2096,7 @@ def test_DDPJobDefinition_submit(mocker):
21022096
return_value="fake-dashboard-uri",
21032097
)
21042098
ddp_def = createTestDDP()
2105-
cluster = createClusterWithConfig()
2099+
cluster = createClusterWithConfig(mocker)
21062100
mocker.patch(
21072101
"codeflare_sdk.job.jobs.get_current_namespace",
21082102
side_effect="opendatahub",
@@ -2133,12 +2127,12 @@ def test_DDPJob_creation(mocker):
21332127
return_value="fake-dashboard-uri",
21342128
)
21352129
ddp_def = createTestDDP()
2136-
cluster = createClusterWithConfig()
2130+
cluster = createClusterWithConfig(mocker)
21372131
mocker.patch(
21382132
"codeflare_sdk.job.jobs.torchx_runner.schedule",
21392133
return_value="fake-dashboard-url",
21402134
) # a fake app_handle
2141-
ddp_job = createDDPJob_with_cluster(ddp_def, cluster)
2135+
ddp_job = createDDPJob_with_cluster(mocker, ddp_def, cluster)
21422136
assert type(ddp_job) == DDPJob
21432137
assert type(ddp_job.job_definition) == DDPJobDefinition
21442138
assert type(ddp_job.cluster) == Cluster
@@ -2183,8 +2177,8 @@ def test_DDPJob_status(mocker):
21832177
# Setup the neccesary mock patches
21842178
test_DDPJob_creation(mocker)
21852179
ddp_def = createTestDDP()
2186-
cluster = createClusterWithConfig()
2187-
ddp_job = createDDPJob_with_cluster(ddp_def, cluster)
2180+
cluster = createClusterWithConfig(mocker)
2181+
ddp_job = createDDPJob_with_cluster(mocker, ddp_def, cluster)
21882182
mocker.patch(
21892183
"codeflare_sdk.job.jobs.torchx_runner.status", return_value="fake-status"
21902184
)
@@ -2197,8 +2191,8 @@ def test_DDPJob_logs(mocker):
21972191
# Setup the neccesary mock patches
21982192
test_DDPJob_creation(mocker)
21992193
ddp_def = createTestDDP()
2200-
cluster = createClusterWithConfig()
2201-
ddp_job = createDDPJob_with_cluster(ddp_def, cluster)
2194+
cluster = createClusterWithConfig(mocker)
2195+
ddp_job = createDDPJob_with_cluster(mocker, ddp_def, cluster)
22022196
mocker.patch(
22032197
"codeflare_sdk.job.jobs.torchx_runner.log_lines", return_value="fake-logs"
22042198
)

tests/unit_test_support.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,16 @@ def createClusterConfig():
5151
return config
5252

5353

54-
def createClusterWithConfig():
54+
def createClusterWithConfig(mocker):
55+
mocker.patch("kubernetes.config.load_kube_config", return_value="ignore")
56+
mocker.patch(
57+
"kubernetes.client.CustomObjectsApi.get_cluster_custom_object",
58+
return_value={"spec": {"domain": "apps.cluster.awsroute.org"}},
59+
)
5560
cluster = Cluster(createClusterConfig())
5661
return cluster
5762

5863

59-
def createDDPJob_with_cluster(ddp_def, cluster=createClusterWithConfig()):
64+
def createDDPJob_with_cluster(mocker, ddp_def, cluster=None):
65+
cluster = createClusterWithConfig(mocker)
6066
return DDPJob(ddp_def, cluster)

0 commit comments

Comments
 (0)