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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user