feat(batch5): implement jetstream error constructors group07
This commit is contained in:
@@ -792,6 +792,134 @@ public static partial class JsApiErrors
|
||||
return Clone(MirrorOverlappingSubjectFilters);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMirrorWithAtomicPublishError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MirrorWithAtomicPublish);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMirrorWithCountersError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MirrorWithCounters);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMirrorWithFirstSeqError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MirrorWithFirstSeq);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMirrorWithMsgSchedulesError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MirrorWithMsgSchedules);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMirrorWithSourcesError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MirrorWithSources);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMirrorWithStartSeqAndTimeError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MirrorWithStartSeqAndTime);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMirrorWithSubjectFiltersError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MirrorWithSubjectFilters);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMirrorWithSubjectsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MirrorWithSubjects);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSNoAccountError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(NoAccount);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSNoLimitsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(NoLimits);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSNoMessageFoundError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(NoMessageFound);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSNotEmptyRequestError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(NotEmptyRequest);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSNotEnabledError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(NotEnabled);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSNotEnabledForAccountError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(NotEnabledForAccount);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSReplicasCountCannotBeNegativeError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ReplicasCountCannotBeNegative);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSRequiredApiLevelError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(RequiredApiLevel);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
@@ -944,4 +1072,20 @@ public static partial class JsApiErrors
|
||||
return NewWithTags(MirrorInvalidTransformDestination, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSPedanticError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(Pedantic, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSRaftGeneralError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(RaftGeneralErr, "{err}", err);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -201,4 +201,37 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
|
||||
fromOverride.Description.ShouldBe(expected.Description);
|
||||
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConstructorSurface_Group07()
|
||||
{
|
||||
JsApiErrors.NewJSMirrorWithAtomicPublishError().ErrCode.ShouldBe(JsApiErrors.MirrorWithAtomicPublish.ErrCode);
|
||||
JsApiErrors.NewJSMirrorWithCountersError().ErrCode.ShouldBe(JsApiErrors.MirrorWithCounters.ErrCode);
|
||||
JsApiErrors.NewJSMirrorWithFirstSeqError().ErrCode.ShouldBe(JsApiErrors.MirrorWithFirstSeq.ErrCode);
|
||||
JsApiErrors.NewJSMirrorWithMsgSchedulesError().ErrCode.ShouldBe(JsApiErrors.MirrorWithMsgSchedules.ErrCode);
|
||||
JsApiErrors.NewJSMirrorWithSourcesError().ErrCode.ShouldBe(JsApiErrors.MirrorWithSources.ErrCode);
|
||||
JsApiErrors.NewJSMirrorWithStartSeqAndTimeError().ErrCode.ShouldBe(JsApiErrors.MirrorWithStartSeqAndTime.ErrCode);
|
||||
JsApiErrors.NewJSMirrorWithSubjectFiltersError().ErrCode.ShouldBe(JsApiErrors.MirrorWithSubjectFilters.ErrCode);
|
||||
JsApiErrors.NewJSMirrorWithSubjectsError().ErrCode.ShouldBe(JsApiErrors.MirrorWithSubjects.ErrCode);
|
||||
JsApiErrors.NewJSNoAccountError().ErrCode.ShouldBe(JsApiErrors.NoAccount.ErrCode);
|
||||
JsApiErrors.NewJSNoLimitsError().ErrCode.ShouldBe(JsApiErrors.NoLimits.ErrCode);
|
||||
JsApiErrors.NewJSNoMessageFoundError().ErrCode.ShouldBe(JsApiErrors.NoMessageFound.ErrCode);
|
||||
JsApiErrors.NewJSNotEmptyRequestError().ErrCode.ShouldBe(JsApiErrors.NotEmptyRequest.ErrCode);
|
||||
JsApiErrors.NewJSNotEnabledError().ErrCode.ShouldBe(JsApiErrors.NotEnabled.ErrCode);
|
||||
JsApiErrors.NewJSNotEnabledForAccountError().ErrCode.ShouldBe(JsApiErrors.NotEnabledForAccount.ErrCode);
|
||||
JsApiErrors.NewJSPeerRemapError().ErrCode.ShouldBe(JsApiErrors.PeerRemap.ErrCode);
|
||||
JsApiErrors.NewJSReplicasCountCannotBeNegativeError().ErrCode.ShouldBe(JsApiErrors.ReplicasCountCannotBeNegative.ErrCode);
|
||||
JsApiErrors.NewJSRequiredApiLevelError().ErrCode.ShouldBe(JsApiErrors.RequiredApiLevel.ErrCode);
|
||||
|
||||
JsApiErrors.NewJSPedanticError(new InvalidOperationException("strict")).Description.ShouldBe("pedantic mode: strict");
|
||||
JsApiErrors.NewJSRaftGeneralError(new InvalidOperationException("raft failure")).Description.ShouldBe("raft failure");
|
||||
JsApiErrors.NewJSRestoreSubscribeFailedError(new InvalidOperationException("subscribe failed"), "$JS.API.CONSUMER").Description.ShouldBe("JetStream unable to subscribe to restore snapshot $JS.API.CONSUMER: subscribe failed");
|
||||
|
||||
var expected = new JsApiError { Code = 493, ErrCode = 9096, Description = "override-7" };
|
||||
var fromOverride = JsApiErrors.NewJSNoAccountError(JsApiErrors.Unless(expected));
|
||||
fromOverride.Code.ShouldBe(expected.Code);
|
||||
fromOverride.ErrCode.ShouldBe(expected.ErrCode);
|
||||
fromOverride.Description.ShouldBe(expected.Description);
|
||||
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
|
||||
}
|
||||
}
|
||||
|
||||
BIN
porting.db
BIN
porting.db
Binary file not shown.
@@ -103,6 +103,22 @@ simple_methods=(
|
||||
"NewJSMirrorMaxMessageSizeTooBigError|MirrorMaxMessageSizeTooBig"
|
||||
"NewJSMirrorMultipleFiltersNotAllowedError|MirrorMultipleFiltersNotAllowed"
|
||||
"NewJSMirrorOverlappingSubjectFiltersError|MirrorOverlappingSubjectFilters"
|
||||
"NewJSMirrorWithAtomicPublishError|MirrorWithAtomicPublish"
|
||||
"NewJSMirrorWithCountersError|MirrorWithCounters"
|
||||
"NewJSMirrorWithFirstSeqError|MirrorWithFirstSeq"
|
||||
"NewJSMirrorWithMsgSchedulesError|MirrorWithMsgSchedules"
|
||||
"NewJSMirrorWithSourcesError|MirrorWithSources"
|
||||
"NewJSMirrorWithStartSeqAndTimeError|MirrorWithStartSeqAndTime"
|
||||
"NewJSMirrorWithSubjectFiltersError|MirrorWithSubjectFilters"
|
||||
"NewJSMirrorWithSubjectsError|MirrorWithSubjects"
|
||||
"NewJSNoAccountError|NoAccount"
|
||||
"NewJSNoLimitsError|NoLimits"
|
||||
"NewJSNoMessageFoundError|NoMessageFound"
|
||||
"NewJSNotEmptyRequestError|NotEmptyRequest"
|
||||
"NewJSNotEnabledError|NotEnabled"
|
||||
"NewJSNotEnabledForAccountError|NotEnabledForAccount"
|
||||
"NewJSReplicasCountCannotBeNegativeError|ReplicasCountCannotBeNegative"
|
||||
"NewJSRequiredApiLevelError|RequiredApiLevel"
|
||||
)
|
||||
|
||||
templated_methods=(
|
||||
@@ -125,6 +141,8 @@ templated_methods=(
|
||||
"NewJSMirrorConsumerSetupFailedError|Exception|err|MirrorConsumerSetupFailed|{err}"
|
||||
"NewJSMirrorInvalidSubjectFilterError|Exception|err|MirrorInvalidSubjectFilter|{err}"
|
||||
"NewJSMirrorInvalidTransformDestinationError|Exception|err|MirrorInvalidTransformDestination|{err}"
|
||||
"NewJSPedanticError|Exception|err|Pedantic|{err}"
|
||||
"NewJSRaftGeneralError|Exception|err|RaftGeneralErr|{err}"
|
||||
)
|
||||
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user