public void OverallSpamDetectorStrategy_ShouldNotDetectSpam(string messageContent1, string messageContent2, string messageContent3, string messageContent4, bool isUserSafe) { // Arrange var userSafetyChecker = new Mock <IUserSafetyChecker>(); userSafetyChecker .Setup(x => x.IsUserSafe(AntiSpamTestsService.DEFAULT_TEST_USER_ID, GetMessagesQuery.GET_ALL_SERVERS)) .Returns(isUserSafe); var contexts = this._antiSpamTestsService.GetDefaultContexts(); var serverMessages = new ServerMessagesCacheService(); serverMessages.OverwriteMessages(new List <SmallMessage> { new SmallMessage(messageContent1, AntiSpamTestsService.DEFAULT_TEST_USER_ID, DateTime.UtcNow.AddSeconds(-20), GetMessagesQuery.GET_ALL_SERVERS), new SmallMessage(messageContent2, AntiSpamTestsService.DEFAULT_TEST_USER_ID, DateTime.UtcNow.AddSeconds(-16), GetMessagesQuery.GET_ALL_SERVERS), new SmallMessage(messageContent3, AntiSpamTestsService.DEFAULT_TEST_USER_ID, DateTime.UtcNow.AddSeconds(-15), GetMessagesQuery.GET_ALL_SERVERS), new SmallMessage(messageContent4, AntiSpamTestsService.DEFAULT_TEST_USER_ID, DateTime.UtcNow.AddSeconds(-10), GetMessagesQuery.GET_ALL_SERVERS) }); var overallSpamDetector = OverallSpamDetectorStrategy.GetStrategyWithDefaultDetectors(serverMessages, userSafetyChecker.Object, this._configurationService); // Act var overallSpamProbability = overallSpamDetector.GetOverallSpamProbability(contexts); // Assert Assert.That(overallSpamProbability, Is.EqualTo(SpamProbability.None)); }
public void OverallSpamDetectorStrategy_ShouldNotDetectSpam(string messageContent1, string messageContent2, string messageContent3, string messageContent4, bool isUserSafe) { // Arrange var spamTestsService = new AntiSpamTestsService(); var userSafetyChecker = new Mock <IUserSafetyChecker>(); userSafetyChecker .Setup(x => x.IsUserSafe(AntiSpamTestsService.DEFAULT_TEST_USER_ID, GetMessagesQuery.GET_ALL_SERVERS)) .Returns(isUserSafe); var(request, contexts) = spamTestsService.CreateRequestAndContexts(messageContent4); var serverMessages = new ServerMessagesCacheService(); serverMessages.OverwriteMessages(new List <SmallMessage> { new SmallMessage(messageContent1, AntiSpamTestsService.DEFAULT_TEST_USER_ID, DateTime.Now, GetMessagesQuery.GET_ALL_SERVERS), new SmallMessage(messageContent2, AntiSpamTestsService.DEFAULT_TEST_USER_ID, DateTime.Now, GetMessagesQuery.GET_ALL_SERVERS), new SmallMessage(messageContent3, AntiSpamTestsService.DEFAULT_TEST_USER_ID, DateTime.Now, GetMessagesQuery.GET_ALL_SERVERS) }); var configurationService = new Mock <IConfigurationService>(); configurationService .Setup(x => x.GetConfigurationItem <PercentOfSimilarityBetweenMessagesToSuspectSpam>(It.IsAny <ulong>())) .Returns(new PercentOfSimilarityBetweenMessagesToSuspectSpam(GetMessagesQuery.GET_ALL_SERVERS)); var overallSpamDetector = OverallSpamDetectorStrategy.GetStrategyWithDefaultDetectors(serverMessages, userSafetyChecker.Object, configurationService.Object); // Act var overallSpamProbability = overallSpamDetector.GetOverallSpamProbability(request, contexts); // Assert Assert.That(overallSpamProbability, Is.EqualTo(SpamProbability.None)); }
public AntiSpamController(ServerMessagesCacheService serverMessagesCacheService, CheckUserSafetyService checkUserSafetyService, PunishmentsCachingService punishmentsCachingService, AntiSpamService antiSpamService, ConfigurationService configurationService) { this._serverMessagesCacheService = serverMessagesCacheService; this._punishmentsCachingService = punishmentsCachingService; this._antiSpamService = antiSpamService; this._overallSpamDetector = OverallSpamDetectorStrategy.GetStrategyWithDefaultDetectors(serverMessagesCacheService, checkUserSafetyService, configurationService); this._spamPunishmentStrategy = new SpamPunishmentStrategy(punishmentsCachingService); }