Skip to content

Commit

Permalink
added test for sumo query record
Browse files Browse the repository at this point in the history
  • Loading branch information
himanshu219 committed Mar 30, 2024
1 parent 5d01992 commit 426f553
Showing 1 changed file with 24 additions and 19 deletions.
43 changes: 24 additions & 19 deletions BlockBlobReader/tests/test_blobreader.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ def setUpClass(cls):
cls.resource_group_name = "TBL-%s" % (datetime_value)
cls.template_name = os.environ.get("TEMPLATE_NAME", "blobreaderdeploy.json")
cls.offsetmap_table_name = "FileOffsetMap"
cls.function_name = "BlobTaskConsumer"

cls.create_resource_group(
cls.resourcegroup_location, cls.resource_group_name)
Expand All @@ -65,33 +64,39 @@ def test_03_func_logs(self):
self.insert_mock_json_in_BlobStorage()

time.sleep(300)
function_name = "BlobTaskConsumer"
app_insights = self.get_resource('Microsoft.Insights/components')
captured_output = self.fetchlogs(app_insights.name)
captured_output = self.fetchlogs(app_insights.name, function_name)

successful_sent_message = "Successfully sent to Sumo, Exiting now."
self.assertTrue(self.filter_logs(captured_output, 'message', successful_sent_message),
"No success message found in azure function logs")
f"No success message found in {function_name} azure function logs")

self.assertFalse(self.filter_logs(captured_output, 'severityLevel', '3'),
"Error messages found in azure function logs")
f"Error messages found in {function_name} azure function logs")

self.assertFalse(self.filter_logs(captured_output, 'severityLevel', '2'),
"Warning messages found in azure function logs")
f"Warning messages found in {function_name} azure function logs")

# def check_both_storage_accounts_present():
# pass

# def check_sorted_task_range():
# pass

# def check_offset_in_range():
# pass

# def extract_tasks_from_logs():
# pass

# def check_one_to_one_task_mapping():
# pass
def test_04_sumo_query_record_count(self):
self.logger.info("fetching mock data count from sumo")
log_type = os.environ.get("LOG_TYPE", "log")
query = f'_sourceCategory="{self.source_category}" | count'
relative_time_in_minutes = 30
expected_record_count = {
"blob": 15,
"log": 10,
"json": 10,
"csv": 12
}
result = self.fetch_sumo_query_results(query, relative_time_in_minutes)
#sample: {'warning': '', 'fields': [{'name': '_count', 'fieldType': 'int', 'keyField': False}], 'records': [{'map': {'_count': '10'}}]}
try:
record_count = int(result['records'][0]['map']['_count'])
except Exception:
record_count = 0
self.assertTrue(record_count == expected_record_count.get(log_type),
f"block blob file's record count: {record_count} differs from expected count {expected_record_count.get(log_type)} in sumo '{self.source_category}'")

def get_random_name(self, length=32):
return str(uuid.uuid4())
Expand Down

0 comments on commit 426f553

Please sign in to comment.