feat(batch5): implement jetstream error constructors group04

This commit is contained in:
Joseph Doherty
2026-02-28 08:36:38 -05:00
parent 802e3d6576
commit e914b468b6
4 changed files with 213 additions and 0 deletions

View File

@@ -102,4 +102,37 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
fromOverride.Description.ShouldBe(expected.Description);
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
}
[Fact]
public void ConstructorSurface_Group04()
{
JsApiErrors.NewJSConsumerMaxPendingAckPolicyRequiredError().ErrCode.ShouldBe(JsApiErrors.ConsumerMaxPendingAckPolicyRequired.ErrCode);
JsApiErrors.NewJSConsumerMaxRequestBatchNegativeError().ErrCode.ShouldBe(JsApiErrors.ConsumerMaxRequestBatchNegative.ErrCode);
JsApiErrors.NewJSConsumerMaxRequestExpiresTooSmallError().ErrCode.ShouldBe(JsApiErrors.ConsumerMaxRequestExpiresTooSmall.ErrCode);
JsApiErrors.NewJSConsumerMaxWaitingNegativeError().ErrCode.ShouldBe(JsApiErrors.ConsumerMaxWaitingNegative.ErrCode);
JsApiErrors.NewJSConsumerMultipleFiltersNotAllowedError().ErrCode.ShouldBe(JsApiErrors.ConsumerMultipleFiltersNotAllowed.ErrCode);
JsApiErrors.NewJSConsumerNameContainsPathSeparatorsError().ErrCode.ShouldBe(JsApiErrors.ConsumerNameContainsPathSeparators.ErrCode);
JsApiErrors.NewJSConsumerNameExistError().ErrCode.ShouldBe(JsApiErrors.ConsumerNameExist.ErrCode);
JsApiErrors.NewJSConsumerNotFoundError().ErrCode.ShouldBe(JsApiErrors.ConsumerNotFound.ErrCode);
JsApiErrors.NewJSConsumerOfflineError().ErrCode.ShouldBe(JsApiErrors.ConsumerOffline.ErrCode);
JsApiErrors.NewJSConsumerOnMappedError().ErrCode.ShouldBe(JsApiErrors.ConsumerOnMapped.ErrCode);
JsApiErrors.NewJSConsumerOverlappingSubjectFiltersError().ErrCode.ShouldBe(JsApiErrors.ConsumerOverlappingSubjectFilters.ErrCode);
JsApiErrors.NewJSConsumerPinnedTTLWithoutPriorityPolicyNoneError().ErrCode.ShouldBe(JsApiErrors.ConsumerPinnedTTLWithoutPriorityPolicyNone.ErrCode);
JsApiErrors.NewJSConsumerPriorityGroupWithPolicyNoneError().ErrCode.ShouldBe(JsApiErrors.ConsumerPriorityGroupWithPolicyNone.ErrCode);
JsApiErrors.NewJSConsumerPriorityPolicyWithoutGroupError().ErrCode.ShouldBe(JsApiErrors.ConsumerPriorityPolicyWithoutGroup.ErrCode);
JsApiErrors.NewJSConsumerPullNotDurableError().ErrCode.ShouldBe(JsApiErrors.ConsumerPullNotDurable.ErrCode);
JsApiErrors.NewJSConsumerMaxPendingAckExcessError(250).Description.ShouldBe("consumer max ack pending exceeds system limit of 250");
JsApiErrors.NewJSConsumerMaxRequestBatchExceededError(88).Description.ShouldBe("consumer max request batch exceeds server limit of 88");
JsApiErrors.NewJSConsumerMetadataLengthError(4096).Description.ShouldBe("consumer metadata exceeds maximum size of 4096");
JsApiErrors.NewJSConsumerNameTooLongError(33).Description.ShouldBe("consumer name is too long, maximum allowed is 33");
JsApiErrors.NewJSConsumerOfflineReasonError(new InvalidOperationException("storage unavailable")).Description.ShouldBe("consumer is offline: storage unavailable");
var expected = new JsApiError { Code = 496, ErrCode = 9093, Description = "override-4" };
var fromOverride = JsApiErrors.NewJSConsumerPullNotDurableError(JsApiErrors.Unless(expected));
fromOverride.Code.ShouldBe(expected.Code);
fromOverride.ErrCode.ShouldBe(expected.ErrCode);
fromOverride.Description.ShouldBe(expected.Description);
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
}
}