public void GivenEmptyQueryResult_WhenTrackEventIsInvoked_ThenExceptionIsBeingThrown( IMessageActivity activity, InstrumentationSettings settings) { // Arrange var instrumentation = new QnAInstrumentation(this.telemetryClient, settings); const QueryResult emptyQueryResult = null; // Act // Assert Assert.Throws <ArgumentNullException>(() => instrumentation.TrackEvent(activity, emptyQueryResult)); }
public void GIVENEmptyActivity_WHENTrackEventIsInvoked_THENExceptionIsBeingThrown( QueryResult queryResult, InstrumentationSettings settings) { // Arrange var instrumentation = new QnAInstrumentation(this.telemetryClient, settings); const IMessageActivity emptyActivity = null; // Act // Assert Assert.Throws <ArgumentNullException>(() => instrumentation.TrackEvent(emptyActivity, queryResult)); }
public void GivenAnyActivity_WhenTrackEventIsInvoked_ThenEventTelemetryIsBeingSent( IMessageActivity activity, QueryResult queryResult, InstrumentationSettings settings) { // Arrange var instrumentation = new QnAInstrumentation(this.telemetryClient, settings); // Act instrumentation.TrackEvent(activity, queryResult); // Assert this.mockTelemetryChannel.Verify( tc => tc.Send(It.Is <EventTelemetry>(t => t.Name == EventTypes.QnaEvent && t.Properties[QnAConstants.UserQuery] == activity.Text && t.Properties[QnAConstants.KnowledgeBaseQuestion] == string.Join(QnAInstrumentation.QuestionsSeparator, queryResult.Questions) && t.Properties[QnAConstants.KnowledgeBaseAnswer] == queryResult.Answer && t.Properties[QnAConstants.Score] == queryResult.Score.ToString(CultureInfo.InvariantCulture))), Times.Once); }
public void GIVENAnyActivity_WHENTrackEventIsInvoked_THENEventTelemetryIsBeingSent( IMessageActivity activity, InstrumentationSettings settings) { // Arrange var instrumentation = new QnAInstrumentation(this.telemetryClient, settings); QnAMakerResults queryResult = new QnAMakerResults { Answers = new List <QnAMakerResult> { new QnAMakerResult { Score = .5, Questions = new List <string> { "good", "bad", }, Answer = "good", }, }, }; // Act instrumentation.TrackEvent(activity, queryResult); // Assert this.mockTelemetryChannel.Verify( tc => tc.Send(It.Is <EventTelemetry>(t => t.Name == EventTypes.QnaEvent && t.Properties[QnAConstants.UserQuery] == activity.AsMessageActivity().Text&& t.Properties[QnAConstants.KnowledgeBaseQuestion] == string.Join(QuestionsSeparator.Separator, queryResult.Answers.First().Questions) && t.Properties[QnAConstants.KnowledgeBaseAnswer] == queryResult.Answers.First().Answer&& t.Properties[QnAConstants.Score] == queryResult.Answers.First().Score.ToString(CultureInfo.InvariantCulture))), Times.Once); }