public void when_executing_without_context_it_should_fail()
        {
            var step = new GetBrokerMetadataStep();
            // ReSharper disable once AssignNullToNotNullAttribute - it's a test against null.
            Func <Task> sut = () => step.Execute(context: null);

            sut.Should().Throw <ArgumentNullException>().Where(exception => exception.ParamName.Equals("context"));
        }
        public void when_executed_it_should_store_message_metadata_into_context()
        {
            var sut     = new GetBrokerMetadataStep();
            var context = new MessagePublishingContext
            {
                Api           = CreateEgressApi(),
                Message       = new Message1(),
                CorrelationId = ExpectedCorrelationId,
                CausationId   = ExpectedCausationId,
                MessageId     = ExpectedMessageId
            };

            sut.Execute(context);

            var expectedMetadata = new Dictionary <string, string>
            {
                { VentureApi.Headers.MessageTypeName, ExpectedMessageTypeName },
                { VentureApi.Headers.CorrelationId, ExpectedCorrelationId },
                { VentureApi.Headers.CausationId, ExpectedCausationId },
                { VentureApi.Headers.MessageId, ExpectedMessageId }
            };

            context.Metadata.Should().BeEquivalentTo(expectedMetadata, "it should store metadata with expected content");
        }