Skip to content

Commit 7269085

Browse files
committed
Refactor WCA provider test to avoid global state patching
Updated TestHasWCAProvidersWithWCAProvider to patch settings and app config locally within the test method, removing global state modifications in setUp and tearDown. This improves test isolation and reliability.
1 parent 4de5be5 commit 7269085

File tree

1 file changed

+8
-17
lines changed

1 file changed

+8
-17
lines changed

ansible_ai_connect/main/tests/test_utils.py

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,23 @@
2525

2626
from unittest.mock import patch
2727

28-
from django.apps import apps
29-
from django.test import override_settings
30-
3128
from ansible_ai_connect.ai.api.model_pipelines.factory import ModelPipelineFactory
3229
from ansible_ai_connect.ai.api.model_pipelines.tests import mock_config
3330
from ansible_ai_connect.main.utils import has_wca_providers
3431
from ansible_ai_connect.test_utils import WisdomServiceLogAwareTestCase
3532

3633

37-
@override_settings(ANSIBLE_AI_MODEL_MESH_CONFIG=mock_config("wca"))
3834
class TestHasWCAProvidersWithWCAProvider(WisdomServiceLogAwareTestCase):
39-
def setUp(self):
40-
super().setUp()
41-
# Patch the pipeline factory to avoid test interference
42-
self.pipeline_factory_patcher = patch.object(
43-
apps.get_app_config("ai"), "_pipeline_factory", ModelPipelineFactory()
44-
)
45-
self.pipeline_factory_patcher.start()
46-
47-
def tearDown(self):
48-
self.pipeline_factory_patcher.stop()
49-
super().tearDown()
50-
5135
def test_returns_true_with_wca_provider(self):
5236
"""Test that has_wca_providers returns True when WCA provider is configured."""
53-
self.assertTrue(has_wca_providers())
37+
# Create a factory with WCA config directly, without affecting global state
38+
with patch(
39+
"ansible_ai_connect.main.settings.base.ANSIBLE_AI_MODEL_MESH_CONFIG", mock_config("wca")
40+
):
41+
factory = ModelPipelineFactory()
42+
with patch("ansible_ai_connect.main.utils.apps.get_app_config") as mock_app:
43+
mock_app.return_value._pipeline_factory = factory
44+
self.assertTrue(has_wca_providers())
5445

5546

5647
# @override_settings(ANSIBLE_AI_MODEL_MESH_CONFIG=mock_config("wca-onprem"))

0 commit comments

Comments
 (0)