public async Task Should_connect_locally_with_test_harness() { var harness = new AmazonSqsTestHarness(); await harness.Start(); await harness.Stop(); }
public AmazonSqsTestFixture(AmazonSqsTestHarness harness) : base(harness) { AmazonSqsTestHarness = harness; AmazonSqsTestHarness.OnConfigureAmazonSqsHost += ConfigureAmazonSqsHost; AmazonSqsTestHarness.OnConfigureAmazonSqsBus += ConfigureAmazonSqsBus; AmazonSqsTestHarness.OnConfigureAmazonSqsReceiveEndpoint += ConfigureAmazonSqsReceiveEndpoint; }
public async Task Should_connect_locally_with_test_harness_and_publish_without_consumer() { var harness = new AmazonSqsTestHarness(); await harness.Start(); await harness.Bus.Publish(new PingMessage()); await harness.Stop(); }
public async Task Should_connect_locally_with_test_harness_and_a_handler() { var harness = new AmazonSqsTestHarness(); HandlerTestHarness <PingMessage> handler = harness.Handler <PingMessage>(async context => { }); await harness.Start(); await harness.InputQueueSendEndpoint.Send(new PingMessage()); await harness.Stop(); }
public void CreateHarness() { if (HarnessType == typeof(InMemoryTestHarness)) { Harness = new InMemoryTestHarness(); } else if (HarnessType == typeof(RabbitMqTestHarness)) { var harness = new RabbitMqTestHarness(); Harness = harness; harness.OnConfigureRabbitMqReceiveEndoint += x => x.BindMessageExchanges = Subscribe; } else if (HarnessType == typeof(ActiveMqTestHarness)) { var harness = new ActiveMqTestHarness(); Harness = harness; harness.OnConfigureActiveMqReceiveEndoint += x => x.BindMessageTopics = Subscribe; } else if (HarnessType == typeof(AzureServiceBusTestHarness)) { var serviceUri = Credentials.AzureServiceUri; var harness = new AzureServiceBusTestHarness(serviceUri, Credentials.AzureKeyName, Credentials.AzureKeyValue); Harness = harness; harness.OnConfigureServiceBusReceiveEndpoint += x => x.SubscribeMessageTopics = Subscribe; } else if (HarnessType == typeof(AmazonSqsTestHarness)) { var harness = new AmazonSqsTestHarness(Credentials.AmazonRegion, Credentials.AmazonAccessKey, Credentials.AmazonSecretKey); Harness = harness; harness.OnConfigureAmazonSqsReceiveEndpoint += x => x.SubscribeMessageTopics = Subscribe; } else { throw new ArgumentException($"Unknown test harness type: {TypeCache.GetShortName(HarnessType)}"); } }
public async Task Setup() { _harness = new AmazonSqsTestHarness(); _handler = _harness.Handler <A>(async context => { var endpoint = await context.GetSendEndpoint(context.SourceAddress); await endpoint.Send(new C()); await context.Publish(new D()); }); await _harness.Start(); await _harness.InputQueueSendEndpoint.Send(new A()); await _harness.Bus.Publish(new B()); }
public async Task Should_connect_locally_with_test_harness_and_a_publisher() { var harness = new AmazonSqsTestHarness(); HandlerTestHarness <PingMessage> handler = harness.Handler <PingMessage>(); HandlerTestHarness <PongMessage> handler2 = harness.Handler <PongMessage>(); await harness.Start(); await harness.Bus.Publish(new PingMessage()); Assert.That(handler.Consumed.Select().Any(), Is.True); // await Task.Delay(20000); await harness.Bus.Publish(new PongMessage()); Assert.That(handler2.Consumed.Select().Any(), Is.True); await harness.Stop().OrTimeout(s: 5); await harness.Stop(); }