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); }
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")); }