Esempio n. 1
0
        public void ParseEmailsFromDataTo_ShouldParsToAddress()
        {
            //arrange
            var headers = new NameValueCollection();

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

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

            //assert
            result.Count.Should().Be(1);
            result[0].Should().BeOfType <MailAddress>();
            result[0].Address.Should().Be("*****@*****.**");
            result[0].DisplayName.Should().Be("To Name");
        }
        public void Run_SetsCorrectToList()
        {
            //arrange
            var readLine = "not empty string";

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

            var toAddress = new MailAddress("*****@*****.**");

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

            _clientController.Read().Returns(readLine, readLine, readLine, _mailDataSection);
            _requestCommandsConverter.ToRequestCommandCode(Arg.Any <string>()).Returns(
                RequestCommands.Hello,
                RequestCommands.RcptTo,
                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.ParseEmailsFromDataTo(Arg.Any <NameValueCollection>()).Returns(parsedFromHeaderCollection);
            _emailParser.ParseEmailFromString(readLine).Returns(toAddress);

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

            //assert
            message.To.ShouldAllBeEquivalentTo(expectedCollection);
        }