Skip to content

Commit 0ccada9

Browse files
Update tests/unit/test_providers.py
Co-authored-by: Glenn Matthews <glenn.matthews@networktocode.com>
1 parent cb47678 commit 0ccada9

1 file changed

Lines changed: 16 additions & 17 deletions

File tree

tests/unit/test_providers.py

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -118,23 +118,22 @@ class ProviderWithIncludeFilter(GenericProvider):
118118
)
119119
def test_provider_falls_back_to_openai(provider_class):
120120
"""Test that OpenAI parser is used as last resort when all other processors fail."""
121-
os.environ["PARSER_OPENAI_API_KEY"] = "some_api_key"
122-
data = NotificationData.init_from_raw("text/plain", b"fake data")
123-
data.add_data_part("text/html", b"other data")
124-
125-
provider = provider_class()
126-
original_processor_count = len(provider._processors) # pylint: disable=protected-access
127-
128-
with patch("circuit_maintenance_parser.processor.GenericProcessor.process") as mock_processor:
129-
# All native processors fail, then OpenAI processor succeeds
130-
mock_processor.side_effect = [ProcessorError] * original_processor_count + [[{"a": "b"}]]
131-
provider.get_maintenances(data)
132-
# Native processors + 1 OpenAI call
133-
assert mock_processor.call_count == original_processor_count + 1
134-
135-
# OpenAI processor should NOT be appended to the provider's processor list
136-
assert len(provider._processors) == original_processor_count # pylint: disable=protected-access
137-
os.environ.pop("PARSER_OPENAI_API_KEY", None)
121+
with patch.dict(os.environ, {"PARSER_OPENAI_API_KEY": "some_api_key"}):
122+
data = NotificationData.init_from_raw("text/plain", b"fake data")
123+
data.add_data_part("text/html", b"other data")
124+
125+
provider = provider_class()
126+
original_processor_count = len(provider._processors) # pylint: disable=protected-access
127+
128+
with patch("circuit_maintenance_parser.processor.GenericProcessor.process") as mock_processor:
129+
# All native processors fail, then OpenAI processor succeeds
130+
mock_processor.side_effect = [ProcessorError] * original_processor_count + [[{"a": "b"}]]
131+
provider.get_maintenances(data)
132+
# Native processors + 1 OpenAI call
133+
assert mock_processor.call_count == original_processor_count + 1
134+
135+
# OpenAI processor should NOT be appended to the provider's processor list
136+
assert len(provider._processors) == original_processor_count # pylint: disable=protected-access
138137

139138

140139
def test_provider_does_not_use_openai_when_native_succeeds():

0 commit comments

Comments
 (0)