public async Task When_mutator_modifies_the_body_should_update_the_body() { var behavior = new MutateOutgoingTransportMessageBehavior(hasOutgoingTransportMessageMutators: true); var context = new InterceptUpdateMessageOutgoingPhysicalMessageContext(); context.Extensions.Set(new OutgoingLogicalMessage(typeof(FakeMessage), new FakeMessage())); context.Builder.Register<IMutateOutgoingTransportMessages>(() => new MutatorWhichMutatesTheBody()); await behavior.Invoke(context, ctx => TaskEx.CompletedTask); Assert.True(context.UpdateMessageCalled); }
public async Task When_no_mutator_available_should_not_update_the_body() { var behavior = new MutateOutgoingTransportMessageBehavior(hasOutgoingTransportMessageMutators: true); var context = new InterceptUpdateMessageOutgoingPhysicalMessageContext(); context.Extensions.Set(new OutgoingLogicalMessage(typeof(FakeMessage), new FakeMessage())); context.Builder.Register(() => new IMutateOutgoingTransportMessages[] { }); await behavior.Invoke(context, ctx => TaskEx.CompletedTask); Assert.False(context.UpdateMessageCalled); }
public async Task When_mutator_modifies_the_body_should_update_the_body() { var behavior = new MutateOutgoingTransportMessageBehavior(hasOutgoingTransportMessageMutators: true); var context = new InterceptUpdateMessageOutgoingPhysicalMessageContext(); context.Extensions.Set(new OutgoingLogicalMessage(typeof(FakeMessage), new FakeMessage())); context.Builder.Register <IMutateOutgoingTransportMessages>(() => new MutatorWhichMutatesTheBody()); await behavior.Invoke(context, ctx => TaskEx.CompletedTask); Assert.True(context.UpdateMessageCalled); }
public async Task When_no_mutator_updates_the_body_should_not_update_the_body() { var behavior = new MutateOutgoingTransportMessageBehavior(new HashSet <IMutateOutgoingTransportMessages>()); var context = new InterceptUpdateMessageOutgoingPhysicalMessageContext(); context.Extensions.Set(new OutgoingLogicalMessage(typeof(FakeMessage), new FakeMessage())); context.Services.AddTransient <IMutateOutgoingTransportMessages>(sp => new MutatorWhichDoesNotMutateTheBody()); await behavior.Invoke(context, ctx => Task.CompletedTask); Assert.False(context.UpdateMessageCalled); }