feat(batch5): implement jetstream error constructors group08

This commit is contained in:
Joseph Doherty
2026-02-28 08:51:21 -05:00
parent a587e8e347
commit b96d3ae182
4 changed files with 230 additions and 0 deletions

View File

@@ -234,4 +234,37 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
fromOverride.Description.ShouldBe(expected.Description);
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
}
[Fact]
public void ConstructorSurface_Group08()
{
JsApiErrors.NewJSSnapshotDeliverSubjectInvalidError().ErrCode.ShouldBe(JsApiErrors.SnapshotDeliverSubjectInvalid.ErrCode);
JsApiErrors.NewJSSourceDuplicateDetectedError().ErrCode.ShouldBe(JsApiErrors.SourceDuplicateDetected.ErrCode);
JsApiErrors.NewJSSourceInvalidStreamNameError().ErrCode.ShouldBe(JsApiErrors.SourceInvalidStreamName.ErrCode);
JsApiErrors.NewJSSourceMaxMessageSizeTooBigError().ErrCode.ShouldBe(JsApiErrors.SourceMaxMessageSizeTooBig.ErrCode);
JsApiErrors.NewJSSourceMultipleFiltersNotAllowedError().ErrCode.ShouldBe(JsApiErrors.SourceMultipleFiltersNotAllowed.ErrCode);
JsApiErrors.NewJSSourceOverlappingSubjectFiltersError().ErrCode.ShouldBe(JsApiErrors.SourceOverlappingSubjectFilters.ErrCode);
JsApiErrors.NewJSSourceWithMsgSchedulesError().ErrCode.ShouldBe(JsApiErrors.SourceWithMsgSchedules.ErrCode);
JsApiErrors.NewJSStorageResourcesExceededError().ErrCode.ShouldBe(JsApiErrors.StorageResourcesExceeded.ErrCode);
JsApiErrors.NewJSStreamDuplicateMessageConflictError().ErrCode.ShouldBe(JsApiErrors.StreamDuplicateMessageConflict.ErrCode);
JsApiErrors.NewJSStreamExpectedLastSeqPerSubjectInvalidError().ErrCode.ShouldBe(JsApiErrors.StreamExpectedLastSeqPerSubjectInvalid.ErrCode);
JsApiErrors.NewJSStreamExpectedLastSeqPerSubjectNotReadyError().ErrCode.ShouldBe(JsApiErrors.StreamExpectedLastSeqPerSubjectNotReady.ErrCode);
JsApiErrors.NewJSSequenceNotFoundError(9UL).Description.ShouldBe("sequence 9 not found");
JsApiErrors.NewJSSourceConsumerSetupFailedError(new InvalidOperationException("source setup failed")).Description.ShouldBe("source setup failed");
JsApiErrors.NewJSSourceInvalidSubjectFilterError(new InvalidOperationException("bad filter")).Description.ShouldBe("source transform source: bad filter");
JsApiErrors.NewJSSourceInvalidTransformDestinationError(new InvalidOperationException("bad destination")).Description.ShouldBe("source transform: bad destination");
JsApiErrors.NewJSStreamAssignmentError(new InvalidOperationException("assignment failed")).Description.ShouldBe("assignment failed");
JsApiErrors.NewJSStreamCreateError(new InvalidOperationException("create failed")).Description.ShouldBe("create failed");
JsApiErrors.NewJSStreamDeleteError(new InvalidOperationException("delete failed")).Description.ShouldBe("delete failed");
JsApiErrors.NewJSStreamExternalApiOverlapError("api", "foo").Description.ShouldBe("stream external api prefix api must not overlap with foo");
JsApiErrors.NewJSStreamExternalDelPrefixOverlapsError("dlv", "foo").Description.ShouldBe("stream external delivery prefix dlv overlaps with stream subject foo");
var expected = new JsApiError { Code = 492, ErrCode = 9097, Description = "override-8" };
var fromOverride = JsApiErrors.NewJSSnapshotDeliverSubjectInvalidError(JsApiErrors.Unless(expected));
fromOverride.Code.ShouldBe(expected.Code);
fromOverride.ErrCode.ShouldBe(expected.ErrCode);
fromOverride.Description.ShouldBe(expected.Description);
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
}
}