private void AssertInvalidConsumerUpdate(IJetStreamManagement jsm, ConsumerConfiguration cc) { NATSJetStreamException e = Assert.Throws <NATSJetStreamException>(() => jsm.AddOrUpdateConsumer(STREAM, cc)); Assert.Equal(10012, e.ApiErrorCode); Assert.Equal(500, e.ErrorCode); }
public void ThrowsOnERR() { String json = "{" + " \"type\": \"io.nats.jetstream.api.v1.pub_ack_response\"," + " \"error\": {" + " \"code\": 500," + " \"description\": \"the description\"" + " }" + "}"; NATSJetStreamException jsapi = Assert.Throws <NATSJetStreamException>( () => new PublishAck(json).ThrowOnHasError()); Assert.Equal(500, jsapi.ErrorCode); Assert.Equal("the description (500)", jsapi.ErrorDescription); }
public void TestDeleteStream() { Context.RunInJsServer(c => { IJetStreamManagement jsm = c.CreateJetStreamManagementContext(); NATSJetStreamException e = Assert.Throws <NATSJetStreamException>(() => jsm.DeleteStream(STREAM)); Assert.Equal(10059, e.ApiErrorCode); CreateDefaultTestStream(c); Assert.NotNull(jsm.GetStreamInfo(STREAM)); Assert.True(jsm.DeleteStream(STREAM)); e = Assert.Throws <NATSJetStreamException>(() => jsm.GetStreamInfo(STREAM)); Assert.Equal(10059, e.ApiErrorCode); e = Assert.Throws <NATSJetStreamException>(() => jsm.DeleteStream(STREAM)); Assert.Equal(10059, e.ApiErrorCode); }); }
public void MiscErrorResponsesAreUnderstood() { string text = ReadDataFile("ErrorResponses.json.txt"); String[] jsons = text.Split('~'); TestingApiResponse jsApiResp = new TestingApiResponse(jsons[0]); Assert.True(jsApiResp.HasError); Assert.Equal("code_and_desc_response", jsApiResp.Type); Assert.Equal(500, jsApiResp.ErrorCode); Assert.Equal("the description", jsApiResp.ErrorDescription); Assert.Equal("the description (500)", jsApiResp.Error.ToString()); NATSJetStreamException jsApiEx = new NATSJetStreamException(jsApiResp); Assert.Equal(500, jsApiEx.ErrorCode); Assert.Equal("the description (500)", jsApiEx.ErrorDescription); jsApiResp = new TestingApiResponse(jsons[1]); Assert.True(jsApiResp.HasError); Assert.Equal("zero_and_desc_response", jsApiResp.Type); Assert.Equal(0, jsApiResp.ErrorCode); Assert.Equal("the description", jsApiResp.ErrorDescription); Assert.Equal("the description (0)", jsApiResp.Error.ToString()); jsApiEx = new NATSJetStreamException(jsApiResp); Assert.Equal(0, jsApiEx.ErrorCode); Assert.Equal("the description (0)", jsApiEx.ErrorDescription); jsApiResp = new TestingApiResponse(jsons[2]); Assert.True(jsApiResp.HasError); Assert.Equal("non_zero_code_only_response", jsApiResp.Type); Assert.Equal(500, jsApiResp.ErrorCode); Assert.Equal("Unknown JetStream Error (500)", jsApiResp.Error.ToString()); jsApiEx = new NATSJetStreamException(jsApiResp); Assert.Equal(500, jsApiEx.ErrorCode); jsApiResp = new TestingApiResponse(jsons[3]); Assert.True(jsApiResp.HasError); Assert.Equal("no_code_response", jsApiResp.Type); Assert.Equal(Error.NOT_SET, jsApiResp.ErrorCode); Assert.Equal("no code", jsApiResp.ErrorDescription); Assert.Equal("no code", jsApiResp.Error.ToString()); jsApiEx = new NATSJetStreamException(jsApiResp); Assert.Equal(-1, jsApiEx.ErrorCode); Assert.Equal("no code", jsApiEx.ErrorDescription); jsApiResp = new TestingApiResponse(jsons[4]); Assert.True(jsApiResp.HasError); Assert.Equal("empty_response", jsApiResp.Type); Assert.Equal(Error.NOT_SET, jsApiResp.ErrorCode); Assert.Empty(jsApiResp.ErrorDescription); jsApiEx = new NATSJetStreamException(jsApiResp); Assert.Equal(-1, jsApiEx.ErrorCode); Assert.Equal(-1, jsApiEx.ApiErrorCode); Assert.Empty(jsApiEx.ErrorDescription); jsApiResp = new TestingApiResponse(jsons[5]); Assert.True(jsApiResp.HasError); Assert.Equal(ApiResponse.NoType, jsApiResp.Type); Assert.Equal(ApiResponse.NoType, jsApiResp.Type); // coverage! }