public IncomingPhysicalMessageContextFake(GatewayIncomingBehavior.ReturnState state = null, Dictionary <string, string> headers = null) { var messageHeaders = headers ?? new Dictionary <string, string>(); Message = new IncomingMessage(Guid.NewGuid().ToString(), messageHeaders, new byte[0]); Extensions = new ContextBag(); if (state != null) { Extensions.Set(state); } }
public async Task Should_set_correct_httpTo_for_legacy_response_message() { var returnState = new GatewayIncomingBehavior.ReturnState { HttpFrom = originatingSite, }; var context = new OutgoingPhysicalMessageContextFake(returnState); var behavior = new GatewayOutgoingBehavior(); await behavior.Invoke(context, () => Task.FromResult(0)); Assert.AreEqual(originatingSite, context.Headers[Headers.HttpTo]); }
public OutgoingPhysicalMessageContextFake(GatewayIncomingBehavior.ReturnState state = null, Dictionary <string, string> headers = null) { Headers = headers ?? new Dictionary <string, string>(); if (headers == null) { Headers = new Dictionary <string, string> { [NServiceBus.Headers.CorrelationId] = Guid.NewGuid().ToString() }; } Extensions = new ContextBag(); if (state != null) { Extensions.Set(state); } }
public async Task Should_store_returninfo_for_messages_with_originatingsite() { var headers = new Dictionary <string, string> { [Headers.OriginatingSite] = originatingSite, [Headers.ReplyToAddress] = addressOfOriginatingEndpoint, [GatewayHeaders.LegacyMode] = "false" }; var state = new GatewayIncomingBehavior.ReturnState(); var context = new IncomingPhysicalMessageContextFake(state, headers); await new GatewayIncomingBehavior().Invoke(context, () => Task.FromResult(0)); Assert.AreEqual(originatingSite, state.OriginatingSite); Assert.AreEqual(addressOfOriginatingEndpoint, state.ReplyToAddress); Assert.AreEqual(false, state.LegacyMode); }
public async Task Should_set_correct_headers_for_response_messages() { var returnState = new GatewayIncomingBehavior.ReturnState { ReplyToAddress = addressOfOriginatingEndpoint, OriginatingSite = originatingSite, LegacyMode = false }; var context = new OutgoingPhysicalMessageContextFake(returnState); var behavior = new GatewayOutgoingBehavior(); await behavior.Invoke(context, () => Task.FromResult(0)); Assert.AreEqual(originatingSite, context.Headers[Headers.OriginatingSite]); Assert.AreEqual(addressOfOriginatingEndpoint, context.Headers[Headers.RouteTo]); Assert.AreEqual("False", context.Headers[GatewayHeaders.LegacyMode]); }
public async Task Should_not_override_existing_routeto_for_response_messages() { const string existingRouteTo = "existing"; var returnState = new GatewayIncomingBehavior.ReturnState { ReplyToAddress = addressOfOriginatingEndpoint, OriginatingSite = originatingSite, LegacyMode = false }; var headers = new Dictionary <string, string> { [Headers.RouteTo] = existingRouteTo, [Headers.CorrelationId] = Guid.NewGuid().ToString() }; var context = new OutgoingPhysicalMessageContextFake(returnState, headers); var behavior = new GatewayOutgoingBehavior(); await behavior.Invoke(context, () => Task.FromResult(0)); Assert.AreEqual(existingRouteTo, context.Headers[Headers.RouteTo]); }