@@ -49,6 +49,7 @@ class FakeParser1(FakeParser):
4949# Fake data used for SimpleProcessor
5050fake_data = NotificationData .init_from_raw ("fake_type" , b"fake data" )
5151# Fake data used for CombinedProcessor
52+ fake_data_type_0 = NotificationData .init_from_raw ("fake_type_0" , b"fake data" )
5253fake_data_for_combined = NotificationData .init_from_raw ("fake_type_0" , b"fake data" )
5354if fake_data_for_combined :
5455 fake_data_for_combined .data_parts .append (DataPart ("fake_type_1" , b"fake data" ))
@@ -107,3 +108,18 @@ def test_combinedprocessor_missing_data():
107108 processor .process (fake_data_for_combined , EXTENDED_DATA )
108109
109110 assert "Not enough information available to create a Maintenance notification" in str (e_info )
111+
112+
113+ def test_combinedprocessor_bleed ():
114+ """Test CombinedProcessor to make sure that information from one processing doesn't bleed over to another."""
115+ processor = CombinedProcessor (data_parsers = [FakeParser0 , FakeParser1 ])
116+
117+ with patch ("circuit_maintenance_parser.processor.Maintenance" ) as mock_maintenance :
118+ processor .process (fake_data_for_combined , EXTENDED_DATA )
119+ assert mock_maintenance .call_count == 1
120+ mock_maintenance .assert_called_with (** {** PARSED_DATA [0 ], ** PARSED_DATA [1 ], ** EXTENDED_DATA })
121+
122+ with patch ("circuit_maintenance_parser.processor.Maintenance" ) as mock_maintenance :
123+ processor .process (fake_data_type_0 , EXTENDED_DATA )
124+ assert mock_maintenance .call_count == 1
125+ mock_maintenance .assert_called_with (** {** PARSED_DATA [0 ], ** EXTENDED_DATA })
0 commit comments