public void V2CheckHashIndexStatus() { IModeratorServiceV2 moderatorService = new ModeratorServiceV2(this.serviceOptions); var actualResult = moderatorService.CheckImageIndexStatusAsync(); var res = actualResult.Result; Assert.IsTrue(res != null, "Expected valid result, Response: {0}", JsonConvert.SerializeObject(actualResult)); Assert.IsTrue(res.StatusCode == System.Net.HttpStatusCode.OK, "Invalid Http Status Code, Response: {0}", JsonConvert.SerializeObject(actualResult)); Assert.AreEqual("The index is ready for matching.", res.ReasonPhrase, "Response: {0}", JsonConvert.SerializeObject(actualResult)); }
public void V2AddImageV2Test() { IModeratorServiceV2 moderatorService = new ModeratorServiceV2(this.serviceOptions); // Add Image (with labels) // See label details in the response documentation: https://developer.microsoftmoderator.com/docs/services/54f7932727037412a0cda396/operations/54f793272703740c70627a24 using (Stream stream = new FileStream(TestImageContent, FileMode.Open, FileAccess.Read)) { ImageModeratableContent imageContent = new ImageModeratableContent(new BinaryContent(stream, "image/jpeg")); var addResponse = moderatorService.ImageAddAsync(imageContent, TestTags, TestLabel); var addResult = addResponse.Result; Assert.IsTrue(addResult != null, "Expected valid result, Response: {0}", JsonConvert.SerializeObject(addResult)); Assert.IsTrue(string.IsNullOrWhiteSpace(addResult.ImageId) || string.Compare(addResult.Status.Description, "Error occurred while processing request :: Failure Adding a valid image :: Image already exists") == 0, "Image Id can be null only if the Image already exists, Response: {0}", JsonConvert.SerializeObject(addResult)); // Refresh index var refreshResponse = moderatorService.RefreshImageIndexAsync(); var refreshResult = refreshResponse.Result; Assert.IsTrue(refreshResult.IsUpdateSuccess, "Expected update Success on refresh"); } //Wait for Index to be Ready while (true) { var res = moderatorService.CheckImageIndexStatusAsync(); var response = res.Result; if (response.IsSuccessStatusCode && response.ReasonPhrase == "The index is ready for matching.") { break; } else { Thread.Sleep(5000); } } using (Stream stream = new FileStream(TestImageContent, FileMode.Open, FileAccess.Read)) { ImageModeratableContent imageContent = new ImageModeratableContent(new BinaryContent(stream, "image/jpeg")); // Match var matchResponse = moderatorService.MatchImageAsync(imageContent, true); var matchResult = matchResponse.Result; Assert.IsTrue(matchResult.IsMatch, "Expected match, Response: {0}", JsonConvert.SerializeObject(matchResult)); } }