示例#1
0
        public void GivenAnySituation_WhenAskingToSend_ThenItShouldCallPostman()
        {
            // arrange
            FakePostman       fakePostman       = new FakePostman();
            ServiceBusMessage serviceBusMessage = new Privateer().Object <ServiceBusMessage>(fakePostman);

            // act
            Func <Task> func = async() => await serviceBusMessage.SendAsync();

            func.Invoke();

            // assert
            fakePostman.CallCount.Should().Be(1);
        }
示例#2
0
        public async Task GivenTopic_WhenAskingToSend_ThenItShouldCallNextStrategy()
        {
            // arrange
            FakeTopicClient    fakeTopicClient = new FakeTopicClient();
            Message            message         = new Message(Encoding.UTF8.GetBytes("{'Dammit':'Bobby!'}"));
            FakePostman        fakePostman     = new FakePostman();
            IServiceBusPostman postman         = new Privateer().Object <ServiceBusTopicPostman>(fakeTopicClient, message, fakePostman);

            // act
            async Task func() => await postman.SendAsync();

            await func();

            // assert
            fakePostman.CallCount.Should().Be(1);
        }
        public async Task GivenPostmanChainThatShouldNotAllExecute_WhenAskingToSend_ThenItShouldExecuteCorrectPostmen()
        {
            // arrange
            Privateer          privateer       = new Privateer();
            FakePostman        nextFakePostman = new FakePostman(true);
            FakePostman        fakePostman     = new FakePostman(false, nextFakePostman);
            IServiceBusPostman postman         = privateer.Object <ServiceBusPostmen>(fakePostman);

            // act
            async Task func() => await postman.SendAsync();

            await func();

            // assert
            fakePostman.CallCount.Should().Be(0);
            nextFakePostman.CallCount.Should().Be(1);
        }
        public async Task GivenEnrichedMessage_WhenAskingToSend_ThenItShouldOnlyCallQueueClient()
        {
            // arrange
            const string           messageBody     = "{'Dammit':'Bobby!','Results':'Dirty hippies.'}";
            Message                message         = new Message(Encoding.UTF8.GetBytes(messageBody));
            FakeQueueClient        fakeQueueClient = new FakeQueueClient();
            FakePostman            fakePostman     = new FakePostman();
            ServiceBusQueuePostman postman         = new Privateer().Object <ServiceBusQueuePostman>(fakeQueueClient, messageBody, message, fakePostman);

            // act
            async Task func() => await postman.SendAsync();

            await func();

            // assert
            fakeQueueClient.CallCount.Should().Be(1);
            fakePostman.CallCount.Should().Be(0);
        }