feat(batch5): implement jetstream error constructors group02
This commit is contained in:
@@ -120,6 +120,150 @@ public static partial class JsApiErrors
|
||||
return Clone(ClusterPeerNotMember);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSClusterRequiredError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ClusterRequired);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSClusterServerMemberChangeInflightError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ClusterServerMemberChangeInflight);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSClusterServerNotMemberError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ClusterServerNotMember);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSClusterTagsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ClusterTags);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSClusterUnSupportFeatureError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ClusterUnSupportFeature);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerAckPolicyInvalidError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerAckPolicyInvalid);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerAckWaitNegativeError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerAckWaitNegative);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerAlreadyExistsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerAlreadyExists);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerBackOffNegativeError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerBackOffNegative);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerBadDurableNameError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerBadDurableName);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerConfigRequiredError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerConfigRequired);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerCreateDurableAndNameMismatchError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerCreateDurableAndNameMismatch);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerCreateFilterSubjectMismatchError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerCreateFilterSubjectMismatch);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDeliverCycleError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDeliverCycle);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDeliverToWildcardsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDeliverToWildcards);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDirectRequiresEphemeralError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDirectRequiresEphemeral);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDirectRequiresPushError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDirectRequiresPush);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDoesNotExistError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDoesNotExist);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
@@ -144,4 +288,20 @@ public static partial class JsApiErrors
|
||||
return NewWithTags(ClusterNoPeers, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerCreateError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerCreateErr, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDescriptionTooLongError(object? max, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerDescriptionTooLong, "{max}", max);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,4 +36,37 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
|
||||
fromOverride.Description.ShouldBe(expected.Description);
|
||||
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConstructorSurface_Group02()
|
||||
{
|
||||
JsApiErrors.NewJSClusterRequiredError().ErrCode.ShouldBe(JsApiErrors.ClusterRequired.ErrCode);
|
||||
JsApiErrors.NewJSClusterServerMemberChangeInflightError().ErrCode.ShouldBe(JsApiErrors.ClusterServerMemberChangeInflight.ErrCode);
|
||||
JsApiErrors.NewJSClusterServerNotMemberError().ErrCode.ShouldBe(JsApiErrors.ClusterServerNotMember.ErrCode);
|
||||
JsApiErrors.NewJSClusterTagsError().ErrCode.ShouldBe(JsApiErrors.ClusterTags.ErrCode);
|
||||
JsApiErrors.NewJSClusterUnSupportFeatureError().ErrCode.ShouldBe(JsApiErrors.ClusterUnSupportFeature.ErrCode);
|
||||
JsApiErrors.NewJSConsumerAckPolicyInvalidError().ErrCode.ShouldBe(JsApiErrors.ConsumerAckPolicyInvalid.ErrCode);
|
||||
JsApiErrors.NewJSConsumerAckWaitNegativeError().ErrCode.ShouldBe(JsApiErrors.ConsumerAckWaitNegative.ErrCode);
|
||||
JsApiErrors.NewJSConsumerAlreadyExistsError().ErrCode.ShouldBe(JsApiErrors.ConsumerAlreadyExists.ErrCode);
|
||||
JsApiErrors.NewJSConsumerBackOffNegativeError().ErrCode.ShouldBe(JsApiErrors.ConsumerBackOffNegative.ErrCode);
|
||||
JsApiErrors.NewJSConsumerBadDurableNameError().ErrCode.ShouldBe(JsApiErrors.ConsumerBadDurableName.ErrCode);
|
||||
JsApiErrors.NewJSConsumerConfigRequiredError().ErrCode.ShouldBe(JsApiErrors.ConsumerConfigRequired.ErrCode);
|
||||
JsApiErrors.NewJSConsumerCreateDurableAndNameMismatchError().ErrCode.ShouldBe(JsApiErrors.ConsumerCreateDurableAndNameMismatch.ErrCode);
|
||||
JsApiErrors.NewJSConsumerCreateFilterSubjectMismatchError().ErrCode.ShouldBe(JsApiErrors.ConsumerCreateFilterSubjectMismatch.ErrCode);
|
||||
JsApiErrors.NewJSConsumerDeliverCycleError().ErrCode.ShouldBe(JsApiErrors.ConsumerDeliverCycle.ErrCode);
|
||||
JsApiErrors.NewJSConsumerDeliverToWildcardsError().ErrCode.ShouldBe(JsApiErrors.ConsumerDeliverToWildcards.ErrCode);
|
||||
JsApiErrors.NewJSConsumerDirectRequiresEphemeralError().ErrCode.ShouldBe(JsApiErrors.ConsumerDirectRequiresEphemeral.ErrCode);
|
||||
JsApiErrors.NewJSConsumerDirectRequiresPushError().ErrCode.ShouldBe(JsApiErrors.ConsumerDirectRequiresPush.ErrCode);
|
||||
JsApiErrors.NewJSConsumerDoesNotExistError().ErrCode.ShouldBe(JsApiErrors.ConsumerDoesNotExist.ErrCode);
|
||||
|
||||
JsApiErrors.NewJSConsumerCreateError(new InvalidOperationException("create failed")).Description.ShouldBe("create failed");
|
||||
JsApiErrors.NewJSConsumerDescriptionTooLongError(1024).Description.ShouldBe("consumer description is too long, maximum allowed is 1024");
|
||||
|
||||
var expected = new JsApiError { Code = 498, ErrCode = 9091, Description = "override-2" };
|
||||
var fromOverride = JsApiErrors.NewJSClusterRequiredError(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.
@@ -19,12 +19,32 @@ simple_methods=(
|
||||
"NewJSClusterNotAvailError|ClusterNotAvail"
|
||||
"NewJSClusterNotLeaderError|ClusterNotLeader"
|
||||
"NewJSClusterPeerNotMemberError|ClusterPeerNotMember"
|
||||
"NewJSClusterRequiredError|ClusterRequired"
|
||||
"NewJSClusterServerMemberChangeInflightError|ClusterServerMemberChangeInflight"
|
||||
"NewJSClusterServerNotMemberError|ClusterServerNotMember"
|
||||
"NewJSClusterTagsError|ClusterTags"
|
||||
"NewJSClusterUnSupportFeatureError|ClusterUnSupportFeature"
|
||||
"NewJSConsumerAckPolicyInvalidError|ConsumerAckPolicyInvalid"
|
||||
"NewJSConsumerAckWaitNegativeError|ConsumerAckWaitNegative"
|
||||
"NewJSConsumerAlreadyExistsError|ConsumerAlreadyExists"
|
||||
"NewJSConsumerBackOffNegativeError|ConsumerBackOffNegative"
|
||||
"NewJSConsumerBadDurableNameError|ConsumerBadDurableName"
|
||||
"NewJSConsumerConfigRequiredError|ConsumerConfigRequired"
|
||||
"NewJSConsumerCreateDurableAndNameMismatchError|ConsumerCreateDurableAndNameMismatch"
|
||||
"NewJSConsumerCreateFilterSubjectMismatchError|ConsumerCreateFilterSubjectMismatch"
|
||||
"NewJSConsumerDeliverCycleError|ConsumerDeliverCycle"
|
||||
"NewJSConsumerDeliverToWildcardsError|ConsumerDeliverToWildcards"
|
||||
"NewJSConsumerDirectRequiresEphemeralError|ConsumerDirectRequiresEphemeral"
|
||||
"NewJSConsumerDirectRequiresPushError|ConsumerDirectRequiresPush"
|
||||
"NewJSConsumerDoesNotExistError|ConsumerDoesNotExist"
|
||||
)
|
||||
|
||||
templated_methods=(
|
||||
"NewJSAtomicPublishTooLargeBatchError|object?|size|AtomicPublishTooLargeBatch|{size}"
|
||||
"NewJSAtomicPublishUnsupportedHeaderBatchError|object?|header|AtomicPublishUnsupportedHeaderBatch|{header}"
|
||||
"NewJSClusterNoPeersError|Exception|err|ClusterNoPeers|{err}"
|
||||
"NewJSConsumerCreateError|Exception|err|ConsumerCreateErr|{err}"
|
||||
"NewJSConsumerDescriptionTooLongError|object?|max|ConsumerDescriptionTooLong|{max}"
|
||||
)
|
||||
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user