feat(batch5): implement jetstream error constructors group06

This commit is contained in:
Joseph Doherty
2026-02-28 08:43:42 -05:00
parent bc085a7da1
commit aab2814201
4 changed files with 213 additions and 0 deletions

View File

@@ -656,6 +656,142 @@ public static partial class JsApiErrors
return Clone(MemoryResourcesExceeded);
}
public static JsApiError NewJSMessageCounterBrokenError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageCounterBroken);
}
public static JsApiError NewJSMessageIncrDisabledError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageIncrDisabled);
}
public static JsApiError NewJSMessageIncrInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageIncrInvalid);
}
public static JsApiError NewJSMessageIncrMissingError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageIncrMissing);
}
public static JsApiError NewJSMessageIncrPayloadError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageIncrPayload);
}
public static JsApiError NewJSMessageSchedulesDisabledError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageSchedulesDisabled);
}
public static JsApiError NewJSMessageSchedulesPatternInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageSchedulesPatternInvalid);
}
public static JsApiError NewJSMessageSchedulesRollupInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageSchedulesRollupInvalid);
}
public static JsApiError NewJSMessageSchedulesSourceInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageSchedulesSourceInvalid);
}
public static JsApiError NewJSMessageSchedulesTTLInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageSchedulesTTLInvalid);
}
public static JsApiError NewJSMessageSchedulesTargetInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageSchedulesTargetInvalid);
}
public static JsApiError NewJSMessageTTLDisabledError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageTTLDisabled);
}
public static JsApiError NewJSMessageTTLInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MessageTTLInvalid);
}
public static JsApiError NewJSMirrorInvalidStreamNameError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorInvalidStreamName);
}
public static JsApiError NewJSMirrorMaxMessageSizeTooBigError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorMaxMessageSizeTooBig);
}
public static JsApiError NewJSMirrorMultipleFiltersNotAllowedError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorMultipleFiltersNotAllowed);
}
public static JsApiError NewJSMirrorOverlappingSubjectFiltersError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(MirrorOverlappingSubjectFilters);
}
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
@@ -784,4 +920,28 @@ public static partial class JsApiErrors
return NewWithTags(InvalidJSON, "{err}", err);
}
public static JsApiError NewJSMirrorConsumerSetupFailedError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(MirrorConsumerSetupFailed, "{err}", err);
}
public static JsApiError NewJSMirrorInvalidSubjectFilterError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(MirrorInvalidSubjectFilter, "{err}", err);
}
public static JsApiError NewJSMirrorInvalidTransformDestinationError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(MirrorInvalidTransformDestination, "{err}", err);
}
}

View File

