in libraries/botbuilder-applicationinsights/django_tests/tests.py [0:0]
def test_logger(self):
"""Tests that traces logged from inside of a view are submitted and parented to the request telemetry item"""
response = self.invoke_post("logger")
self.assertEqual(response.status_code, 200)
logev, reqev = self.get_events(2)
# Check request event (minimal, since we validate this elsewhere)
tags = reqev["tags"]
data = reqev["data"]["baseData"]
reqid = tags["ai.operation.id"]
self.assertEqual(
reqev["name"], "Microsoft.ApplicationInsights.Request", "Event type"
)
self.assertEqual(data["id"], reqid, "Request id")
self.assertEqual(data["name"], "POST /logger", "Operation name")
self.assertEqual(data["url"], "http://testserver/logger", "Request url")
self.assertTrue(reqid, "Request id not empty")
self.assertEqual(tags["ai.user.id"], "SLACKFROMID")
self.assertEqual(tags["ai.session.id"], "CONVERSATIONID")
self.assertEqual(data["properties"]["channelId"], "SLACK", "channelId=SLACK")
self.assertEqual(
data["properties"]["activityId"], "bf3cc9a2f5de...", "activityID is set"
)
self.assertEqual(
data["properties"]["activityType"], "message", "activityType == message"
)
# Check log event
tags = logev["tags"]
data = logev["data"]["baseData"]
self.assertEqual(
logev["name"], "Microsoft.ApplicationInsights.Message", "Event type"
)
self.assertEqual(logev["iKey"], TEST_IKEY)
self.assertEqual(tags["ai.operation.parentId"], reqid, "Parent id")
self.assertEqual(data["message"], "Logger message", "Log message")
self.assertEqual(data["properties"]["property"], "value", "Property=value")
self.assertEqual(tags["ai.user.id"], "SLACKFROMID")
self.assertEqual(tags["ai.session.id"], "CONVERSATIONID")
self.assertEqual(data["properties"]["channelId"], "SLACK", "channelId=SLACK")
self.assertEqual(
data["properties"]["activityId"], "bf3cc9a2f5de...", "activityID is set"
)
self.assertEqual(
data["properties"]["activityType"], "message", "activityType == message"
)