public static bool HasValue(this ExtendableOptions options) { var messageId = options.GetMessageId(); if (messageId is not null) { return(true); } if (options is SendOptions sendOptions) { if (sendOptions.GetDeliveryDate().HasValue || sendOptions.GetDeliveryDelay().HasValue) { return(true); } } var headers = options.GetHeaders(); if (headers.Any()) { return(true); } var extensions = options.GetExtensions(); if (extensions is not null) { return(ContextBagHelper.HasContent(extensions)); } return(false); }
public static void Enable(bool captureLogs = true) { if (captureLogs) { LogCapture.Initialize(); } SharedVerifySettings.ModifySerialization(settings => { settings.IgnoreMember <TestableInvokeHandlerContext>(x => x.MessageHeaders); settings.IgnoreMember <TestableInvokeHandlerContext>(x => x.Headers); settings.IgnoreMember <TestableInvokeHandlerContext>(x => x.Extensions); settings.IgnoreMember <TestableInvokeHandlerContext>(x => x.MessageId); settings.IgnoreMember <TestableInvokeHandlerContext>(x => x.MessageHandler); settings.IgnoreMember <TestableInvokeHandlerContext>(x => x.MessageBeingHandled); settings.IgnoreMember <TestableInvokeHandlerContext>(x => x.MessageMetadata); settings.IgnoreMember <IMessageProcessingContext>(x => x.ReplyToAddress); settings.IgnoreMember <TestableEndpointInstance>(x => x.EndpointStopped); settings.IgnoreMember <TestableOutgoingLogicalMessageContext>(x => x.RoutingStrategies); settings.IgnoreMember <TestableOutgoingPhysicalMessageContext>(x => x.RoutingStrategies); settings.IgnoreMember <TestableRoutingContext>(x => x.RoutingStrategies); settings.IgnoreInstance <ContextBag>(x => !ContextBagHelper.HasContent(x)); settings.IgnoreMembersWithType <IBuilder>(); settings.AddExtraSettings(serializerSettings => { var converters = serializerSettings.Converters; converters.Add(new ContextBagConverter()); converters.Add(new SendOptionsConverter()); converters.Add(new ExtendableOptionsConverter()); converters.Add(new UnsubscriptionConverter()); converters.Add(new TimeoutMessageConverter()); converters.Add(new SubscriptionConverter()); converters.Add(new OutgoingMessageConverter()); }); }); }
public static void WriteBaseMembers(JsonWriter writer, JsonSerializer serializer, ExtendableOptions options) { var messageId = options.GetMessageId(); if (messageId != null) { writer.WritePropertyName("MessageId"); serializer.Serialize(writer, messageId); } var headers = options.GetCleanedHeaders(); if (headers.Any()) { writer.WritePropertyName("Headers"); serializer.Serialize(writer, headers); } var extensions = options.GetExtensions(); if (extensions != null) { if (ContextBagHelper.HasContent(extensions)) { writer.WritePropertyName("Extensions"); serializer.Serialize(writer, extensions); } } }
public static void WriteBaseMembers(VerifyJsonWriter writer, ExtendableOptions options) { var messageId = options.GetMessageId(); writer.WriteMember(options, messageId, "MessageId"); var headers = options.GetCleanedHeaders(); writer.WriteMember(options, headers, "Headers"); var extensions = options.GetExtensions(); if (extensions is not null) { if (ContextBagHelper.HasContent(extensions)) { writer.WriteMember(options, extensions, "Extensions"); } } }