public void When_publishing_with_user_defined_message_id_should_set_defined_id_and_header()
        {
            const string expectedMessageID = "expected message id";

            var publishPipeline = new FakePipeline <IOutgoingPublishContext>();
            var context         = CreateContext(publishPipeline);
            var publishOptions  = new PublishOptions();

            publishOptions.SetMessageId(expectedMessageID);

            MessageOperations.Publish <MyMessage>(context, m => { }, publishOptions);

            Assert.AreEqual(expectedMessageID, publishPipeline.ReceivedContext.MessageId);
            Assert.AreEqual(expectedMessageID, publishPipeline.ReceivedContext.Headers[Headers.MessageId]);
        }