public void BadUsernameOrPassword()
        {
            var testUsername = "******";
            var testPassword = "******";

            SetResponses(testUsername, testPassword);

            ResetCounter();
            SetupTransport();
            SetupAuthProvider(false);

            SmtpSessionContext context = new SmtpSessionContext
            {
                AuthProvider = _authProvider.Object,
                Transport    = _transportMock.Object
            };

            PlainTextLoginProvider provider = new PlainTextLoginProvider();
            var result = provider.RunAsync(context).Result;

            var authresult = result as UserAuthenticationResult;

            Assert.IsNotNull(authresult);
            Assert.AreEqual(SmtpStatusCode.MAILBOX_NOT_FOUND, authresult.StatusCode);
            Assert.AreEqual(testUsername, authresult.Username);
        }
        public void InvalidAuthHandshake()
        {
            _responses = new List <string>();
            _responses.Add("Bad Response");

            ResetCounter();
            SetupTransport();

            SmtpSessionContext context = new SmtpSessionContext
            {
                Transport = _transportMock.Object
            };

            PlainTextLoginProvider provider = new PlainTextLoginProvider();
            var result = provider.RunAsync(context).Result;

            var authresult = result as UserAuthenticationResult;

            Assert.IsNotNull(authresult);
            Assert.AreEqual(SmtpStatusCode.UNKNOWN_COMMAND, authresult.StatusCode);
        }