feat(batch5): implement jetstream error constructors group11
This commit is contained in:
@@ -1200,6 +1200,30 @@ public static partial class JsApiErrors
|
||||
return Clone(StreamTooManyRequests);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamWrongLastSequenceConstantError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(StreamWrongLastSequenceConstant);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSTempStorageFailedError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(TempStorageFailed);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSTemplateNameNotMatchSubjectError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(TemplateNameNotMatchSubject);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
@@ -1544,6 +1568,30 @@ public static partial class JsApiErrors
|
||||
return NewWithTags(StreamTransformInvalidSource, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamUpdateError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamUpdate, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamWrongLastMsgIDError(object? id, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamWrongLastMsgID, "{id}", id);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamWrongLastSequenceError(ulong seq, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(StreamWrongLastSequence, "{seq}", seq);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSStreamExternalApiOverlapError(object? prefix, object? subject, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
|
||||
@@ -333,4 +333,23 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
|
||||
fromOverride.Description.ShouldBe(expected.Description);
|
||||
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConstructorSurface_Group11()
|
||||
{
|
||||
JsApiErrors.NewJSStreamWrongLastSequenceConstantError().ErrCode.ShouldBe(JsApiErrors.StreamWrongLastSequenceConstant.ErrCode);
|
||||
JsApiErrors.NewJSTempStorageFailedError().ErrCode.ShouldBe(JsApiErrors.TempStorageFailed.ErrCode);
|
||||
JsApiErrors.NewJSTemplateNameNotMatchSubjectError().ErrCode.ShouldBe(JsApiErrors.TemplateNameNotMatchSubject.ErrCode);
|
||||
|
||||
JsApiErrors.NewJSStreamUpdateError(new InvalidOperationException("update failed")).Description.ShouldBe("update failed");
|
||||
JsApiErrors.NewJSStreamWrongLastMsgIDError("msg-42").Description.ShouldBe("wrong last msg ID: msg-42");
|
||||
JsApiErrors.NewJSStreamWrongLastSequenceError(42UL).Description.ShouldBe("wrong last sequence: 42");
|
||||
|
||||
var expected = new JsApiError { Code = 489, ErrCode = 9100, Description = "override-11" };
|
||||
var fromOverride = JsApiErrors.NewJSTempStorageFailedError(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.
@@ -154,6 +154,9 @@ simple_methods=(
|
||||
"NewJSStreamSubjectOverlapError|StreamSubjectOverlap"
|
||||
"NewJSStreamTemplateNotFoundError|StreamTemplateNotFound"
|
||||
"NewJSStreamTooManyRequestsError|StreamTooManyRequests"
|
||||
"NewJSStreamWrongLastSequenceConstantError|StreamWrongLastSequenceConstant"
|
||||
"NewJSTempStorageFailedError|TempStorageFailed"
|
||||
"NewJSTemplateNameNotMatchSubjectError|TemplateNameNotMatchSubject"
|
||||
)
|
||||
|
||||
templated_methods=(
|
||||
@@ -200,6 +203,9 @@ templated_methods=(
|
||||
"NewJSStreamTemplateDeleteError|Exception|err|StreamTemplateDelete|{err}"
|
||||
"NewJSStreamTransformInvalidDestinationError|Exception|err|StreamTransformInvalidDestination|{err}"
|
||||
"NewJSStreamTransformInvalidSourceError|Exception|err|StreamTransformInvalidSource|{err}"
|
||||
"NewJSStreamUpdateError|Exception|err|StreamUpdate|{err}"
|
||||
"NewJSStreamWrongLastMsgIDError|object?|id|StreamWrongLastMsgID|{id}"
|
||||
"NewJSStreamWrongLastSequenceError|ulong|seq|StreamWrongLastSequence|{seq}"
|
||||
)
|
||||
|
||||
templated_methods_two_args=(
|
||||
|
||||
Reference in New Issue
Block a user