in libraries/botbuilder-applicationinsights/django_tests/tests.py [0:0]
def test_bot_event(self):
"""Tests that traces logged from inside of a view are submitted and parented to the request telemetry item"""
response = self.invoke_post("botlog_event")
assert 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 /botlog_event", "Operation name")
self.assertEqual(data["url"], "http://testserver/botlog_event", "Request url")
self.assertTrue(reqid, "Request id not empty")
# Check log event
tags = logev["tags"]
data = logev["data"]["baseData"]
self.assertEqual(
logev["name"], "Microsoft.ApplicationInsights.Event", "Event type"
)
self.assertEqual(logev["iKey"], TEST_IKEY)
self.assertEqual(data["name"], "botevent", "validate event name")
self.assertEqual(data["properties"]["foo"], "bar", "foo=bar")
self.assertEqual(data["properties"]["moo"], "cow", "moo=cow")
# Test TelemetryProcessor properties
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"
)