public void UrlEncoding_UTF8_Then_Hex()
        {
            ILuisService service = new LuisService(new LuisModelAttribute("modelID", "subscriptionID"));

            var uri = service.BuildUri("Français");

            // https://github.com/Microsoft/BotBuilder/issues/247
            // https://github.com/Microsoft/BotBuilder/pull/76
            Assert.AreNotEqual("https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/modelID?subscription-key=subscriptionID&q=Fran%25u00e7ais&log=True", uri.AbsoluteUri);
            Assert.AreEqual("https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/modelID?subscription-key=subscriptionID&q=Fran%C3%A7ais&log=True", uri.AbsoluteUri);
        }
Beispiel #2
0
        public void UrlEncoding_UTF8_Then_Hex()
        {
            ILuisService service = new LuisService(new LuisModelAttribute("modelID", "subscriptionID"));

            var uri = service.BuildUri("Français");

            // https://github.com/Microsoft/BotBuilder/issues/247
            // https://github.com/Microsoft/BotBuilder/pull/76
            Assert.AreNotEqual("https://api.projectoxford.ai/luis/v1/application?id=modelID&subscription-key=subscriptionID&q=Fran%25u00e7ais", uri.AbsoluteUri);
            Assert.AreEqual("https://api.projectoxford.ai/luis/v1/application?id=modelID&subscription-key=subscriptionID&q=Fran%C3%A7ais", uri.AbsoluteUri);
        }
        public void Uri_Building()
        {
            const string Model        = "model";
            const string Subscription = "subscription";
            const string Domain       = "domain";
            const string Text         = "text";

            // TODO: xunit theory
            var tests = new[]
            {
#pragma warning disable CS0612
                new { m    = new LuisModelAttribute(Model, Subscription, LuisApiVersion.V1, null)
                      {
                      }, u = new Uri("https://api.projectoxford.ai/luis/v1/application?subscription-key=subscription&q=text&id=model&log=True") },
                new { m = new LuisModelAttribute(Model, Subscription, LuisApiVersion.V1, null)
                      {
                          Log = false, SpellCheck = false, Staging = false, TimezoneOffset = 1, Verbose = false
                      }, u = new Uri("https://api.projectoxford.ai/luis/v1/application?subscription-key=subscription&q=text&id=model&log=False&spellCheck=False&staging=False&timezoneOffset=1&verbose=False") },
                new { m = new LuisModelAttribute(Model, Subscription, LuisApiVersion.V1, Domain)
                      {
                          Log = true, SpellCheck = true, Staging = true, TimezoneOffset = 2, Verbose = true
                      }, u = new Uri("https://api.projectoxford.ai/luis/v1/application?subscription-key=subscription&q=text&id=model&log=True&spellCheck=True&staging=True&timezoneOffset=2&verbose=True") },
#pragma warning restore CS0612
                new { m    = new LuisModelAttribute(Model, Subscription, LuisApiVersion.V2, null)
                      {
                      }, u = new Uri("https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/model?subscription-key=subscription&q=text&log=True") },
                new { m = new LuisModelAttribute(Model, Subscription, LuisApiVersion.V2, null)
                      {
                          Log = false, SpellCheck = false, Staging = false, TimezoneOffset = 1, Verbose = false
                      }, u = new Uri("https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/model?subscription-key=subscription&q=text&log=False&spellCheck=False&staging=False&timezoneOffset=1&verbose=False") },
                new { m = new LuisModelAttribute(Model, Subscription, LuisApiVersion.V2, Domain)
                      {
                          Log = true, SpellCheck = true, Staging = true, TimezoneOffset = 2, Verbose = true
                      }, u = new Uri("https://domain/luis/v2.0/apps/model?subscription-key=subscription&q=text&log=True&spellCheck=True&staging=True&timezoneOffset=2&verbose=True") },
            };

            foreach (var test in tests)
            {
                ILuisService service = new LuisService(test.m);
                var          actual  = service.BuildUri(Text);
                Assert.AreEqual(test.u, actual);
            }
        }