public void ProecessMailTest() { var mockRepository = new MockRepository(); var message = new MailMessage("*****@*****.**", "*****@*****.**", "TESTCATEGORY", "KEY: mailClientSecretKey\nKEY1: VALUE1\nKEY2: VALUE2\n\nTESTBODY", null); var expectedCategory = "TESTCATEGORY"; var expectedFrom = "*****@*****.**"; var expectedTo = "*****@*****.**"; var expectedBody = "TESTBODY"; var expectedAttributes = new Dictionary <string, string> { { "KEY", "mailClientSecretKey" }, { "KEY1", "VALUE1" }, { "KEY2", "VALUE2" } }; var mailClientMock = mockRepository.StrictMock <IMailService>(); mailClientMock.Expect(m => m.Connect()); mailClientMock.Expect(m => m.HasMessages).Return(true); mailClientMock.Expect(m => m.FetchNext()).Return(message); mailClientMock.Expect(m => m.HasMessages).Return(false); mailClientMock.Expect(m => m.Disconnect()); var messageProcessorMock = mockRepository.StrictMock <IMessageProcessor>(); messageProcessorMock.Expect(m => m.SupportedMessageCategory).Return("TESTCATEGORY"); messageProcessorMock.Expect(m => m.ProcessMessage(null)).IgnoreArguments() .WhenCalled(m => VerifyParsedMessage((ParsedMessage)m.Arguments[0], expectedCategory, expectedFrom, expectedTo, expectedBody, expectedAttributes)); mockRepository.ReplayAll(); var mailClientTask = new MailClientTask(mailClientMock, new [] { messageProcessorMock }); mailClientTask.Execute(); mockRepository.VerifyAll(); }
public void IgnoreSpamMailTest() { var mockRepository = new MockRepository(); var message = new MailMessage("*****@*****.**", "*****@*****.**", string.Format("V1@GR4"), "Body", null); var mailClientMock = mockRepository.StrictMock <IMailService>(); mailClientMock.Expect(m => m.Connect()); mailClientMock.Expect(m => m.HasMessages).Return(true); mailClientMock.Expect(m => m.FetchNext()).Return(message); mailClientMock.Expect(m => m.HasMessages).Return(false); mailClientMock.Expect(m => m.Disconnect()); var messageProcessorMock = mockRepository.StrictMock <IMessageProcessor>(); messageProcessorMock.Expect(m => m.SupportedMessageCategory).Return("TESTCATEGORY"); mockRepository.ReplayAll(); var mailClientTask = new MailClientTask(mailClientMock, new[] { messageProcessorMock }); mailClientTask.Execute(); mockRepository.VerifyAll(); }
public void ProecessMultipleMailsTest() { var mockRepository = new MockRepository(); var message1 = new MailMessage("*****@*****.**", "*****@*****.**", "TESTCATEGORY1", "KEY: mailClientSecretKey\nKEY1: VALUE1\nKEY2: VALUE2\n\nTESTBODY1", null); var expectedCategory1 = "TESTCATEGORY1"; var expectedFrom1 = "*****@*****.**"; var expectedTo1 = "*****@*****.**"; var expectedBody1 = "TESTBODY1"; var expectedAttributes1 = new Dictionary <string, string> { { "KEY", "mailClientSecretKey" }, { "KEY1", "VALUE1" }, { "KEY2", "VALUE2" } }; var message2 = new MailMessage("*****@*****.**", "*****@*****.**", "TESTCATEGORY2", "KEY: mailClientSecretKey\nKEY3: VALUE3\nKEY4: VALUE4\n\nTESTBODY2", null); var expectedCategory2 = "TESTCATEGORY2"; var expectedFrom2 = "*****@*****.**"; var expectedTo2 = "*****@*****.**"; var expectedBody2 = "TESTBODY2"; var expectedAttributes2 = new Dictionary <string, string> { { "KEY", "mailClientSecretKey" }, { "KEY3", "VALUE3" }, { "KEY4", "VALUE4" } }; var mailClientMock = mockRepository.StrictMock <IMailService>(); mailClientMock.Expect(m => m.Connect()); mailClientMock.Expect(m => m.HasMessages).Return(true); mailClientMock.Expect(m => m.FetchNext()).Return(message1); mailClientMock.Expect(m => m.HasMessages).Return(true); mailClientMock.Expect(m => m.FetchNext()).Return(message2); mailClientMock.Expect(m => m.HasMessages).Return(false); mailClientMock.Expect(m => m.Disconnect()); var messageProcessorMock1 = mockRepository.StrictMock <IMessageProcessor>(); messageProcessorMock1.Expect(m => m.SupportedMessageCategory).Return("TESTCATEGORY1"); messageProcessorMock1.Expect(m => m.ProcessMessage(null)).IgnoreArguments() .WhenCalled(m => VerifyParsedMessage((ParsedMessage)m.Arguments[0], expectedCategory1, expectedFrom1, expectedTo1, expectedBody1, expectedAttributes1)); var messageProcessorMock2 = mockRepository.StrictMock <IMessageProcessor>(); messageProcessorMock2.Expect(m => m.SupportedMessageCategory).Return("TESTCATEGORY2"); messageProcessorMock2.Expect(m => m.ProcessMessage(null)).IgnoreArguments() .WhenCalled(m => VerifyParsedMessage((ParsedMessage)m.Arguments[0], expectedCategory2, expectedFrom2, expectedTo2, expectedBody2, expectedAttributes2)); mockRepository.ReplayAll(); var mailClientTask = new MailClientTask(mailClientMock, new[] { messageProcessorMock1, messageProcessorMock2 }); mailClientTask.Execute(); mockRepository.VerifyAll(); }