public void CheckOutPutNotFromStructuredLG() { var diagnostics = ActivityChecker.Check("Not a valid json"); Assert.AreEqual(diagnostics.Count, 1); Assert.IsTrue(diagnostics[0].Severity == DiagnosticSeverity.Warning); Assert.AreEqual(diagnostics[0].Message, "LG output is not a json object, and will fallback to string format."); diagnostics = ActivityChecker.Check("{}"); Assert.AreEqual(diagnostics.Count, 1); Assert.IsTrue(diagnostics[0].Severity == DiagnosticSeverity.Error); Assert.AreEqual(diagnostics[0].Message, "'type' or '$type' is not exist in lg output json object."); }
public async Task CheckStructuredLGDiagnostics() { var context = await GetTurnContext("DignosticStructuredLG.lg"); var languageGenerator = context.TurnState.Get <ILanguageGenerator>(); var lgStringResult = await languageGenerator.Generate(context, "@{ErrorStructuredType()}", null); var diagnostics = ActivityChecker.Check(lgStringResult); Assert.AreEqual(diagnostics.Count, 1); Assert.IsTrue(diagnostics[0].Severity == DiagnosticSeverity.Error); Assert.AreEqual(diagnostics[0].Message, "Type 'mystruct' is not support currently."); lgStringResult = await languageGenerator.Generate(context, "@{ErrorActivityType()}", null); diagnostics = ActivityChecker.Check(lgStringResult); Assert.AreEqual(diagnostics.Count, 2); Assert.IsTrue(diagnostics[0].Severity == DiagnosticSeverity.Error); Assert.AreEqual(diagnostics[0].Message, "'xxx' is not a valid activity type."); Assert.IsTrue(diagnostics[1].Severity == DiagnosticSeverity.Warning); Assert.AreEqual(diagnostics[1].Message, "'invalidproperty' not support in Activity."); lgStringResult = await languageGenerator.Generate(context, "@{ErrorMessage()}", null); diagnostics = ActivityChecker.Check(lgStringResult); Assert.AreEqual(diagnostics.Count, 5); Assert.IsTrue(diagnostics[0].Severity == DiagnosticSeverity.Warning); Assert.AreEqual(diagnostics[0].Message, "'attachment,suggestedaction' not support in Activity."); Assert.IsTrue(diagnostics[1].Severity == DiagnosticSeverity.Warning); Assert.AreEqual(diagnostics[1].Message, "'mystruct' is not card action type."); Assert.IsTrue(diagnostics[2].Severity == DiagnosticSeverity.Error); Assert.AreEqual(diagnostics[2].Message, "'yyy' is not a valid card action type."); Assert.IsTrue(diagnostics[3].Severity == DiagnosticSeverity.Error); Assert.AreEqual(diagnostics[3].Message, "'notsure' is not a boolean value."); Assert.IsTrue(diagnostics[4].Severity == DiagnosticSeverity.Warning); Assert.AreEqual(diagnostics[4].Message, "'mystruct' is not an attachment type."); }
public void whenCheckingShouldAskProbe() { activityCheckerSut.Check(); Mock.Assert(() => probeMock.GetLastInputTick()); }