@@ -168,4 +168,37 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
fromOverride.Description.ShouldBe(expected.Description);
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
}
[Fact]
public void ConstructorSurface_Group06()
{
JsApiErrors.NewJSMessageCounterBrokenError().ErrCode.ShouldBe(JsApiErrors.MessageCounterBroken.ErrCode);
JsApiErrors.NewJSMessageIncrDisabledError().ErrCode.ShouldBe(JsApiErrors.MessageIncrDisabled.ErrCode);
JsApiErrors.NewJSMessageIncrInvalidError().ErrCode.ShouldBe(JsApiErrors.MessageIncrInvalid.ErrCode);
JsApiErrors.NewJSMessageIncrMissingError().ErrCode.ShouldBe(JsApiErrors.MessageIncrMissing.ErrCode);
JsApiErrors.NewJSMessageIncrPayloadError().ErrCode.ShouldBe(JsApiErrors.MessageIncrPayload.ErrCode);
JsApiErrors.NewJSMessageSchedulesDisabledError().ErrCode.ShouldBe(JsApiErrors.MessageSchedulesDisabled.ErrCode);
JsApiErrors.NewJSMessageSchedulesPatternInvalidError().ErrCode.ShouldBe(JsApiErrors.MessageSchedulesPatternInvalid.ErrCode);
JsApiErrors.NewJSMessageSchedulesRollupInvalidError().ErrCode.ShouldBe(JsApiErrors.MessageSchedulesRollupInvalid.ErrCode);
JsApiErrors.NewJSMessageSchedulesSourceInvalidError().ErrCode.ShouldBe(JsApiErrors.MessageSchedulesSourceInvalid.ErrCode);
JsApiErrors.NewJSMessageSchedulesTTLInvalidError().ErrCode.ShouldBe(JsApiErrors.MessageSchedulesTTLInvalid.ErrCode);
JsApiErrors.NewJSMessageSchedulesTargetInvalidError().ErrCode.ShouldBe(JsApiErrors.MessageSchedulesTargetInvalid.ErrCode);
JsApiErrors.NewJSMessageTTLDisabledError().ErrCode.ShouldBe(JsApiErrors.MessageTTLDisabled.ErrCode);
JsApiErrors.NewJSMessageTTLInvalidError().ErrCode.ShouldBe(JsApiErrors.MessageTTLInvalid.ErrCode);
JsApiErrors.NewJSMirrorInvalidStreamNameError().ErrCode.ShouldBe(JsApiErrors.MirrorInvalidStreamName.ErrCode);
JsApiErrors.NewJSMirrorMaxMessageSizeTooBigError().ErrCode.ShouldBe(JsApiErrors.MirrorMaxMessageSizeTooBig.ErrCode);
JsApiErrors.NewJSMirrorMultipleFiltersNotAllowedError().ErrCode.ShouldBe(JsApiErrors.MirrorMultipleFiltersNotAllowed.ErrCode);
JsApiErrors.NewJSMirrorOverlappingSubjectFiltersError().ErrCode.ShouldBe(JsApiErrors.MirrorOverlappingSubjectFilters.ErrCode);
JsApiErrors.NewJSMirrorConsumerSetupFailedError(new InvalidOperationException("setup failed")).Description.ShouldBe("setup failed");
JsApiErrors.NewJSMirrorInvalidSubjectFilterError(new InvalidOperationException("invalid source")).Description.ShouldBe("mirror transform source: invalid source");
JsApiErrors.NewJSMirrorInvalidTransformDestinationError(new InvalidOperationException("invalid destination")).Description.ShouldBe("mirror transform: invalid destination");
var expected = new JsApiError { Code = 494, ErrCode = 9095, Description = "override-6" };
var fromOverride = JsApiErrors.NewJSMessageCounterBrokenError(JsApiErrors.Unless(expected));
fromOverride.Code.ShouldBe(expected.Code);
fromOverride.ErrCode.ShouldBe(expected.ErrCode);
fromOverride.Description.ShouldBe(expected.Description);
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
}
}

Binary file not shown.

View File

@@ -86,6 +86,23 @@ simple_methods=(
"NewJSMaximumConsumersLimitError|MaximumConsumersLimit"
"NewJSMaximumStreamsLimitError|MaximumStreamsLimit"
"NewJSMemoryResourcesExceededError|MemoryResourcesExceeded"
"NewJSMessageCounterBrokenError|MessageCounterBroken"
"NewJSMessageIncrDisabledError|MessageIncrDisabled"
"NewJSMessageIncrInvalidError|MessageIncrInvalid"
"NewJSMessageIncrMissingError|MessageIncrMissing"
"NewJSMessageIncrPayloadError|MessageIncrPayload"
"NewJSMessageSchedulesDisabledError|MessageSchedulesDisabled"
"NewJSMessageSchedulesPatternInvalidError|MessageSchedulesPatternInvalid"
"NewJSMessageSchedulesRollupInvalidError|MessageSchedulesRollupInvalid"
"NewJSMessageSchedulesSourceInvalidError|MessageSchedulesSourceInvalid"
"NewJSMessageSchedulesTTLInvalidError|MessageSchedulesTTLInvalid"
"NewJSMessageSchedulesTargetInvalidError|MessageSchedulesTargetInvalid"
"NewJSMessageTTLDisabledError|MessageTTLDisabled"
"NewJSMessageTTLInvalidError|MessageTTLInvalid"
"NewJSMirrorInvalidStreamNameError|MirrorInvalidStreamName"
"NewJSMirrorMaxMessageSizeTooBigError|MirrorMaxMessageSizeTooBig"
"NewJSMirrorMultipleFiltersNotAllowedError|MirrorMultipleFiltersNotAllowed"
"NewJSMirrorOverlappingSubjectFiltersError|MirrorOverlappingSubjectFilters"
)
templated_methods=(
@@ -105,6 +122,9 @@ templated_methods=(
"NewJSConsumerOfflineReasonError|Exception|err|ConsumerOfflineReason|{err}"
"NewJSConsumerStoreFailedError|Exception|err|ConsumerStoreFailed|{err}"
"NewJSInvalidJSONError|Exception|err|InvalidJSON|{err}"
"NewJSMirrorConsumerSetupFailedError|Exception|err|MirrorConsumerSetupFailed|{err}"
"NewJSMirrorInvalidSubjectFilterError|Exception|err|MirrorInvalidSubjectFilter|{err}"
"NewJSMirrorInvalidTransformDestinationError|Exception|err|MirrorInvalidTransformDestination|{err}"
)
{