public void InitializebannedEmails_MissingCacheValidRecordSet_ReturnsValidObject() { var expectedEmail = "*****@*****.**"; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Throw(new Exception("cache doesn't exist")); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(true).Repeat.Once(); reader.Stub(x => x.GetString("email")).Return(expectedEmail); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.AreEqual(1, obj.GetAllBannedEmails().Count); Assert.AreEqual(expectedEmail, obj.GetAllBannedEmails()[expectedEmail].Email); diag.AssertWasNotCalled(x => x.WriteExceptionToLog(null)); }
public void Setup() { SnapshotInitialisation.ForceRestore(); ICacheManager groupsCache = new StaticCacheManager(); var g = new UserGroups(DnaMockery.CreateDatabaseReaderCreator(), DnaDiagnostics.Default, groupsCache,null, null); var b = new BannedEmails(DnaMockery.CreateDatabaseReaderCreator(), DnaDiagnostics.Default, groupsCache, null, null); }
public void StartUp() { Statistics.InitialiseIfEmpty(null,false); SnapshotInitialisation.RestoreFromSnapshot(); ICacheManager groupsCache = new StaticCacheManager(); var g = new UserGroups(DnaMockery.CreateDatabaseReaderCreator(), null, groupsCache, null, null); var p = new ProfanityFilter(DnaMockery.CreateDatabaseReaderCreator(), null, groupsCache, null, null); var b = new BannedEmails(DnaMockery.CreateDatabaseReaderCreator(), null, groupsCache, null, null); }
public void TestsSetup() { //SnapshotInitialisation.ForceRestore(); using (FullInputContext _context = new FullInputContext("")) { dnaDiagnostics = _context.dnaDiagnostics; readerCreator = new DnaDataReaderCreator(_context.DnaConfig.ConnectionString, dnaDiagnostics); } var bannedEmails = new BannedEmails(readerCreator, dnaDiagnostics, _emailCache, null, null); bannedEmails.Clear(); }
protected void Application_Start(object sender, EventArgs e) { //System.Diagnostics.Debugger.Launch(); if (ConfigurationManager.AppSettings["MaintenanceMode"] == "1") {//do nothing if in maintenance return; } Statistics.InitialiseIfEmpty(null, false); dnaDiagnostics = new DnaDiagnostics(RequestIdGenerator.GetNextRequestId(), DateTime.Now); connectionString = ConfigurationManager.ConnectionStrings["Database"].ConnectionString; readerCreator = new DnaDataReaderCreator(connectionString, dnaDiagnostics); try { emailServerAddress = ConfigurationManager.AppSettings["EmailServer"]; } catch { dnaDiagnostics.WriteWarningToLog("BBC.Dna.Services.Application_Start", "Unable to find config email server address - no emails will be sent!"); } try { fileCacheFolder = ConfigurationManager.AppSettings["FileCacheFolder"]; } catch { fileCacheFolder = Environment.GetEnvironmentVariable("Temp"); dnaDiagnostics.WriteWarningToLog("BBC.Dna.Services.Application_Start", "Unable to find config file cache folder - Defaulting to the system temp folder!"); } ICacheManager cacheManager = null; try { cacheManager = CacheFactory.GetCacheManager("Memcached"); } catch (Exception error) { dnaDiagnostics.WriteWarningToLog("BBC.Dna.Services.Application_Start", "Unable to use memcached cachemanager - falling back to static inmemory"); dnaDiagnostics.WriteExceptionToLog(error); cacheManager = new StaticCacheManager(); } siteList = new SiteList(readerCreator, dnaDiagnostics, cacheManager, null, null);//no sending signals from here var bannedEmails = new BannedEmails(readerCreator, dnaDiagnostics, cacheManager, null, null);//no sending signals from here var userGroups = new UserGroups(readerCreator, dnaDiagnostics, cacheManager, null, null);//no sending signals from here var profanityFilter = new ProfanityFilter(readerCreator, dnaDiagnostics, cacheManager, null, null);//no sending signals from here var moderationClasses = new ModerationClassListCache(readerCreator, dnaDiagnostics, cacheManager, null, null);//no sending signals from here BBC.Dna.Objects.SmileyTranslator.LoadSmileys(readerCreator); }
/// <summary> /// Constructor /// </summary> public RatingForumTests() { using (FullInputContext inputcontext = new FullInputContext("")) { _siteList = SiteList.GetSiteList(); site = _siteList.GetSite("h2g2"); _ratings = new Reviews(inputcontext.dnaDiagnostics, inputcontext.ReaderCreator, CacheFactory.GetCacheManager(), _siteList); var b = new BannedEmails(inputcontext.ReaderCreator, inputcontext.dnaDiagnostics, CacheFactory.GetCacheManager(), null, null); var g = new UserGroups(inputcontext.ReaderCreator, inputcontext.dnaDiagnostics, CacheFactory.GetCacheManager(), null, null); } }
public void Setup() { SnapshotInitialisation.ForceRestore(); var b = new BannedEmails(DnaMockery.CreateDatabaseReaderCreator(), DnaDiagnostics.Default, CacheFactory.GetCacheManager(), null, null); AddTestEmailsToDatabase(); IInputContext context = DnaMockery.CreateDatabaseInputContext(); Statistics.InitialiseIfEmpty(null,false); AppContext.BannedCookies.Clear(); }
public void StartUp() { SnapshotInitialisation.RestoreFromSnapshot(); Statistics.InitialiseIfEmpty(null, false); using (FullInputContext inputcontext = new FullInputContext("")) { var p = new ProfanityFilter(DnaMockery.CreateDatabaseReaderCreator(), null, CacheFactory.GetCacheManager(), null, null); var b = new BannedEmails(DnaMockery.CreateDatabaseReaderCreator(), null, CacheFactory.GetCacheManager(), null, null); var g = new UserGroups(DnaMockery.CreateDatabaseReaderCreator(), null, CacheFactory.GetCacheManager(), null, null); _siteList = SiteList.GetSiteList(); site = _siteList.GetSite("h2g2"); site.IsEmergencyClosed = false; _ratings = new Reviews(inputcontext.dnaDiagnostics, inputcontext.ReaderCreator, CacheFactory.GetCacheManager(), _siteList); } }
public void StartUp() { SnapshotInitialisation.ForceRestore(); Statistics.InitialiseIfEmpty(); using (FullInputContext inputcontext = new FullInputContext("")) { _siteList = SiteList.GetSiteList(); site = _siteList.GetSite("h2g2"); _comments = new Comments(inputcontext.dnaDiagnostics, inputcontext.ReaderCreator, CacheFactory.GetCacheManager(), _siteList); ICacheManager groupsCache = new StaticCacheManager(); var g = new UserGroups(DnaMockery.CreateDatabaseReaderCreator(), null, groupsCache, null, null); var p = new ProfanityFilter(DnaMockery.CreateDatabaseReaderCreator(), null, groupsCache, null, null); var b = new BannedEmails(DnaMockery.CreateDatabaseReaderCreator(), null, groupsCache, null, null); } }
public void StartUp() { SnapshotInitialisation.RestoreFromSnapshot(); Statistics.InitialiseIfEmpty(null,false); Statistics.ResetCounters(); using (FullInputContext inputcontext = new FullInputContext("")) { using (IDnaDataReader reader = inputcontext.CreateDnaDataReader("")) {//force processpremod out... reader.ExecuteDEBUGONLY("delete from siteoptions where SiteID=1 and Name='ProcessPreMod'"); } _siteList = SiteList.GetSiteList(); site = _siteList.GetSite("h2g2"); _comments = new Comments(inputcontext.dnaDiagnostics, inputcontext.ReaderCreator, CacheFactory.GetCacheManager(), _siteList); var bannedEmails = new BannedEmails(inputcontext.ReaderCreator, inputcontext.dnaDiagnostics, CacheFactory.GetCacheManager(), null, null);//no sending signals from here var userGroups = new UserGroups(inputcontext.ReaderCreator, inputcontext.dnaDiagnostics, CacheFactory.GetCacheManager(), null, null);//no sending signals from here var profanityFilter = new ProfanityFilter(inputcontext.ReaderCreator, inputcontext.dnaDiagnostics, CacheFactory.GetCacheManager(), null, null);//no sending signals from here } }
public void InitializebannedEmails_EmptyCacheValidRecordSet_ReturnsValidObject() { var expectedEmail = "*****@*****.**"; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(true).Repeat.Once(); reader.Stub(x => x.GetString("email")).Return(expectedEmail); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.AreEqual(1, obj.GetAllBannedEmails().Count); Assert.AreEqual(expectedEmail, obj.GetAllBannedEmails()[expectedEmail].Email); }
public void UpdateEmailDetails_EmailContainsNullObject_ReturnsFalse() { var testEmail = "*****@*****.**"; var emailList = new BannedEmailsList(); emailList.bannedEmailsList.Add("*****@*****.**", null); var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains(BannedEmails.GetCacheKey())).Return(true); cache.Stub(x => x.GetData(BannedEmails.GetCacheKey())).Return(emailList); cache.Stub(x => x.Contains(BannedEmails.GetCacheKey("LASTUPDATE"))).Return(true); cache.Stub(x => x.GetData(BannedEmails.GetCacheKey("LASTUPDATE"))).Return(DateTime.Now); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(false); var readerUpdate = _mocks.DynamicMock<IDnaDataReader>(); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); creator.Stub(x => x.CreateDnaDataReader("updatebannedemailsettings")).Return(readerUpdate); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.IsFalse(obj.UpdateEmailDetails(testEmail, false, false, 0)); }
public void UpdateEmailDetails_InvalidEmailInObject_ReturnsFalse() { var emailList = GetBannedEmailsList(); var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains(BannedEmails.GetCacheKey())).Return(true); cache.Stub(x => x.GetData(BannedEmails.GetCacheKey())).Return(emailList); cache.Stub(x => x.Contains(BannedEmails.GetCacheKey("LASTUPDATE"))).Return(true); cache.Stub(x => x.GetData(BannedEmails.GetCacheKey("LASTUPDATE"))).Return(DateTime.Now); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(false); var readerUpdate = _mocks.DynamicMock<IDnaDataReader>(); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); creator.Stub(x => x.CreateDnaDataReader("updatebannedemailsettings")).Return(readerUpdate); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); var testObj = (GetBannedEmailsList()).bannedEmailsList["*****@*****.**"]; Assert.IsFalse(obj.UpdateEmailDetails(testObj.Email + "notemail", !testObj.IsBannedFromSignIn, !testObj.IsBannedFromComplaints, 0)); }
public void RemoveEmailFromBannedList_EmailNotExist_NoAction() { var testEmail = "*****@*****.**"; var emailList = GetBannedEmailsList(); var itemCount = emailList.bannedEmailsList.Count; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains(BannedEmails.GetCacheKey())).Return(true); cache.Stub(x => x.GetData(BannedEmails.GetCacheKey())).Return(emailList); cache.Stub(x => x.Contains(BannedEmails.GetCacheKey("LASTUPDATE"))).Return(true); cache.Stub(x => x.GetData(BannedEmails.GetCacheKey("LASTUPDATE"))).Return(DateTime.Now); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(false).Repeat.Once(); var readerRemoveEmail = _mocks.DynamicMock<IDnaDataReader>(); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); creator.Stub(x => x.CreateDnaDataReader("RemoveBannedEMail")).Return(readerRemoveEmail); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); obj.RemoveEmailFromBannedList(testEmail); Assert.AreEqual(itemCount, obj.GetAllBannedEmails().Count); }
public void AddEmailToBannedList_InvalidEmail_NotAdded() { var testEmail = "notevalidemail"; bool isBannedFromComplaints = true; bool isBannedFromSignin = true; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(false).Repeat.Once(); var readerAddEmail = _mocks.DynamicMock<IDnaDataReader>(); readerAddEmail.Stub(x => x.Read()).Return(true).Repeat.Once(); readerAddEmail.Stub(x => x.HasRows).Return(true).Repeat.Once(); readerAddEmail.Stub(x => x.GetInt32("Duplicate")).Return(0); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); creator.Stub(x => x.CreateDnaDataReader("AddEmailToBannedList")).Return(readerAddEmail); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.IsFalse(obj.AddEmailToBannedList(testEmail, isBannedFromComplaints, isBannedFromSignin, 0, "")); var returnedEmail = obj.GetAllBannedEmails(); Assert.AreEqual(0, returnedEmail.Count); creator.AssertWasNotCalled(x => x.CreateDnaDataReader("AddEmailToBannedList")); }
public void AddEmailToBannedList_DBNotRead_CorrectlyAdds() { var testEmail = "*****@*****.**"; bool isBannedFromComplaints = true; bool isBannedFromSignin = true; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(false).Repeat.Once(); var readerAddEmail = _mocks.DynamicMock<IDnaDataReader>(); readerAddEmail.Stub(x => x.Read()).Return(false).Repeat.Once(); readerAddEmail.Stub(x => x.HasRows).Return(false).Repeat.Once(); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); creator.Stub(x => x.CreateDnaDataReader("AddEmailToBannedList")).Return(readerAddEmail); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.IsFalse(obj.AddEmailToBannedList(testEmail, isBannedFromComplaints, isBannedFromSignin, 0, "")); }
public void AddEmailToBannedList_ValidEmail_CorrectlyAdds() { var testEmail = "*****@*****.**"; bool isBannedFromComplaints = true; bool isBannedFromSignin = true; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(false).Repeat.Once(); var readerAddEmail = _mocks.DynamicMock<IDnaDataReader>(); readerAddEmail.Stub(x => x.Read()).Return(true).Repeat.Once(); readerAddEmail.Stub(x => x.HasRows).Return(true).Repeat.Once(); readerAddEmail.Stub(x => x.GetInt32("Duplicate")).Return(0); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); creator.Stub(x => x.CreateDnaDataReader("AddEMailToBannedList")).Return(readerAddEmail); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.IsTrue(obj.AddEmailToBannedList(testEmail, isBannedFromComplaints, isBannedFromSignin, 0, "")); var returnedEmail = obj.GetAllBannedEmails(); Assert.IsNotNull(returnedEmail[testEmail]); Assert.AreEqual(isBannedFromComplaints, returnedEmail[testEmail].IsBannedFromComplaints); Assert.AreEqual(isBannedFromSignin, returnedEmail[testEmail].IsBannedFromSignIn); }
/// <summary> /// Designed to be called once at application Start-up /// </summary> /// <param name="rootPath">The folder that's the root of the application</param> public static void OnDnaStartup(string rootPath) { #if DEBUG /************************************** * * * DEBUGGING FROM THE WORD GO! * * * **************************************/ // System.Diagnostics.Debugger.Launch(); #endif _appContext = new AppContext(rootPath); _dnaCacheManager = CacheFactory.GetCacheManager(); DnaDiagnostics.Initialise(TheAppContext.Config.InputLogFilePath, "DNALOG"); #if DEBUG DnaDiagnostics.WriteHeader("OnDnaStartup - DEBUG"); #else DnaDiagnostics.WriteHeader("OnDnaStartup - RELEASE"); #endif Statistics.InitialiseIfEmpty(/*TheAppContext*/); //load the smiley list SmileyTranslator.LoadSmileys(ReaderCreator); ICacheManager cacheMemcachedManager = null; try { cacheMemcachedManager = CacheFactory.GetCacheManager("Memcached"); } catch (Exception error) { DnaDiagnostics.Default.WriteWarningToLog("OnDnaStartup", "Unable to use memcached cachemanager - falling back to static inmemory"); DnaDiagnostics.Default.WriteExceptionToLog(error); cacheMemcachedManager = new StaticCacheManager(); } //new signal objects below here _appContext.TheSiteList = new SiteList(AppContext.ReaderCreator, DnaDiagnostics.Default, cacheMemcachedManager, TheAppContext._dnaConfig.RipleyServerAddresses, TheAppContext._dnaConfig.DotNetServerAddresses); var bannedEmails = new BannedEmails(AppContext.ReaderCreator, DnaDiagnostics.Default, cacheMemcachedManager, TheAppContext._dnaConfig.RipleyServerAddresses, TheAppContext._dnaConfig.DotNetServerAddresses); var userGroups = new UserGroups(AppContext.ReaderCreator, DnaDiagnostics.Default, cacheMemcachedManager, TheAppContext._dnaConfig.RipleyServerAddresses, TheAppContext._dnaConfig.DotNetServerAddresses); var profanityFilter = new ProfanityFilter(AppContext.ReaderCreator, DnaDiagnostics.Default, cacheMemcachedManager, TheAppContext._dnaConfig.RipleyServerAddresses, TheAppContext._dnaConfig.DotNetServerAddresses); var moderationClasses = new ModerationClassListCache(AppContext.ReaderCreator, DnaDiagnostics.Default, cacheMemcachedManager, TheAppContext._dnaConfig.RipleyServerAddresses, TheAppContext._dnaConfig.DotNetServerAddresses); // Setup the banned user agents list InitialiseBannedUserAgents(); }
public void GetBannedEmailsStats_GetsValidStats_ReturnsValidObject() { var expectedEmail = "*****@*****.**"; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(true).Repeat.Once(); reader.Stub(x => x.GetString("email")).Return(expectedEmail); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); var stats = obj.GetStats(typeof(BannedEmails)); Assert.IsNotNull(stats); Assert.AreEqual(typeof(BannedEmails).AssemblyQualifiedName, stats.Name); Assert.AreEqual(obj.GetObjectFromCache().bannedEmailsList.Count.ToString(), stats.Values["NumberOfBannedEmailsInList"]); }
public void HandleSignal_IncorrectCacheKey_ReturnsValidObject() { var expectedEmail = "*****@*****.**"; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(true).Repeat.Once(); reader.Stub(x => x.GetString("email")).Return(expectedEmail); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.IsFalse(obj.HandleSignal("notcachekey", null)); Assert.AreEqual(expectedEmail, obj.GetAllBannedEmails()[expectedEmail].Email); }
public void UserDoesNotGetsUDNGNameSetFromDisplayNameForNonKidsSiteUsingIDv4() { string cookie = "debugcookie"; string policy = "u16comments"; int siteID = 1; string identityUserName = TestUserAccounts.GetNormalUserAccount.UserName; string dnaUserName = "******"; string originalSiteSuffix = "OriginalSiteSuffix"; string ipAddress = "0.0.0.0"; Guid BBCUid = new Guid(); bool isKidsSite = false; bool useIdV4 = true; string useUDNG = "http://UDNG.bbc.co.uk"; ICacheManager mockedCacheManager; IDnaDiagnostics mockedDiagnostics; ISiteList mockedSiteList; IDnaDataReaderCreator mockedCreator; SetupCallingUserSenario(siteID, dnaUserName, originalSiteSuffix, isKidsSite, useIdV4, useUDNG, out mockedCacheManager, out mockedDiagnostics, out mockedSiteList, out mockedCreator); _mocks.ReplayAll(); var bannedEmails = new BannedEmails(mockedCreator, mockedDiagnostics, mockedCacheManager, new List<string>(), new List<string>()); CallingUser callingUser = new CallingUser(SignInSystem.DebugIdentity, mockedCreator, mockedDiagnostics, null, identityUserName, mockedSiteList); Assert.IsTrue(callingUser.IsUserSignedIn(cookie, policy, siteID, identityUserName, ipAddress, BBCUid)); Assert.AreNotEqual(originalSiteSuffix, callingUser.SiteSuffix); Assert.AreNotEqual(identityUserName, callingUser.SiteSuffix); }
public void GetObject_NewBannedEmailObject_ReturnsObject() { var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(false).Repeat.Once(); var readerAddEmail = _mocks.DynamicMock<IDnaDataReader>(); readerAddEmail.Stub(x => x.Read()).Return(true).Repeat.Once(); readerAddEmail.Stub(x => x.HasRows).Return(true).Repeat.Once(); readerAddEmail.Stub(x => x.GetInt32("Duplicate")).Return(1); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); creator.Stub(x => x.CreateDnaDataReader("AddEmailToBannedList")).Return(readerAddEmail); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.IsNotNull(BannedEmails.GetObject()); }
public void IsEmailInBannedFromComplaintsList_EmailNotInList_False() { var expectedEmail = "*****@*****.**"; var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Throw(new Exception("cache doesn't exist")); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Execute()).Return(null).Throw(new Exception("IDnaDataReader not there")); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.IsFalse(obj.IsEmailInBannedFromComplaintsList(expectedEmail)); }
public void InitializebannedEmails_RecordSetThrowsException_ReturnsValidObject() { var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Throw(new Exception("cache doesn't exist")); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Execute()).Return(null).Throw(new Exception("IDnaDataReader not there")); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.AreEqual(0, obj.GetAllBannedEmails().Count); diag.AssertWasNotCalled(x => x.WriteExceptionToLog(null)); }
public void IsEmailInBannedFromComplaintsList_EmailInListWithNull_CorrectResult() { var testEmail = "*****@*****.**"; var emailList = new BannedEmailsList(); emailList.bannedEmailsList.Add("*****@*****.**", null); var cache = _mocks.DynamicMock<ICacheManager>(); cache.Stub(x => x.Contains(BannedEmails.GetCacheKey())).Return(true); cache.Stub(x => x.GetData(BannedEmails.GetCacheKey())).Return(emailList); cache.Stub(x => x.Contains(BannedEmails.GetCacheKey("LASTUPDATE"))).Return(true); cache.Stub(x => x.GetData(BannedEmails.GetCacheKey("LASTUPDATE"))).Return(DateTime.Now); var reader = _mocks.DynamicMock<IDnaDataReader>(); reader.Stub(x => x.Read()).Return(false); var creator = _mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("getbannedemails")).Return(reader); var diag = _mocks.DynamicMock<IDnaDiagnostics>(); _mocks.ReplayAll(); var obj = new BannedEmails(creator, diag, cache, null, null); Assert.AreEqual(emailList.bannedEmailsList.Count, obj.GetAllBannedEmails().Count); Assert.IsFalse(obj.IsEmailInBannedFromComplaintsList(testEmail)); }