Exemple #1
0
        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.");
        }
Exemple #2
0
        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.");
        }
Exemple #3
0
        public void whenCheckingShouldAskProbe()
        {
            activityCheckerSut.Check();

            Mock.Assert(() => probeMock.GetLastInputTick());
        }