feat(batch5): implement jetstream error constructors group04
This commit is contained in:
@@ -392,6 +392,126 @@ public static partial class JsApiErrors
|
||||
return Clone(ConsumerMaxDeliverBackoff);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMaxPendingAckPolicyRequiredError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerMaxPendingAckPolicyRequired);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMaxRequestBatchNegativeError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerMaxRequestBatchNegative);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMaxRequestExpiresTooSmallError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerMaxRequestExpiresTooSmall);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMaxWaitingNegativeError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerMaxWaitingNegative);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMultipleFiltersNotAllowedError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerMultipleFiltersNotAllowed);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerNameContainsPathSeparatorsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerNameContainsPathSeparators);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerNameExistError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerNameExist);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerNotFoundError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerNotFound);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerOfflineError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerOffline);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerOnMappedError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerOnMapped);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerOverlappingSubjectFiltersError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerOverlappingSubjectFilters);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerPinnedTTLWithoutPriorityPolicyNoneError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerPinnedTTLWithoutPriorityPolicyNone);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerPriorityGroupWithPolicyNoneError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerPriorityGroupWithPolicyNone);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerPriorityPolicyWithoutGroupError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerPriorityPolicyWithoutGroup);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerPullNotDurableError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerPullNotDurable);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
@@ -464,4 +584,44 @@ public static partial class JsApiErrors
|
||||
return NewWithTags(ConsumerInvalidSampling, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMaxPendingAckExcessError(object? limit, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerMaxPendingAckExcess, "{limit}", limit);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMaxRequestBatchExceededError(object? limit, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerMaxRequestBatchExceeded, "{limit}", limit);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMetadataLengthError(object? limit, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerMetadataLength, "{limit}", limit);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerNameTooLongError(object? max, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerNameTooLong, "{max}", max);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerOfflineReasonError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerOfflineReason, "{err}", err);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
BIN
porting.db
BIN
porting.db
Binary file not shown.
@@ -53,6 +53,21 @@ simple_methods=(
|
||||
"NewJSConsumerInvalidGroupNameError|ConsumerInvalidGroupName"
|
||||
"NewJSConsumerInvalidPriorityGroupError|ConsumerInvalidPriorityGroup"
|
||||
"NewJSConsumerMaxDeliverBackoffError|ConsumerMaxDeliverBackoff"
|
||||
"NewJSConsumerMaxPendingAckPolicyRequiredError|ConsumerMaxPendingAckPolicyRequired"
|
||||
"NewJSConsumerMaxRequestBatchNegativeError|ConsumerMaxRequestBatchNegative"
|
||||
"NewJSConsumerMaxRequestExpiresTooSmallError|ConsumerMaxRequestExpiresTooSmall"
|
||||
"NewJSConsumerMaxWaitingNegativeError|ConsumerMaxWaitingNegative"
|
||||
"NewJSConsumerMultipleFiltersNotAllowedError|ConsumerMultipleFiltersNotAllowed"
|
||||
"NewJSConsumerNameContainsPathSeparatorsError|ConsumerNameContainsPathSeparators"
|
||||
"NewJSConsumerNameExistError|ConsumerNameExist"
|
||||
"NewJSConsumerNotFoundError|ConsumerNotFound"
|
||||
"NewJSConsumerOfflineError|ConsumerOffline"
|
||||
"NewJSConsumerOnMappedError|ConsumerOnMapped"
|
||||
"NewJSConsumerOverlappingSubjectFiltersError|ConsumerOverlappingSubjectFilters"
|
||||
"NewJSConsumerPinnedTTLWithoutPriorityPolicyNoneError|ConsumerPinnedTTLWithoutPriorityPolicyNone"
|
||||
"NewJSConsumerPriorityGroupWithPolicyNoneError|ConsumerPriorityGroupWithPolicyNone"
|
||||
"NewJSConsumerPriorityPolicyWithoutGroupError|ConsumerPriorityPolicyWithoutGroup"
|
||||
"NewJSConsumerPullNotDurableError|ConsumerPullNotDurable"
|
||||
)
|
||||
|
||||
templated_methods=(
|
||||
@@ -65,6 +80,11 @@ templated_methods=(
|
||||
"NewJSConsumerInvalidPolicyError|Exception|err|ConsumerInvalidPolicy|{err}"
|
||||
"NewJSConsumerInvalidResetError|Exception|err|ConsumerInvalidReset|{err}"
|
||||
"NewJSConsumerInvalidSamplingError|Exception|err|ConsumerInvalidSampling|{err}"
|
||||
"NewJSConsumerMaxPendingAckExcessError|object?|limit|ConsumerMaxPendingAckExcess|{limit}"
|
||||
"NewJSConsumerMaxRequestBatchExceededError|object?|limit|ConsumerMaxRequestBatchExceeded|{limit}"
|
||||
"NewJSConsumerMetadataLengthError|object?|limit|ConsumerMetadataLength|{limit}"
|
||||
"NewJSConsumerNameTooLongError|object?|max|ConsumerNameTooLong|{max}"
|
||||
"NewJSConsumerOfflineReasonError|Exception|err|ConsumerOfflineReason|{err}"
|
||||
)
|
||||
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user