@@ -749,7 +749,7 @@ def test_set_workflow_paused_when_has_active_tasks(self):
749
749
conductor .request_workflow_state (states .PAUSED )
750
750
self .assertEqual (conductor .get_workflow_state (), states .PAUSING )
751
751
752
- def test_append_log_entry (self ):
752
+ def test_append_log_entries (self ):
753
753
inputs = {'a' : 123 , 'b' : True }
754
754
conductor = self ._prep_conductor (inputs = inputs , state = states .RUNNING )
755
755
@@ -838,3 +838,58 @@ def test_append_log_entry(self):
838
838
self .assertIsInstance (conductor .flow , conducting .TaskFlow )
839
839
self .assertListEqual (conductor .log , expected_log_entries )
840
840
self .assertListEqual (conductor .errors , expected_errors )
841
+
842
+ def test_append_duplicate_log_entries (self ):
843
+ inputs = {'a' : 123 , 'b' : True }
844
+ conductor = self ._prep_conductor (inputs = inputs , state = states .RUNNING )
845
+
846
+ extra = {'x' : 1234 }
847
+ conductor .log_entry ('info' , 'The workflow is running as expected.' , data = extra )
848
+ conductor .log_entry ('info' , 'The workflow is running as expected.' , data = extra )
849
+ conductor .log_entry ('warn' , 'The task may be running a little bit slow.' , task_id = 'task1' )
850
+ conductor .log_entry ('warn' , 'The task may be running a little bit slow.' , task_id = 'task1' )
851
+ conductor .log_entry ('error' , 'This is baloney.' , task_id = 'task1' )
852
+ conductor .log_entry ('error' , 'This is baloney.' , task_id = 'task1' )
853
+ conductor .log_error (TypeError ('Something is not right.' ), task_id = 'task1' )
854
+ conductor .log_error (TypeError ('Something is not right.' ), task_id = 'task1' )
855
+ conductor .log_errors ([KeyError ('task1' ), ValueError ('foobar' )], task_id = 'task1' )
856
+ conductor .log_errors ([KeyError ('task1' ), ValueError ('foobar' )], task_id = 'task1' )
857
+
858
+ expected_log_entries = [
859
+ {
860
+ 'type' : 'info' ,
861
+ 'message' : 'The workflow is running as expected.' ,
862
+ 'data' : extra
863
+ },
864
+ {
865
+ 'type' : 'warn' ,
866
+ 'message' : 'The task may be running a little bit slow.' ,
867
+ 'task_id' : 'task1'
868
+ }
869
+ ]
870
+
871
+ expected_errors = [
872
+ {
873
+ 'type' : 'error' ,
874
+ 'message' : 'This is baloney.' ,
875
+ 'task_id' : 'task1'
876
+ },
877
+ {
878
+ 'type' : 'error' ,
879
+ 'message' : 'TypeError: Something is not right.' ,
880
+ 'task_id' : 'task1'
881
+ },
882
+ {
883
+ 'type' : 'error' ,
884
+ 'message' : "KeyError: 'task1'" ,
885
+ 'task_id' : 'task1'
886
+ },
887
+ {
888
+ 'type' : 'error' ,
889
+ 'message' : 'ValueError: foobar' ,
890
+ 'task_id' : 'task1'
891
+ }
892
+ ]
893
+
894
+ self .assertListEqual (conductor .log , expected_log_entries )
895
+ self .assertListEqual (conductor .errors , expected_errors )
0 commit comments