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); }
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); }