public void Run_SetsCcList()
        {
            //arrange
            var readLine = "not empty string";

            var expectedCollection = new List <MailAddress> {
                new MailAddress("*****@*****.**", "Cc Name1"), new MailAddress("*****@*****.**", "Cc Name2")
            };

            _clientController.Read().Returns(readLine, readLine, _mailDataSection);
            _requestCommandsConverter.ToRequestCommandCode(Arg.Any <string>()).Returns(RequestCommands.Hello, RequestCommands.Data, RequestCommands.Quit);
            _serverStatusCodesConverter.GetTextResponseForStatus(ResponseCodes.SrvReady, _hostName).Returns("response1");
            _serverStatusCodesConverter.GetTextResponseForStatus(ResponseCodes.SrvHelloNoTls, _hostName).Returns("response2");
            _serverStatusCodesConverter.GetTextResponseForStatus(ResponseCodes.StrtInputEndWith).Returns("response3");
            _serverStatusCodesConverter.GetTextResponseForStatus(ResponseCodes.RqstActOkCompleted).Returns("response4");

            _emailParser.ParseEmailsFromDataCc(Arg.Any <NameValueCollection>()).Returns(expectedCollection);

            //act
            var message = _clientProcessor.Run();

            //assert
            _clientController.Received(1).Write("response1");
            _clientController.Received(1).Write("response2");
            _clientController.Received(1).Write("response3");
            _clientController.Received(2).Write("response4");
            _clientController.Received(5).Write(Arg.Any <string>());
            message.CC.ShouldAllBeEquivalentTo(expectedCollection);
        }
Esempio n. 2
0
        public void ParseEmailsFromDataCc_ShouldParseCcAddress()
        {
            //arrange
            var headers = new NameValueCollection();

            headers.Add("Cc", "\"To Name\" <*****@*****.**>,\r\n\"To Name\"<*****@*****.**>, \"To \r\nName\"<*****@*****.**>");

            //act
            var result = _emailParser.ParseEmailsFromDataCc(headers);

            //assert
            result.Count.Should().Be(1);
            result[0].Should().BeOfType <MailAddress>();
            result[0].Address.Should().Be("*****@*****.**");
            result[0].DisplayName.Should().Be("To Name");
        }