public async Task StartAsync_CreateSpanWithoutReference_NewSpanIsCreated()
        {
            var consumer  = new InMemoryConsumer <string>();
            var publisher = new InMemoryPublisher <string>();

            using var host = GetReverseStringService(consumer, publisher);
            await host.StartAsync();

            await ConsumeMessage(consumer, "test");

            Assert.Single(publisher.Events);
            var ctx = publisher.Events.First().GetActivityContext();

            Assert.NotEqual(default, ctx.TraceId);
        StartAsync_SetupAndStartReverseStringServiceAndPublishMessageIntoServiceQueue_MessageInDestinationQueueIsReversed()
        {
            var consumer  = new InMemoryConsumer <string>();
            var publisher = new InMemoryPublisher <string>();

            using var host = GetReverseStringService(consumer, publisher);

            var message = "12345";

            await host.StartAsync();

            await ConsumeMessage(consumer, message);

            var actual = Encoding.UTF8.GetString(publisher.Events.First().TypedData);

            Assert.Equal("54321", actual);
            await host.StopAsync();
        }
        public async Task StartAsync_CreateCustomExtension_ExtensionIsPassedThrough()
        {
            var consumer  = new InMemoryConsumer <string>();
            var publisher = new InMemoryPublisher <string>();

            using var host = GetReverseStringService(consumer, publisher);

            await host.StartAsync();

            var motorCloudEvent = MotorCloudEvent.CreateTestCloudEvent(Array.Empty <byte>());

            motorCloudEvent.SetSomeCustomExtension(DateTimeOffset.MaxValue);

            await consumer.AddMessage(motorCloudEvent);

            var receivedCloudEvent = publisher.Events.First();

            Assert.Equal(DateTimeOffset.MaxValue, receivedCloudEvent.GetSomeCustomExtension());
            await host.StopAsync();
        }
        public async Task StartAsync_CreateSpanAsReference_ContextIsReferenced()
        {
            var consumer  = new InMemoryConsumer <string>();
            var publisher = new InMemoryPublisher <string>();

            using var host = GetReverseStringService(consumer, publisher);

            await host.StartAsync();

            var randomActivity  = CreateRandomActivity();
            var motorCloudEvent = MotorCloudEvent.CreateTestCloudEvent(Array.Empty <byte>());

            motorCloudEvent.SetActivity(randomActivity);
            await consumer.AddMessage(motorCloudEvent);

            var ctx = publisher.Events.First().GetActivityContext();

            Assert.Equal(randomActivity.Context.TraceId, ctx.TraceId);
            Assert.NotEqual(randomActivity.Context.SpanId, ctx.SpanId);
            await host.StopAsync();
        }
示例#5
0
 public static void AddInMemory <T>(this IConsumerBuilder <T> builder, InMemoryConsumer <T> consumer) where T : notnull
 {
     builder.AddConsumer <IMessageConsumer <T> >(_ => consumer);
 }