feat(batch5): implement jetstream error constructors group05
This commit is contained in:
@@ -512,6 +512,150 @@ public static partial class JsApiErrors
|
||||
return Clone(ConsumerPullNotDurable);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerPullRequiresAckError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerPullRequiresAck);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerPullWithRateLimitError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerPullWithRateLimit);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerPushMaxWaitingError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerPushMaxWaiting);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerPushWithPriorityGroupError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerPushWithPriorityGroup);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerReplacementWithDifferentNameError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerReplacementWithDifferentName);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerReplayPolicyInvalidError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerReplayPolicyInvalid);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerReplicasExceedsStreamError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerReplicasExceedsStream);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerReplicasShouldMatchStreamError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerReplicasShouldMatchStream);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerSmallHeartbeatError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerSmallHeartbeat);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerWQConsumerNotDeliverAllError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerWQConsumerNotDeliverAll);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerWQConsumerNotUniqueError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerWQConsumerNotUnique);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerWQMultipleUnfilteredError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerWQMultipleUnfiltered);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerWQRequiresExplicitAckError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerWQRequiresExplicitAck);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerWithFlowControlNeedsHeartbeatsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerWithFlowControlNeedsHeartbeats);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSInsufficientResourcesError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(InsufficientResources);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMaximumConsumersLimitError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MaximumConsumersLimit);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMaximumStreamsLimitError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MaximumStreamsLimit);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSMemoryResourcesExceededError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(MemoryResourcesExceeded);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
@@ -624,4 +768,20 @@ public static partial class JsApiErrors
|
||||
return NewWithTags(ConsumerOfflineReason, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerStoreFailedError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerStoreFailed, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSInvalidJSONError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(InvalidJSON, "{err}", err);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -135,4 +135,37 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
|
||||
fromOverride.Description.ShouldBe(expected.Description);
|
||||
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConstructorSurface_Group05()
|
||||
{
|
||||
JsApiErrors.NewJSConsumerPullRequiresAckError().ErrCode.ShouldBe(JsApiErrors.ConsumerPullRequiresAck.ErrCode);
|
||||
JsApiErrors.NewJSConsumerPullWithRateLimitError().ErrCode.ShouldBe(JsApiErrors.ConsumerPullWithRateLimit.ErrCode);
|
||||
JsApiErrors.NewJSConsumerPushMaxWaitingError().ErrCode.ShouldBe(JsApiErrors.ConsumerPushMaxWaiting.ErrCode);
|
||||
JsApiErrors.NewJSConsumerPushWithPriorityGroupError().ErrCode.ShouldBe(JsApiErrors.ConsumerPushWithPriorityGroup.ErrCode);
|
||||
JsApiErrors.NewJSConsumerReplacementWithDifferentNameError().ErrCode.ShouldBe(JsApiErrors.ConsumerReplacementWithDifferentName.ErrCode);
|
||||
JsApiErrors.NewJSConsumerReplayPolicyInvalidError().ErrCode.ShouldBe(JsApiErrors.ConsumerReplayPolicyInvalid.ErrCode);
|
||||
JsApiErrors.NewJSConsumerReplicasExceedsStreamError().ErrCode.ShouldBe(JsApiErrors.ConsumerReplicasExceedsStream.ErrCode);
|
||||
JsApiErrors.NewJSConsumerReplicasShouldMatchStreamError().ErrCode.ShouldBe(JsApiErrors.ConsumerReplicasShouldMatchStream.ErrCode);
|
||||
JsApiErrors.NewJSConsumerSmallHeartbeatError().ErrCode.ShouldBe(JsApiErrors.ConsumerSmallHeartbeat.ErrCode);
|
||||
JsApiErrors.NewJSConsumerWQConsumerNotDeliverAllError().ErrCode.ShouldBe(JsApiErrors.ConsumerWQConsumerNotDeliverAll.ErrCode);
|
||||
JsApiErrors.NewJSConsumerWQConsumerNotUniqueError().ErrCode.ShouldBe(JsApiErrors.ConsumerWQConsumerNotUnique.ErrCode);
|
||||
JsApiErrors.NewJSConsumerWQMultipleUnfilteredError().ErrCode.ShouldBe(JsApiErrors.ConsumerWQMultipleUnfiltered.ErrCode);
|
||||
JsApiErrors.NewJSConsumerWQRequiresExplicitAckError().ErrCode.ShouldBe(JsApiErrors.ConsumerWQRequiresExplicitAck.ErrCode);
|
||||
JsApiErrors.NewJSConsumerWithFlowControlNeedsHeartbeatsError().ErrCode.ShouldBe(JsApiErrors.ConsumerWithFlowControlNeedsHeartbeats.ErrCode);
|
||||
JsApiErrors.NewJSInsufficientResourcesError().ErrCode.ShouldBe(JsApiErrors.InsufficientResources.ErrCode);
|
||||
JsApiErrors.NewJSMaximumConsumersLimitError().ErrCode.ShouldBe(JsApiErrors.MaximumConsumersLimit.ErrCode);
|
||||
JsApiErrors.NewJSMaximumStreamsLimitError().ErrCode.ShouldBe(JsApiErrors.MaximumStreamsLimit.ErrCode);
|
||||
JsApiErrors.NewJSMemoryResourcesExceededError().ErrCode.ShouldBe(JsApiErrors.MemoryResourcesExceeded.ErrCode);
|
||||
|
||||
JsApiErrors.NewJSConsumerStoreFailedError(new InvalidOperationException("store failed")).Description.ShouldBe("error creating store for consumer: store failed");
|
||||
JsApiErrors.NewJSInvalidJSONError(new InvalidOperationException("malformed")).Description.ShouldBe("invalid JSON: malformed");
|
||||
|
||||
var expected = new JsApiError { Code = 495, ErrCode = 9094, Description = "override-5" };
|
||||
var fromOverride = JsApiErrors.NewJSConsumerPullRequiresAckError(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.
@@ -68,6 +68,24 @@ simple_methods=(
|
||||
"NewJSConsumerPriorityGroupWithPolicyNoneError|ConsumerPriorityGroupWithPolicyNone"
|
||||
"NewJSConsumerPriorityPolicyWithoutGroupError|ConsumerPriorityPolicyWithoutGroup"
|
||||
"NewJSConsumerPullNotDurableError|ConsumerPullNotDurable"
|
||||
"NewJSConsumerPullRequiresAckError|ConsumerPullRequiresAck"
|
||||
"NewJSConsumerPullWithRateLimitError|ConsumerPullWithRateLimit"
|
||||
"NewJSConsumerPushMaxWaitingError|ConsumerPushMaxWaiting"
|
||||
"NewJSConsumerPushWithPriorityGroupError|ConsumerPushWithPriorityGroup"
|
||||
"NewJSConsumerReplacementWithDifferentNameError|ConsumerReplacementWithDifferentName"
|
||||
"NewJSConsumerReplayPolicyInvalidError|ConsumerReplayPolicyInvalid"
|
||||
"NewJSConsumerReplicasExceedsStreamError|ConsumerReplicasExceedsStream"
|
||||
"NewJSConsumerReplicasShouldMatchStreamError|ConsumerReplicasShouldMatchStream"
|
||||
"NewJSConsumerSmallHeartbeatError|ConsumerSmallHeartbeat"
|
||||
"NewJSConsumerWQConsumerNotDeliverAllError|ConsumerWQConsumerNotDeliverAll"
|
||||
"NewJSConsumerWQConsumerNotUniqueError|ConsumerWQConsumerNotUnique"
|
||||
"NewJSConsumerWQMultipleUnfilteredError|ConsumerWQMultipleUnfiltered"
|
||||
"NewJSConsumerWQRequiresExplicitAckError|ConsumerWQRequiresExplicitAck"
|
||||
"NewJSConsumerWithFlowControlNeedsHeartbeatsError|ConsumerWithFlowControlNeedsHeartbeats"
|
||||
"NewJSInsufficientResourcesError|InsufficientResources"
|
||||
"NewJSMaximumConsumersLimitError|MaximumConsumersLimit"
|
||||
"NewJSMaximumStreamsLimitError|MaximumStreamsLimit"
|
||||
"NewJSMemoryResourcesExceededError|MemoryResourcesExceeded"
|
||||
)
|
||||
|
||||
templated_methods=(
|
||||
@@ -85,6 +103,8 @@ templated_methods=(
|
||||
"NewJSConsumerMetadataLengthError|object?|limit|ConsumerMetadataLength|{limit}"
|
||||
"NewJSConsumerNameTooLongError|object?|max|ConsumerNameTooLong|{max}"
|
||||
"NewJSConsumerOfflineReasonError|Exception|err|ConsumerOfflineReason|{err}"
|
||||
"NewJSConsumerStoreFailedError|Exception|err|ConsumerStoreFailed|{err}"
|
||||
"NewJSInvalidJSONError|Exception|err|InvalidJSON|{err}"
|
||||
)
|
||||
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user