public void ShouldShallowCloneContext() { var message = new OutgoingLogicalMessage(typeof(object), new object()); var options = new SendOptions(); options.Context.Set("someKey", "someValue"); var testee = new OutgoingSendContext(message, options, new RootContext(null, null, null)); testee.Extensions.Set("someKey", "updatedValue"); testee.Extensions.Set("anotherKey", "anotherValue"); string value; string anotherValue; options.Context.TryGet("someKey", out value); Assert.AreEqual("someValue", value); Assert.IsFalse(options.Context.TryGet("anotherKey", out anotherValue)); string updatedValue; string anotherValue2; testee.Extensions.TryGet("someKey", out updatedValue); testee.Extensions.TryGet("anotherKey", out anotherValue2); Assert.AreEqual("updatedValue", updatedValue); Assert.AreEqual("anotherValue", anotherValue2); }
static IOutgoingSendContext CreateContext(SendOptions options, bool fromHandler) { var message = new MyMessage(); var context = new OutgoingSendContext(new OutgoingLogicalMessage(message.GetType(), message), options, new RootContext(null, null, null)); if (fromHandler) { context.Extensions.Set(new PendingTransportOperations()); } return context; }
static IOutgoingSendContext CreateContext(SendOptions options, bool fromHandler) { var message = new MyMessage(); var context = new OutgoingSendContext(new OutgoingLogicalMessage(message.GetType(), message), options, new RootContext(null, null, null)); if (fromHandler) { context.Extensions.Set(new PendingTransportOperations()); } return(context); }
static IOutgoingSendContext CreateContext(SendOptions options, bool fromHandler) { var message = new MyMessage(); var context = new OutgoingSendContext(new OutgoingLogicalMessage(message.GetType(), message), options.UserDefinedMessageId ?? Guid.NewGuid().ToString(), options.OutgoingHeaders, options.Context, new FakeRootContext()); if (fromHandler) { context.Extensions.Set(new PendingTransportOperations()); } return(context); }
public void ShouldShallowCloneHeaders() { var message = new OutgoingLogicalMessage(typeof(object), new object()); var options = new SendOptions(); options.SetHeader("someHeader", "someValue"); var testee = new OutgoingSendContext(message, options, new RootContext(null, null, null)); testee.Headers["someHeader"] = "updatedValue"; testee.Headers["anotherHeader"] = "anotherValue"; Assert.AreEqual("someValue", options.OutgoingHeaders["someHeader"]); Assert.IsFalse(options.OutgoingHeaders.ContainsKey("anotherHeader")); Assert.AreEqual("updatedValue", testee.Headers["someHeader"]); Assert.AreEqual("anotherValue", testee.Headers["anotherHeader"]); }