Ejemplo n.º 1
0
        public async Task Should_connect_locally_with_test_harness_and_a_publisher()
        {
            var harness = new ActiveMqTestHarness();
            var handler = harness.Handler <PingMessage>();

            await harness.Start();

            await harness.Bus.Publish(new PingMessage());

            Assert.That(handler.Consumed.Select().Any(), Is.True);

            await harness.Stop();
        }
Ejemplo n.º 2
0
        public async Task Should_connect_locally_with_test_harness_and_a_handler()
        {
            var harness = new ActiveMqTestHarness();
            var handler = harness.Handler <PingMessage>(async context =>
            {
            });

            await harness.Start();

            await harness.InputQueueSendEndpoint.Send(new PingMessage());

            await harness.Stop();
        }
        public Task <BusTestHarness> CreateTestHarness()
        {
            var harness = new ActiveMqTestHarness
            {
                HostAddress = new Uri("activemq://localhost:61618"),
                AdminPort   = 8163,
            };

            harness.OnConfigureActiveMqBus += cfg =>
            {
                cfg.EnableArtemisCompatibility();
            };

            return(Task.FromResult <BusTestHarness>(harness));
        }
Ejemplo n.º 4
0
        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)}");
            }
        }
Ejemplo n.º 5
0
        public async Task Setup()
        {
            _harness = new ActiveMqTestHarness();
            _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());
        }
Ejemplo n.º 6
0
        public async Task Should_connect_locally_with_test_harness_and_a_publisher_happy()
        {
            var harness = new ActiveMqTestHarness();
            HandlerTestHarness <PingMessage> handler = harness.Handler <PingMessage>();

            await harness.Start();

            for (var i = 0; i < 100; i++)
            {
                await harness.Bus.Publish(new PingMessage());
            }

            var count = await handler.Consumed.SelectAsync().Count();

            Assert.That(count, Is.EqualTo(100));

            await harness.Stop().OrTimeout(s: 5);
        }
Ejemplo n.º 7
0
        public async Task Should_connect_locally_with_test_harness_and_a_publisher()
        {
            var harness  = new ActiveMqTestHarness();
            var handler  = harness.Handler <PingMessage>();
            var 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().UntilCompletedOrTimeout(5000);

            await harness.Stop();
        }