Example #1
0
        public async Task InvokeAsync_ArgumentNullNext()
        {
            // arrange
            var middleware = new ServiceProviderActivityMiddleware(Mock.Of <IServiceProvider>());

            // act
            ArgumentNullException ex = await Capture <ArgumentNullException>(
                () => middleware.InvokeAsync(CreateContext(null), null));

            // assert
            ex.Should().NotBeNull();
        }
Example #2
0
        public async Task InvokeAsync_NotWrapped_Continues()
        {
            // arrange
            var activity        = new TestActivity();
            var serviceProvider = new Mock <IServiceProvider>();
            DispatchMiddlewareContext context = CreateContext(activity);
            var middleware = new ServiceProviderActivityMiddleware(serviceProvider.Object);

            // act
            await middleware.InvokeAsync(context, () => Task.CompletedTask);

            // assert
            TaskActivity actual = context.GetProperty <TaskActivity>();

            actual.Should().NotBeNull();
            actual.Should().Be(activity);
            serviceProvider.Verify(m => m.GetService(It.IsAny <Type>()), Times.Never);
        }
Example #3
0
        public async Task InvokeAsync_Wrapped_SetsActivity()
        {
            // arrange
            var serviceProvider = new Mock <IServiceProvider>();

            serviceProvider.Setup(m => m.GetService(typeof(TestActivity))).Returns(new TestActivity());
            var wrapper = new WrapperActivity(new TaskActivityDescriptor(typeof(TestActivity)));
            DispatchMiddlewareContext context = CreateContext(wrapper);
            var middleware = new ServiceProviderActivityMiddleware(serviceProvider.Object);

            // act
            await middleware.InvokeAsync(context, () => Task.CompletedTask);

            // assert
            TaskActivity activity = context.GetProperty <TaskActivity>();

            activity.Should().NotBeNull();
            activity.Should().Be(wrapper.InnerActivity);
            serviceProvider.Verify(m => m.GetService(typeof(TestActivity)), Times.Once);
        }