Esempio n. 1
0
        public void TestBadSequence()
        {
            AddTransactionProperty("MailInProgress", true);

            var handler = new MAILHandler();

            handler.Initialize(Core);

            var response = handler.Execute(Transaction, "FROM:<*****@*****.**>");

            Assert.Equal(SMTPStatusCode.BadSequence, response.Code);
        }
Esempio n. 2
0
        public void TestSyntaxError(string parameters)
        {
            AddTransactionProperty("MailInProgress", false);

            var handler = new MAILHandler();

            handler.Initialize(Core);

            var response = handler.Execute(Transaction, parameters);

            Assert.Equal(SMTPStatusCode.SyntaxError, response.Code);
        }
Esempio n. 3
0
        public void TestSuccess(string email, string localPart, string domain)
        {
            AddTransactionProperty("MailInProgress", false);

            var      inProgress  = false;
            MailPath reversePath = null;

            Transaction.SetPropertyStringObjectBoolean = (name, value, _) =>
            {
                switch (name)
                {
                case "MailInProgress":
                    inProgress = (bool)value;
                    break;

                case "ReversePath":
                    reversePath = (MailPath)value;
                    break;

                default:
                    throw new InvalidOperationException("The name is invalid...");
                }
            };

            var handler = new MAILHandler();

            handler.Initialize(Core);

            var response = handler.Execute(Transaction, string.Format("FROM:<{0}>", email));

            Assert.Equal(SMTPStatusCode.Okay, response.Code);
            Assert.NotNull(reversePath);
            Assert.Equal(localPart, reversePath.LocalPart);
            Assert.Equal(domain, reversePath.Domain);
            Assert.True(inProgress);
        }