Ejemplo n.º 1
0
        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));
            

        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        /// <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);
            }
            
        }
Ejemplo n.º 7
0
        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();
        }
Ejemplo n.º 8
0
 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);
     }
 }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
        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            
            }
        }
Ejemplo n.º 11
0
        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);

        }
Ejemplo n.º 12
0
        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));


        }
Ejemplo n.º 13
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));
            

        }
Ejemplo n.º 14
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);
        }
Ejemplo n.º 15
0
        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"));
            

        }
Ejemplo n.º 16
0
        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, ""));

        }
Ejemplo n.º 17
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);
        }
Ejemplo n.º 18
0
		/// <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();
		}
Ejemplo n.º 19
0
        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"]);

        }
Ejemplo n.º 20
0
        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);

        }
Ejemplo n.º 21
0
        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);
        }
Ejemplo n.º 22
0
        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());
        }
Ejemplo n.º 23
0
        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));
        }
Ejemplo n.º 24
0
        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));
        }
Ejemplo n.º 25
0
        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));
        }