feat(batch5): implement jetstream error constructors group09
This commit is contained in:
@@ -1008,6 +1008,118 @@ public static partial class JsApiErrors
|
||||
return Clone(StreamExpectedLastSeqPerSubjectNotReady);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamHeaderExceedsMaximumError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamHeaderExceedsMaximum);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamInfoMaxSubjectsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamInfoMaxSubjects);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamInvalidError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamInvalid);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMaxBytesRequiredError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamMaxBytesRequired);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMaxStreamBytesExceededError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamMaxStreamBytesExceeded);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMessageExceedsMaximumError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamMessageExceedsMaximum);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMinLastSeqError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamMinLastSeq);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMirrorNotUpdatableError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamMirrorNotUpdatable);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMismatchError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamMismatch);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMoveAndScaleError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamMoveAndScale);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMoveNotInProgressError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamMoveNotInProgress);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamNameContainsPathSeparatorsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamNameContainsPathSeparators);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamNameExistError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamNameExist);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamNameExistRestoreFailedError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamNameExistRestoreFailed);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
@@ -1232,6 +1344,54 @@ public static partial class JsApiErrors
|
||||
return NewWithTags(StreamDelete, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamGeneralError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamGeneralError, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamInvalidConfigError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamInvalidConfig, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamInvalidExternalDeliverySubjError(object? prefix, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamInvalidExternalDeliverySubj, "{prefix}", prefix);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamLimitsError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamLimits, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMoveInProgressError(object? msg, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamMoveInProgress, "{msg}", msg);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamMsgDeleteFailedError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamMsgDeleteFailed, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamExternalApiOverlapError(object? prefix, object? subject, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
|
||||
@@ -267,4 +267,37 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
|
||||
fromOverride.Description.ShouldBe(expected.Description);
|
||||
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConstructorSurface_Group09()
|
||||
{
|
||||
JsApiErrors.NewJSStreamHeaderExceedsMaximumError().ErrCode.ShouldBe(JsApiErrors.StreamHeaderExceedsMaximum.ErrCode);
|
||||
JsApiErrors.NewJSStreamInfoMaxSubjectsError().ErrCode.ShouldBe(JsApiErrors.StreamInfoMaxSubjects.ErrCode);
|
||||
JsApiErrors.NewJSStreamInvalidError().ErrCode.ShouldBe(JsApiErrors.StreamInvalid.ErrCode);
|
||||
JsApiErrors.NewJSStreamMaxBytesRequiredError().ErrCode.ShouldBe(JsApiErrors.StreamMaxBytesRequired.ErrCode);
|
||||
JsApiErrors.NewJSStreamMaxStreamBytesExceededError().ErrCode.ShouldBe(JsApiErrors.StreamMaxStreamBytesExceeded.ErrCode);
|
||||
JsApiErrors.NewJSStreamMessageExceedsMaximumError().ErrCode.ShouldBe(JsApiErrors.StreamMessageExceedsMaximum.ErrCode);
|
||||
JsApiErrors.NewJSStreamMinLastSeqError().ErrCode.ShouldBe(JsApiErrors.StreamMinLastSeq.ErrCode);
|
||||
JsApiErrors.NewJSStreamMirrorNotUpdatableError().ErrCode.ShouldBe(JsApiErrors.StreamMirrorNotUpdatable.ErrCode);
|
||||
JsApiErrors.NewJSStreamMismatchError().ErrCode.ShouldBe(JsApiErrors.StreamMismatch.ErrCode);
|
||||
JsApiErrors.NewJSStreamMoveAndScaleError().ErrCode.ShouldBe(JsApiErrors.StreamMoveAndScale.ErrCode);
|
||||
JsApiErrors.NewJSStreamMoveNotInProgressError().ErrCode.ShouldBe(JsApiErrors.StreamMoveNotInProgress.ErrCode);
|
||||
JsApiErrors.NewJSStreamNameContainsPathSeparatorsError().ErrCode.ShouldBe(JsApiErrors.StreamNameContainsPathSeparators.ErrCode);
|
||||
JsApiErrors.NewJSStreamNameExistError().ErrCode.ShouldBe(JsApiErrors.StreamNameExist.ErrCode);
|
||||
JsApiErrors.NewJSStreamNameExistRestoreFailedError().ErrCode.ShouldBe(JsApiErrors.StreamNameExistRestoreFailed.ErrCode);
|
||||
|
||||
JsApiErrors.NewJSStreamGeneralError(new InvalidOperationException("stream failed")).Description.ShouldBe("stream failed");
|
||||
JsApiErrors.NewJSStreamInvalidConfigError(new InvalidOperationException("invalid config")).Description.ShouldBe("invalid config");
|
||||
JsApiErrors.NewJSStreamInvalidExternalDeliverySubjError("api.*").Description.ShouldBe("stream external delivery prefix api.* must not contain wildcards");
|
||||
JsApiErrors.NewJSStreamLimitsError(new InvalidOperationException("limit error")).Description.ShouldBe("limit error");
|
||||
JsApiErrors.NewJSStreamMoveInProgressError("move-1").Description.ShouldBe("stream move already in progress: move-1");
|
||||
JsApiErrors.NewJSStreamMsgDeleteFailedError(new InvalidOperationException("delete failed")).Description.ShouldBe("delete failed");
|
||||
|
||||
var expected = new JsApiError { Code = 491, ErrCode = 9098, Description = "override-9" };
|
||||
var fromOverride = JsApiErrors.NewJSStreamHeaderExceedsMaximumError(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.
@@ -130,6 +130,20 @@ simple_methods=(
|
||||
"NewJSStreamDuplicateMessageConflictError|StreamDuplicateMessageConflict"
|
||||
"NewJSStreamExpectedLastSeqPerSubjectInvalidError|StreamExpectedLastSeqPerSubjectInvalid"
|
||||
"NewJSStreamExpectedLastSeqPerSubjectNotReadyError|StreamExpectedLastSeqPerSubjectNotReady"
|
||||
"NewJSStreamHeaderExceedsMaximumError|StreamHeaderExceedsMaximum"
|
||||
"NewJSStreamInfoMaxSubjectsError|StreamInfoMaxSubjects"
|
||||
"NewJSStreamInvalidError|StreamInvalid"
|
||||
"NewJSStreamMaxBytesRequiredError|StreamMaxBytesRequired"
|
||||
"NewJSStreamMaxStreamBytesExceededError|StreamMaxStreamBytesExceeded"
|
||||
"NewJSStreamMessageExceedsMaximumError|StreamMessageExceedsMaximum"
|
||||
"NewJSStreamMinLastSeqError|StreamMinLastSeq"
|
||||
"NewJSStreamMirrorNotUpdatableError|StreamMirrorNotUpdatable"
|
||||
"NewJSStreamMismatchError|StreamMismatch"
|
||||
"NewJSStreamMoveAndScaleError|StreamMoveAndScale"
|
||||
"NewJSStreamMoveNotInProgressError|StreamMoveNotInProgress"
|
||||
"NewJSStreamNameContainsPathSeparatorsError|StreamNameContainsPathSeparators"
|
||||
"NewJSStreamNameExistError|StreamNameExist"
|
||||
"NewJSStreamNameExistRestoreFailedError|StreamNameExistRestoreFailed"
|
||||
)
|
||||
|
||||
templated_methods=(
|
||||
@@ -161,6 +175,12 @@ templated_methods=(
|
||||
"NewJSStreamAssignmentError|Exception|err|StreamAssignment|{err}"
|
||||
"NewJSStreamCreateError|Exception|err|StreamCreate|{err}"
|
||||
"NewJSStreamDeleteError|Exception|err|StreamDelete|{err}"
|
||||
"NewJSStreamGeneralError|Exception|err|StreamGeneralError|{err}"
|
||||
"NewJSStreamInvalidConfigError|Exception|err|StreamInvalidConfig|{err}"
|
||||
"NewJSStreamInvalidExternalDeliverySubjError|object?|prefix|StreamInvalidExternalDeliverySubj|{prefix}"
|
||||
"NewJSStreamLimitsError|Exception|err|StreamLimits|{err}"
|
||||
"NewJSStreamMoveInProgressError|object?|msg|StreamMoveInProgress|{msg}"
|
||||
"NewJSStreamMsgDeleteFailedError|Exception|err|StreamMsgDeleteFailed|{err}"
|
||||
)
|
||||
|
||||
templated_methods_two_args=(
|
||||
|
||||
Reference in New Issue
Block a user