public MailDispatcherTests(ITestOutputHelper output) { _queue = new MockMailQueue(); _transfer = new MockMailTransferQueue(); _mailbox = new MockMailboxStore(); _domainSettings = new DomainSettings( new[] { new DistributionList( "*****@*****.**", "Internal only list", new[] { "*****@*****.**" }, new[] { "*****@*****.**", "*****@*****.**" }, false, true ), new DistributionList( "*****@*****.**", "Disabled list", new[] { "*****@*****.**" }, new[] { "*****@*****.**", "*****@*****.**" } ), new DistributionList( "*****@*****.**", "External list", new[] { "*****@*****.**" }, new[] { "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" }, true, true ) }, new Dictionary <string, string> { { "*****@*****.**", "*****@*****.**" } }); AgentSettings settings = TestHelpers.MakeSettings( "example.com", new[] { new SmtpAcceptDomain("example.com") }, relayDomains: new[] { new SmtpRelayDomain("relay.example.com", "relay.example.com") }, idleDelay: 1); _dispatcher = new MailDispatcher( _queue, _mailbox, _transfer, new TestOutputLogger(output), new MockDomainResolver(_domainSettings), null, new MockVolatile <AgentSettings>(settings)); }
private static (MockMailQueue, MockMailBuilder, MockSmtpChannel, DataCommand) Prepare( string content = "", AgentSettings settings = null) { var queue = new MockMailQueue(); settings = settings ?? TestHelpers.MakeSettings(); var builder = new MockMailBuilder(); var channel = new MockSmtpChannel(); var command = new DataCommand( queue, settings, TestHelpers.GetReader(content), new ConnectionInformation("local", "remote"), builder, channel ); return(queue, builder, channel, command); }