@@ -41,7 +41,6 @@ def setUpClass(cls):
4141 cls .resource_group_name = "TBL-%s" % (datetime_value )
4242 cls .template_name = os .environ .get ("TEMPLATE_NAME" , "blobreaderdeploy.json" )
4343 cls .offsetmap_table_name = "FileOffsetMap"
44- cls .function_name = "BlobTaskConsumer"
4544
4645 cls .create_resource_group (
4746 cls .resourcegroup_location , cls .resource_group_name )
@@ -65,33 +64,39 @@ def test_03_func_logs(self):
6564 self .insert_mock_json_in_BlobStorage ()
6665
6766 time .sleep (300 )
67+ function_name = "BlobTaskConsumer"
6868 app_insights = self .get_resource ('Microsoft.Insights/components' )
69- captured_output = self .fetchlogs (app_insights .name )
69+ captured_output = self .fetchlogs (app_insights .name , function_name )
7070
7171 successful_sent_message = "Successfully sent to Sumo, Exiting now."
7272 self .assertTrue (self .filter_logs (captured_output , 'message' , successful_sent_message ),
73- "No success message found in azure function logs" )
73+ f "No success message found in { function_name } azure function logs" )
7474
7575 self .assertFalse (self .filter_logs (captured_output , 'severityLevel' , '3' ),
76- "Error messages found in azure function logs" )
76+ f "Error messages found in { function_name } azure function logs" )
7777
7878 self .assertFalse (self .filter_logs (captured_output , 'severityLevel' , '2' ),
79- "Warning messages found in azure function logs" )
79+ f "Warning messages found in { function_name } azure function logs" )
8080
81- # def check_both_storage_accounts_present():
82- # pass
83-
84- # def check_sorted_task_range():
85- # pass
86-
87- # def check_offset_in_range():
88- # pass
89-
90- # def extract_tasks_from_logs():
91- # pass
92-
93- # def check_one_to_one_task_mapping():
94- # pass
81+ def test_04_sumo_query_record_count (self ):
82+ self .logger .info ("fetching mock data count from sumo" )
83+ log_type = os .environ .get ("LOG_TYPE" , "log" )
84+ query = f'_sourceCategory="{ self .source_category } " | count'
85+ relative_time_in_minutes = 30
86+ expected_record_count = {
87+ "blob" : 15 ,
88+ "log" : 10 ,
89+ "json" : 10 ,
90+ "csv" : 12
91+ }
92+ result = self .fetch_sumo_query_results (query , relative_time_in_minutes )
93+ #sample: {'warning': '', 'fields': [{'name': '_count', 'fieldType': 'int', 'keyField': False}], 'records': [{'map': {'_count': '10'}}]}
94+ try :
95+ record_count = int (result ['records' ][0 ]['map' ]['_count' ])
96+ except Exception :
97+ record_count = 0
98+ self .assertTrue (record_count == expected_record_count .get (log_type ),
99+ f"block blob file's record count: { record_count } differs from expected count { expected_record_count .get (log_type )} in sumo '{ self .source_category } '" )
95100
96101 def get_random_name (self , length = 32 ):
97102 return str (uuid .uuid4 ())
0 commit comments