public async Task when_message_passed_with_protected_setters__maps_that_to_proper_xml() { var testMessage = _fixture.Create <TestMessageWithProtectedSetters>(); var message = new Message(new Dictionary <string, string>(), testMessage); _options = new XmlSerializingOptions() { IncludeBaseTypeNamespaces = false }; var transportMessage = await Sut .Serialize(message) .ConfigureAwait(false); var result = transportMessage.Body; var resultAsString = Encoding.UTF8.GetString(result); resultAsString .Should() .Be( $"<?xml version=\"1.0\"?>" + $"<Messages xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"{new Uri(_options.DefaultNamespacePrefix) + typeof(TestMessageWithProtectedSetters).Namespace}\">" + $"<{nameof(TestMessageWithProtectedSetters)}>" + $"<GuidProp>{testMessage.GuidProp}</GuidProp>" + $"<EnumProp>{testMessage.EnumProp.ToString()}</EnumProp>" + $"<DateTimeProp>{JsonConvert.SerializeObject(testMessage.DateTimeProp).Replace("\"", "")}</DateTimeProp>" + $"</{nameof(TestMessageWithProtectedSetters)}>" + $"</Messages>" ); }
public XmlSerializerTests(ITestOutputHelper outputHelper) { _fixture = new Fixture(); _options = new XmlSerializingOptions(); _logger = new XunitLoggerProvider(outputHelper) .CreateLogger(nameof(XmlSerializerTests)); }
public async Task when_passed_message_with_base_types__maps_to_xml_object_with_base_types_in_root_container() { var testMessage = _fixture.Create <TestMessageWithBaseTypes>(); var message = new Message(new Dictionary <string, string>(), testMessage); _options = new XmlSerializingOptions(); var transportMessage = await Sut .Serialize(message) .ConfigureAwait(false); var result = transportMessage.Body; var resultAsString = Encoding.UTF8.GetString(result); resultAsString.Should() .Contain( "xmlns=\"http://tempuri.org/ReBus.Serializer.XML.UnitTests.Messages.BaseTypes\" xmlns:baseType=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.IAmImplementedInterface\" xmlns:baseType1=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.SubClass\" xmlns:baseType2=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.RootClass\"" ); }
public static XmlSerializer UseXmlSerializing( this StandardConfigurer <ISerializer> configurer, ILogger logger, XmlSerializingOptions options = null ) { if (configurer == null) { throw new ArgumentNullException(nameof(configurer)); } var instance = new XmlSerializer(options ?? new XmlSerializingOptions()); instance.WithLogging(logger); configurer.Register(r => instance); return(instance); }
public static XmlSerializer UseXmlSerializing( this StandardConfigurer <ISerializer> configurer, XmlSerializingOptions options = null ) => UseXmlSerializing(configurer, null, options);