public void Should_set_transport_encoding_header(SupportedBrokeredMessageBodyTypes bodyType, string expectedHeaderValue)
        {
            // default settings
            var settings   = new DefaultConfigurationValues().Apply(new SettingsHolder());
            var extensions = new TransportExtensions <AzureServiceBusTransport>(settings);

            extensions.BrokeredMessageBodyType(bodyType);

            var converter = new DefaultBatchedOperationsToBrokeredMessagesConverter(settings);

            var bytes = Encoding.UTF8.GetBytes("Whatever");

            var batchedOperation = new BatchedOperation
            {
                Message             = new OutgoingMessage("SomeId", new Dictionary <string, string>(), bytes),
                DeliveryConstraints = new List <DeliveryConstraint>()
            };

            var brokeredMessage = converter.Convert(batchedOperation, new RoutingOptions());

            Assert.That(brokeredMessage.Properties[BrokeredMessageHeaders.TransportEncoding], Is.EqualTo(expectedHeaderValue));
        }
        /// <summary>
        /// <see cref="BrokeredMessage" /> body type used to store and retrieve messages.
        /// <remarks>Default is SupportedBrokeredMessageBodyTypes.ByteArray.</remarks>
        /// </summary>
        public static void BrokeredMessageBodyType(this TransportExtensions <AzureServiceBusTransport> transportExtensions, SupportedBrokeredMessageBodyTypes type)
        {
            var settings = transportExtensions.GetSettings();

            settings.Set(WellKnownConfigurationKeys.Serialization.BrokeredMessageBodyType, type);
        }