public void ProcessEvents_TestLogFile()
        {
            IDnaLogger logger = new DnaLogger();

            string logFile = @"Logs\BIEventProcessor\BIEventProcessor.log";
            Assert.IsFalse(File.Exists(logFile));

            BIEventProcessor bep = BIEventProcessor.CreateBIEventProcessor(logger, null, null, 1, false, false, 1);

            var evRisk = _mocks.DynamicMock<BIPostNeedsRiskAssessmentEvent>(null, null);
            var evPost = _mocks.DynamicMock<BIPostToForumEvent>(new object[] { null });

            var eventList = new List<BIEvent>() { evRisk, evPost };

            _mocks.ReplayAll();

            bep.ProcessEvents(eventList,2);

            evRisk.AssertWasCalled(x => x.Process());
            evPost.AssertWasCalled(x => x.Process());

            Assert.IsTrue(File.Exists(logFile));
            File.Copy(logFile, logFile + ".copy");  // We have to copy it in order to read it, otherwise we get a share violation
            var lines = File.ReadAllLines(logFile + ".copy");

            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines, "Category: BIEventProcessor"));
            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines, "EventId"));
            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines, "EventType"));
        }
        public void ProcessEvents_LogFiles_CorrectNames()
        {
            MockRepository mocks = new MockRepository();

            IDnaDataReaderCreator dataReaderCreator = mocks.DynamicMock<IDnaDataReaderCreator>();
            IDnaHttpClientCreator httpClientCreator = mocks.DynamicMock<IDnaHttpClientCreator>();
            IDnaDataReader dataReader = mocks.Stub<IDnaDataReader>();

            dataReaderCreator.Stub(x => x.CreateDnaDataReader("getexmoderationevents")).Return(dataReader);
            dataReader.Stub(x => x.Execute()).Return(dataReader);
            dataReader.Stub(x => x.Read()).Return(true).Repeat.Times(1);
            dataReader.Stub(x => x.Read()).Return(false);
            dataReader.Stub(x => x.GetInt32NullAsZero("modid")).Return(0);
            dataReader.Stub(x => x.GetString("notes")).Return("");
            dataReader.Stub(x => x.GetString("uri")).Return("");
            dataReader.Stub(x => x.GetDateTime("datecompleted")).Return(DateTime.Now);
            dataReader.Stub(x => x.GetInt32NullAsZero("status")).Return(0);
            dataReader.Stub(x => x.GetString("callbackuri")).Return("");

            IDnaLogger logger = new DnaLogger();

            mocks.ReplayAll();

            ExModerationProcessor exModProcessor = new ExModerationProcessor(dataReaderCreator, logger, httpClientCreator);

            exModProcessor.ProcessEvents(null);
        }
Esempio n. 3
0
        public void ProcessEvents_SingleLogFileGenerated()
        {
            string logFile = @"Logs\SnesActivityProcessor\snesactivityprocessor.log";

            Assert.IsFalse(File.Exists(logFile));

            var mocks = new MockRepository();

            var getSnesEvents = mocks.DynamicMock<IDnaDataReader>();
            getSnesEvents.Stub(x => x.GetInt32("ActivityType")).Return(19);
            var removeHandledSnesEvents = mocks.DynamicMock<IDnaDataReader>();
            removeHandledSnesEvents
                .Stub(x => x.AddParameter("eventids", ""))
                .Constraints(Is.Equal("eventids"), Is.Anything())
                .Return(removeHandledSnesEvents);

            Expect.Call(removeHandledSnesEvents.Execute()).Return(removeHandledSnesEvents);
            Expect.Call(removeHandledSnesEvents.Dispose);
            
            var dataReaderCreator = mocks.DynamicMock<IDnaDataReaderCreator>();

            IDnaLogger logger = new DnaLogger();

            var httpClientCreator = MockRepository.GenerateStub<IDnaHttpClientCreator>();
            
            var httpClient = MockRepository.GenerateStub<IDnaHttpClient>();
            httpClientCreator.Stub(x => x.CreateHttpClient()).Return(httpClient);

            StubHttpClientPostMethod(httpClient);

            using (mocks.Record())
            {
                MockCurrentRowDataReader(getSnesEvents);
                Expect.Call(dataReaderCreator.CreateDnaDataReader("removehandledsnesevents"))
                    .Return(removeHandledSnesEvents);
                Expect.Call(dataReaderCreator.CreateDnaDataReader("getsnesevents")).Return(getSnesEvents);
            }

            using (mocks.Playback())
            {
                var processor = CreateSnesActivityProcessor(dataReaderCreator, logger, httpClientCreator);
                processor.ProcessEvents(null);
            }

            Assert.IsTrue(File.Exists(logFile));

            File.Copy(logFile, logFile + ".copy");  // We have to copy it in order to read it, otherwise we get a share violation
            var lines = File.ReadAllLines(logFile + ".copy");

            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines,"Category: SnesActivityProcessor.Requests"));
            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines, "Category: SnesActivityProcessor.Responses"));
            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines, "POST Data"));
            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines, "Activity Uri"));
            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines, "Uri"));
            Assert.IsTrue(ArrayContainsLineThatStartsWith(lines, "Content"));
        }