Skip to content

Commit 9a9724a

Browse files
committed
Merge branch '372-fix_openain_iCal' of https://github.com/networktocode/circuit-maintenance-parser into 372-fix_openain_iCal
2 parents e09b1c0 + 0ccada9 commit 9a9724a

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

138137

139138
def test_provider_does_not_use_openai_when_native_succeeds():

0 commit comments

Comments
 (0)