public void ValidateSender_InternalSenderInternalList() { Assert.True( MailDispatcher.CheckValidSender( "*****@*****.**", _domainSettings.DistributionLists.First(dl => dl.Mailbox == "*****@*****.**"))); }
public Worker( ILogger <Worker> logger, MailDispatcher mailDispatcher) { _logger = logger; _mailDispatcher = mailDispatcher; }
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)); }
public void MailDispatcher_WhenMailListIsNull_ThrowsArgumentNullException() { // Arrange MailDispatcher dispatcher; // Act List <Mail> mails = null; dispatcher = new MailDispatcher(null); // Assert - Expected Exception }
public MainHostedService(ILogger <MainHostedService> logger, Dispatcher dispatcher, MailDispatcher mailDispatcher, ManagerMediator managerMediator, DBGrpcChannel dbGrpcChannel, DBMailQueueRepository dbMailQueueRepository) { _logger = logger; _dispatcher = dispatcher; _mailDispatcher = mailDispatcher; _managerMediator = managerMediator; _dbGrpcChannel = dbGrpcChannel; _dbMailQueueRepository = dbMailQueueRepository; }
public AgentHandler( ProtocolListener protocol, MailDispatcher dispatcher, MailTransfer transfer, AgentSettings settings, ILogger logger, CancellationToken cancellationToken) { _protocol = protocol; _dispatcher = dispatcher; _transfer = transfer; _settings = settings; _logger = logger; _cancellationToken = cancellationToken; }
private static async Task AssertMessage( string inputMessage, string expectedMessage, string inputSender, string expectedSender) { expectedMessage = expectedMessage ?? inputMessage; expectedSender = expectedSender ?? inputSender; Stream newStream = null; try { var stream = new MemoryStream(Encoding.ASCII.GetBytes( inputMessage)); var headers = await MailUtilities.ParseHeadersAsync(stream); string newSender; (newStream, newSender) = await MailDispatcher.ReplaceSenderAsync(headers, stream, inputSender, CancellationToken.None); if (inputMessage == expectedMessage && inputSender == expectedSender) { Assert.Same(stream, newStream); } else { Assert.NotSame(stream, newStream); Assert.Throws <ObjectDisposedException>(() => stream.ReadByte()); } Assert.Equal(0, newStream.Position); Assert.Equal(expectedSender, newSender); using (var reader = new StreamReader(newStream, Encoding.ASCII, false, 1024, true)) { Assert.Equal(expectedMessage, await reader.ReadToEndAsync()); } } finally { newStream.Dispose(); } }