Example #1
0
        public void GetEmotionConfiguration_WhenInvalidRemoteImagePath_ReturnValidConfig()
        {
            // We don't handle validity of remote image url because the API does it for us.
            // Thus the method should return a valid configuration.

            // Arrange
            string imagePath = "https://invalid-remote-url-image.com";
            var    json      = new JsonManager();
            var    body      = json.GetEmotionJson(imagePath);

            var expected = new RequestConfiguration(
                Uri: "https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize",
                Data: ByteArrayBuilder.FromJsonObject(body),
                ContentType: "application/json",
                CredentialKey: Credentials.EmotionKey);

            // Act
            var actual = req.GetEmotionConfiguration(imagePath);

            // Assert
            Assert.IsInstanceOfType(actual, typeof(RequestConfiguration));
            Assert.AreEqual(expected.ContentType, actual.ContentType);
            Assert.AreEqual(expected.CredentialKey, actual.CredentialKey);
            Assert.IsTrue(expected.Data.SequenceEqual(actual.Data));
            Assert.AreEqual(expected.Uri, actual.Uri);
        }
Example #2
0
        public void GetTextAnalyticsConfiguration_WhenValidParameters_ReturnValidConfiguration()
        {
            // Arrange
            var json         = new JsonManager();
            var validQueries = new List <string> {
                "languages", "keyPhrases", "sentiment"
            };
            var text     = "I'm sorry that you had to write all these tests, I really do. But it's for humanity's sake.";
            var language = "English";

            foreach (var query in validQueries)
            {
                var body = query == "languages"
                        ? json.GetTextAnalyticsJson(text)
                        : json.GetTextAnalyticsJson(text, language);

                var expected = new RequestConfiguration(
                    Uri: $"https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/{query}",
                    Data: ByteArrayBuilder.FromJsonObject(body),
                    ContentType: "application/json",
                    CredentialKey: Credentials.TextAnalyticsKey);

                // Act
                var actual = req.GetTextAnalyticsConfiguration(query, text, language);

                // Assert
                Assert.IsInstanceOfType(actual, typeof(RequestConfiguration));
                Assert.AreEqual(expected.ContentType, actual.ContentType);
                Assert.AreEqual(expected.CredentialKey, actual.CredentialKey);
                Assert.IsTrue(expected.Data.SequenceEqual(actual.Data));
                Assert.AreEqual(expected.Uri, actual.Uri);
            }
        }
Example #3
0
        public void GetEmotionConfiguration_WhenValidRemoteImagePath_ReturnValidConfig()
        {
            // Arrange
            string imagePath = "http://media.indiatimes.in/media/content/2013/Oct/81964930_1346039027_1382772752_1382772760_540x540.jpg";
            var    json      = new JsonManager();
            var    body      = json.GetEmotionJson(imagePath);

            var expected = new RequestConfiguration(
                Uri: "https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize",
                Data: ByteArrayBuilder.FromJsonObject(body),
                ContentType: "application/json",
                CredentialKey: Credentials.EmotionKey);

            // Act
            var actual = req.GetEmotionConfiguration(imagePath);

            // Assert
            Assert.IsInstanceOfType(actual, typeof(RequestConfiguration));
            Assert.AreEqual(expected.ContentType, actual.ContentType);
            Assert.AreEqual(expected.CredentialKey, actual.CredentialKey);
            Assert.IsTrue(expected.Data.SequenceEqual(actual.Data));
            Assert.AreEqual(expected.Uri, actual.Uri);
        }