Skip to content

Commit d418d24

Browse files
committed
task(RHOAIENG-33283): Move runtime_env logic and tests to standalone files
1 parent ef92ba7 commit d418d24

File tree

8 files changed

+1453
-1393
lines changed

8 files changed

+1453
-1393
lines changed

src/codeflare_sdk/ray/rayjobs/rayjob.py

Lines changed: 10 additions & 462 deletions
Large diffs are not rendered by default.

src/codeflare_sdk/ray/rayjobs/runtime_env.py

Lines changed: 470 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
"""Shared pytest fixtures for rayjobs tests."""
2+
3+
import pytest
4+
from unittest.mock import MagicMock
5+
6+
7+
# Global test setup that runs automatically for ALL tests
8+
@pytest.fixture(autouse=True)
9+
def auto_mock_setup(mocker):
10+
"""Automatically mock common dependencies for all tests."""
11+
mocker.patch("kubernetes.config.load_kube_config")
12+
13+
# Always mock get_default_kueue_name to prevent K8s API calls
14+
mocker.patch(
15+
"codeflare_sdk.ray.rayjobs.rayjob.get_default_kueue_name",
16+
return_value="default-queue",
17+
)
18+
19+
mock_get_ns = mocker.patch(
20+
"codeflare_sdk.ray.rayjobs.rayjob.get_current_namespace",
21+
return_value="test-namespace",
22+
)
23+
24+
mock_rayjob_api = mocker.patch("codeflare_sdk.ray.rayjobs.rayjob.RayjobApi")
25+
mock_rayjob_instance = MagicMock()
26+
mock_rayjob_api.return_value = mock_rayjob_instance
27+
28+
mock_cluster_api = mocker.patch("codeflare_sdk.ray.rayjobs.rayjob.RayClusterApi")
29+
mock_cluster_instance = MagicMock()
30+
mock_cluster_api.return_value = mock_cluster_instance
31+
32+
mock_k8s_api = mocker.patch("kubernetes.client.CoreV1Api")
33+
mock_k8s_instance = MagicMock()
34+
mock_k8s_api.return_value = mock_k8s_instance
35+
36+
# Mock get_api_client in runtime_env module where it's actually used
37+
mocker.patch("codeflare_sdk.ray.rayjobs.runtime_env.get_api_client")
38+
39+
# Return the mocked instances so tests can configure them as needed
40+
return {
41+
"rayjob_api": mock_rayjob_instance,
42+
"cluster_api": mock_cluster_instance,
43+
"k8s_api": mock_k8s_instance,
44+
"get_current_namespace": mock_get_ns,
45+
}

0 commit comments

Comments
 (0)