feat(batch5): implement jetstream error constructors group03
This commit is contained in:
@@ -264,6 +264,134 @@ public static partial class JsApiErrors
|
||||
return Clone(ConsumerDoesNotExist);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDuplicateFilterSubjectsError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDuplicateFilterSubjects);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDurableNameNotInSubjectError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDurableNameNotInSubject);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDurableNameNotMatchSubjectError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDurableNameNotMatchSubject);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerDurableNameNotSetError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerDurableNameNotSet);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerEmptyFilterError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerEmptyFilter);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerEmptyGroupNameError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerEmptyGroupName);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerEphemeralWithDurableInSubjectError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerEphemeralWithDurableInSubject);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerEphemeralWithDurableNameError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerEphemeralWithDurableName);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerExistingActiveError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerExistingActive);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerFCRequiresPushError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerFCRequiresPush);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerFilterNotSubsetError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerFilterNotSubset);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerHBRequiresPushError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerHBRequiresPush);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerInvalidDeliverSubjectError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerInvalidDeliverSubject);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerInvalidGroupNameError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerInvalidGroupName);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerInvalidPriorityGroupError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerInvalidPriorityGroup);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerMaxDeliverBackoffError(params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return Clone(ConsumerMaxDeliverBackoff);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
@@ -304,4 +432,36 @@ public static partial class JsApiErrors
|
||||
return NewWithTags(ConsumerDescriptionTooLong, "{max}", max);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerInactiveThresholdExcessError(object? limit, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerInactiveThresholdExcess, "{limit}", limit);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerInvalidPolicyError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerInvalidPolicy, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerInvalidResetError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerInvalidReset, "{err}", err);
|
||||
}
|
||||
|
||||
public static JsApiError NewJSConsumerInvalidSamplingError(Exception err, params ErrorOption[] opts)
|
||||
{
|
||||
if (ParseOpts(opts) is JsApiError overridden)
|
||||
return Clone(overridden);
|
||||
|
||||
return NewWithTags(ConsumerInvalidSampling, "{err}", err);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -69,4 +69,37 @@ public sealed class JetStreamErrorsGeneratedConstructorsTests
|
||||
fromOverride.Description.ShouldBe(expected.Description);
|
||||
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ConstructorSurface_Group03()
|
||||
{
|
||||
JsApiErrors.NewJSConsumerDuplicateFilterSubjectsError().ErrCode.ShouldBe(JsApiErrors.ConsumerDuplicateFilterSubjects.ErrCode);
|
||||
JsApiErrors.NewJSConsumerDurableNameNotInSubjectError().ErrCode.ShouldBe(JsApiErrors.ConsumerDurableNameNotInSubject.ErrCode);
|
||||
JsApiErrors.NewJSConsumerDurableNameNotMatchSubjectError().ErrCode.ShouldBe(JsApiErrors.ConsumerDurableNameNotMatchSubject.ErrCode);
|
||||
JsApiErrors.NewJSConsumerDurableNameNotSetError().ErrCode.ShouldBe(JsApiErrors.ConsumerDurableNameNotSet.ErrCode);
|
||||
JsApiErrors.NewJSConsumerEmptyFilterError().ErrCode.ShouldBe(JsApiErrors.ConsumerEmptyFilter.ErrCode);
|
||||
JsApiErrors.NewJSConsumerEmptyGroupNameError().ErrCode.ShouldBe(JsApiErrors.ConsumerEmptyGroupName.ErrCode);
|
||||
JsApiErrors.NewJSConsumerEphemeralWithDurableInSubjectError().ErrCode.ShouldBe(JsApiErrors.ConsumerEphemeralWithDurableInSubject.ErrCode);
|
||||
JsApiErrors.NewJSConsumerEphemeralWithDurableNameError().ErrCode.ShouldBe(JsApiErrors.ConsumerEphemeralWithDurableName.ErrCode);
|
||||
JsApiErrors.NewJSConsumerExistingActiveError().ErrCode.ShouldBe(JsApiErrors.ConsumerExistingActive.ErrCode);
|
||||
JsApiErrors.NewJSConsumerFCRequiresPushError().ErrCode.ShouldBe(JsApiErrors.ConsumerFCRequiresPush.ErrCode);
|
||||
JsApiErrors.NewJSConsumerFilterNotSubsetError().ErrCode.ShouldBe(JsApiErrors.ConsumerFilterNotSubset.ErrCode);
|
||||
JsApiErrors.NewJSConsumerHBRequiresPushError().ErrCode.ShouldBe(JsApiErrors.ConsumerHBRequiresPush.ErrCode);
|
||||
JsApiErrors.NewJSConsumerInvalidDeliverSubjectError().ErrCode.ShouldBe(JsApiErrors.ConsumerInvalidDeliverSubject.ErrCode);
|
||||
JsApiErrors.NewJSConsumerInvalidGroupNameError().ErrCode.ShouldBe(JsApiErrors.ConsumerInvalidGroupName.ErrCode);
|
||||
JsApiErrors.NewJSConsumerInvalidPriorityGroupError().ErrCode.ShouldBe(JsApiErrors.ConsumerInvalidPriorityGroup.ErrCode);
|
||||
JsApiErrors.NewJSConsumerMaxDeliverBackoffError().ErrCode.ShouldBe(JsApiErrors.ConsumerMaxDeliverBackoff.ErrCode);
|
||||
|
||||
JsApiErrors.NewJSConsumerInactiveThresholdExcessError(777).Description.ShouldBe("consumer inactive threshold exceeds system limit of 777");
|
||||
JsApiErrors.NewJSConsumerInvalidPolicyError(new InvalidOperationException("invalid policy")).Description.ShouldBe("invalid policy");
|
||||
JsApiErrors.NewJSConsumerInvalidResetError(new InvalidOperationException("bad reset")).Description.ShouldBe("invalid reset: bad reset");
|
||||
JsApiErrors.NewJSConsumerInvalidSamplingError(new InvalidOperationException("bad sampling")).Description.ShouldBe("failed to parse consumer sampling configuration: bad sampling");
|
||||
|
||||
var expected = new JsApiError { Code = 497, ErrCode = 9092, Description = "override-3" };
|
||||
var fromOverride = JsApiErrors.NewJSConsumerDuplicateFilterSubjectsError(JsApiErrors.Unless(expected));
|
||||
fromOverride.Code.ShouldBe(expected.Code);
|
||||
fromOverride.ErrCode.ShouldBe(expected.ErrCode);
|
||||
fromOverride.Description.ShouldBe(expected.Description);
|
||||
ReferenceEquals(fromOverride, expected).ShouldBeFalse();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user