예제 #1
0
        public void Process_BootstrapWithDefaults_InvokesAllTheInterceptorsAndReturnsSuccessfulResultForOneWayRequest()
        {
            // arrange
            MediatorTestHelper.IsClearInterceptors = false;
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddLogging();
            serviceCollection.BoltOn();
            var serviceProvider = serviceCollection.BuildServiceProvider();

            serviceProvider.TightenBolts();
            var boltOnClock = serviceProvider.GetService <IBoltOnClock>();
            var mediator    = serviceProvider.GetService <IMediator>();
            var request     = new TestOneWayRequest();

            // act
            mediator.Process(request);

            // assert
            Assert.Equal(1, request.Value);
            Assert.NotNull(MediatorTestHelper.LoggerStatements.FirstOrDefault(d => d ==
                                                                              $"StopwatchInterceptor started at {boltOnClock.Now}"));
            Assert.NotNull(MediatorTestHelper.LoggerStatements.FirstOrDefault(d => d ==
                                                                              $"StopwatchInterceptor ended at {boltOnClock.Now}. Time elapsed: 0"));
            Assert.NotNull(MediatorTestHelper.LoggerStatements.FirstOrDefault(d => d == "TestInterceptor Started"));
        }
예제 #2
0
        public async Task Process_BootstrapWithDefaults_InvokesAllTheInterceptorsAndReturnsSuccessfulResultForOneWayRequest()
        {
            // arrange
            RequestorTestHelper.IsRemoveStopwatchInterceptor = false;
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddLogging();
            serviceCollection.BoltOn(b => b.RegisterRequestorFakes());
            var serviceProvider = serviceCollection.BuildServiceProvider();

            serviceProvider.TightenBolts();
            var appClock  = serviceProvider.GetService <IAppClock>();
            var requestor = serviceProvider.GetService <IRequestor>();
            var request   = new TestOneWayRequest();

            // act
            await requestor.ProcessAsync(request);

            // assert
            Assert.Equal(1, request.Value);
            Assert.NotNull(RequestorTestHelper.LoggerStatements.FirstOrDefault(d => d ==
                                                                               $"StopwatchInterceptor started at {appClock.Now}"));
            Assert.NotNull(RequestorTestHelper.LoggerStatements.FirstOrDefault(d => d ==
                                                                               $"StopwatchInterceptor ended at {appClock.Now}. Time elapsed: 0"));
            Assert.NotNull(RequestorTestHelper.LoggerStatements.FirstOrDefault(d => d == "TestInterceptor Started"));
            Assert.NotNull(RequestorTestHelper.LoggerStatements.FirstOrDefault(d => d == "Request didn't enable transaction"));
        }
예제 #3
0
        public async Task Process_BootstrapWithDefaults_InvokesAllTheInterceptorsAndReturnsSuccessfulResultForOneWayRequest()
        {
            // arrange
            if (!MediatorTestHelper.IsIntegrationTestsEnabled)
            {
                return;
            }
            var request = new TestOneWayRequest();

            // act
            await _sut.ProcessAsync(request);

            // assert
            Assert.Equal(1, request.Value);
            Assert.NotNull(MediatorTestHelper.LoggerStatements.FirstOrDefault(d => d ==
                                                                              $"StopwatchInterceptor started at {_boltOnClock.Now}"));
            Assert.NotNull(MediatorTestHelper.LoggerStatements.FirstOrDefault(d => d ==
                                                                              $"StopwatchInterceptor ended at {_boltOnClock.Now}. Time elapsed: 0"));
            Assert.NotNull(MediatorTestHelper.LoggerStatements.FirstOrDefault(d => d == "TestInterceptor Started"));
        }