Пример #1
0
        public async Task PublishAsync_Message_GetsPublished()
        {
            // arrange
            var autoMocker = new AutoMocker();
            var busControl = autoMocker.GetMock <IBusControl>();
            var logger     = autoMocker.GetMock <IAppLogger <AppServiceBus> >();
            var sut        = autoMocker.CreateInstance <AppServiceBus>();
            var request    = new CreateTestStudent();
            var cts        = new CancellationTokenSource();

            // act
            await sut.PublishAsync(request, cts.Token);

            // assert
            logger.Verify(l => l.Debug($"Publishing message of type - {request.GetType().Name} ..."));
            logger.Verify(l => l.Debug("Message published"));
            // todo: fix this verification
            //busControl.Verify(m => m.Publish(request, cts.Token));
        }
        public async Task Consume_ValidRequestObject_GetsConsumed()
        {
            // arrange
            var autoMocker      = new AutoMocker();
            var sut             = autoMocker.CreateInstance <BoltOnMassTransitConsumer <CreateTestStudent> >();
            var mediator        = autoMocker.GetMock <IMediator>();
            var logger          = autoMocker.GetMock <IBoltOnLogger <BoltOnMassTransitConsumer <CreateTestStudent> > >();
            var consumerContext = new Mock <ConsumeContext <CreateTestStudent> >();
            var request         = new CreateTestStudent();

            consumerContext.Setup(c => c.Message).Returns(request);

            // act
            await sut.Consume(consumerContext.Object);

            // assert
            logger.Verify(l => l.Debug($"Message of type {request.GetType().Name} consumer. " +
                                       "Sending to mediator..."));
            logger.Verify(l => l.Debug("Message sent to Mediator"));
            mediator.Verify(m => m.ProcessAsync(request, It.IsAny <CancellationToken>()));
        }