public async Task InvalidDomainRejected() { var channel = new MockSmtpChannel(); var builder = new MockMailBuilder(); var user = new MockUserStore(false); var command = new MailCommand( channel, builder, TestHelpers.MakeSettings( "test.vaettir.net", new[] { new SmtpAcceptDomain("test.vaettir.net") }), user); command.Initialize("FROM:!!!!"); await command.ExecuteAsync(CancellationToken.None); SmtpTestHelper.AssertResponse(channel, SmtpReplyCode.InvalidArguments); Assert.Null(builder.PendingMail); }
public async Task VailToInternal() { var channel = new MockSmtpChannel(); var builder = new MockMailBuilder(); var user = new MockUserStore(true); var command = new MailCommand( channel, builder, TestHelpers.MakeSettings( "test.vaettir.net", new[] { new SmtpAcceptDomain("test.vaettir.net") }), user); command.Initialize("FROM:<>"); await command.ExecuteAsync(CancellationToken.None); SmtpTestHelper.AssertResponse(channel, SmtpReplyCode.Okay); Assert.NotNull(builder.PendingMail); Assert.Equal("", builder.PendingMail.FromPath.Mailbox); }
public async Task FromWrongMailboxRejected() { var channel = new MockSmtpChannel { AuthenticatedUser = new UserData("*****@*****.**") }; var builder = new MockMailBuilder(); var user = new MockUserStore(false); var command = new MailCommand( channel, builder, TestHelpers.MakeSettings( "test.vaettir.net", new[] { new SmtpAcceptDomain("test.vaettir.net") }), user); command.Initialize("FROM:<*****@*****.**>"); await command.ExecuteAsync(CancellationToken.None); SmtpTestHelper.AssertResponse(channel, SmtpReplyCode.MailboxUnavailable); Assert.Null(builder.PendingMail); }
public async Task VailMailWithUnknownRejected() { var channel = new MockSmtpChannel { AuthenticatedUser = new UserData("*****@*****.**") }; var builder = new MockMailBuilder(); var user = new MockUserStore(true); var command = new MailCommand( channel, builder, TestHelpers.MakeSettings( "test.vaettir.net", new[] { new SmtpAcceptDomain("test.vaettir.net") }), user); command.Initialize("FROM:<*****@*****.**> EVIL=FAIL"); await command.ExecuteAsync(CancellationToken.None); SmtpTestHelper.AssertResponse(channel, SmtpReplyCode.ParameterNotImplemented); Assert.Null(builder.PendingMail); }
public async Task VailMailAcceptedWithReturnPathRejected() { var channel = new MockSmtpChannel { AuthenticatedUser = new UserData("*****@*****.**") }; var builder = new MockMailBuilder(); var user = new MockUserStore(true); var command = new MailCommand( channel, builder, TestHelpers.MakeSettings( "test.vaettir.net", new[] { new SmtpAcceptDomain("test.vaettir.net") }), user); command.Initialize("FROM:<@other:[email protected]>"); await command.ExecuteAsync(CancellationToken.None); SmtpTestHelper.AssertResponse(channel, SmtpReplyCode.InvalidArguments); Assert.Null(builder.PendingMail); }
public async Task VailMailWithParametersAccepted() { var channel = new MockSmtpChannel { AuthenticatedUser = new UserData("*****@*****.**") }; var builder = new MockMailBuilder(); var user = new MockUserStore(true); var command = new MailCommand( channel, builder, TestHelpers.MakeSettings( "test.vaettir.net", new[] { new SmtpAcceptDomain("test.vaettir.net") }), user); command.Initialize("FROM:<*****@*****.**> BODY=7BIT"); await command.ExecuteAsync(CancellationToken.None); SmtpTestHelper.AssertResponse(channel, SmtpReplyCode.Okay); Assert.NotNull(builder.PendingMail); Assert.Equal("*****@*****.**", builder.PendingMail.FromPath.Mailbox); }
public async Task MailInProgressRejected() { var channel = new MockSmtpChannel(); var message = new SmtpMailMessage(new SmtpPath(null)); var builder = new MockMailBuilder { PendingMail = message }; var user = new MockUserStore(false); var command = new MailCommand( channel, builder, TestHelpers.MakeSettings( "test.vaettir.net", new[] { new SmtpAcceptDomain("test.vaettir.net") }), user); command.Initialize("FROM:<*****@*****.**>"); await command.ExecuteAsync(CancellationToken.None); SmtpTestHelper.AssertResponse(channel, SmtpReplyCode.BadSequence); Assert.Same(message, builder.PendingMail); }
protected void AddMockedUsers() { MockUserStore <TUser> .AddMockedUser( new TUser(new { Id = 1, UserName = "******", NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", PasswordHash = "test", EmailConfirmed = true }), new[] { new IdentityUserClaim <string>() { ClaimType = "LocalizedContentAccess", ClaimValue = "Read", } }); MockUserStore <TUser> .AddMockedUser( new TUser(new { Id = 2, UserName = "******", NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", PasswordHash = "test", EmailConfirmed = true }), new[] { new IdentityUserClaim <string>() { ClaimType = "ContentOverrideAccess", ClaimValue = "Read", } }); MockUserStore <TUser> .AddMockedUser( new TUser(new { Id = 3, UserName = "******", NormalizedUserName = "******", Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", PasswordHash = "test", EmailConfirmed = true }), new[] { new IdentityUserClaim <string>() { ClaimType = "LocalizedContentAccess", ClaimValue = "Read", }, new IdentityUserClaim <string>() { ClaimType = "AdminAccess", ClaimValue = "Standard20", } }); }