コード例 #1
0
        public void V2AddTermTest()
        {
            IModeratorServiceV2 moderatorService = new ModeratorServiceV2(this.serviceOptions);

            // We are creating a term "FakeProfanity" in english (thus provide tha same english translation), then matching against it.
            TextModeratableContent textContent = new TextModeratableContent(text: "ertuythfg", englishTranslation: "FakeProfanity");
            var taskResult = moderatorService.AddTermAsync(textContent, "eng");

            var actualResult = taskResult.Result;

            Assert.IsTrue((actualResult.StatusCode != System.Net.HttpStatusCode.Created) || (actualResult.StatusCode != System.Net.HttpStatusCode.MultipleChoices), "Expected valid result for AddTerm");

            var refreshTask   = moderatorService.RefreshTextIndexAsync("eng");
            var refreshResult = refreshTask.Result;

            Assert.IsTrue(refreshResult != null, "Expected valid result for RefreshIndex");

            var screenResponse = moderatorService.ScreenTextAsync(new TextModeratableContent("This is a ertuythfg!"), "eng");
            var screenResult   = screenResponse.Result;


            var deleteTask   = moderatorService.RemoveTermAsync(textContent, "eng");
            var deleteResult = deleteTask.Result;

            Assert.IsTrue(deleteResult.IsSuccessStatusCode, "Expected valid result for DeleteTerm");
        }
コード例 #2
0
        public void V2GetTermListTest()
        {
            IModeratorServiceV2 moderatorService = new ModeratorServiceV2(this.serviceOptions);

            // Import the term list. This needs to only be done once before screen
            moderatorService.ImportTermListAsync("eng").Wait();
            moderatorService.RefreshTextIndexAsync("eng").Wait();

            var taskResult   = moderatorService.ListTermsAsync("eng");
            var actualResult = taskResult.Result;

            Assert.IsTrue(actualResult != null, "Expected valid result for Get Term List");
            Assert.IsTrue(actualResult.Terms.Count > 0, "The count of terms is 0");
        }
コード例 #3
0
        public void V2ScreenTextTest()
        {
            IModeratorServiceV2 moderatorService = new ModeratorServiceV2(this.serviceOptions);

            // Import the term list. This needs to only be done once before screen
            moderatorService.ImportTermListAsync("eng").Wait();

            moderatorService.RefreshTextIndexAsync("eng").Wait();

            // Run screen to match, validating match result
            string text = "The <a href=\"www.bunnies.com\">qu!ck</a> brown  <a href=\"b.suspiciousdomain.com\">f0x</a> jumps over the lzay dog www.benign.net. freaking awesome.";
            TextModeratableContent textContent = new TextModeratableContent(text);
            var screenResponse = moderatorService.ScreenTextAsync(textContent, "eng");
            var screenResult   = screenResponse.Result;

            var expectedScreenTextResult = JsonConvert.DeserializeObject <ScreenTextResult>(ResultJsonForComparison.TextV2_ScreenTextTest);

            Assert.IsTrue(screenResult != null, "Expected valid result");
            Assert.AreEqual(expectedScreenTextResult.NormalizedText, screenResult.NormalizedText);
            Assert.IsTrue(expectedScreenTextResult.Terms.SequenceEqual(screenResult.Terms, new TermMatchComparer()));
            Assert.IsTrue(expectedScreenTextResult.Terms.SequenceEqual(screenResult.Terms, new TermMatchComparer()));
            Assert.IsTrue(expectedScreenTextResult.Urls.SequenceEqual(screenResult.Urls, new URLMatchComparer()));
        }