feat: add jetstream api router and error envelope
This commit is contained in:
14
tests/NATS.Server.Tests/JetStreamApiFixture.cs
Normal file
14
tests/NATS.Server.Tests/JetStreamApiFixture.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System.Text;
|
||||
using NATS.Server.JetStream.Api;
|
||||
|
||||
namespace NATS.Server.Tests;
|
||||
|
||||
internal static class JetStreamApiFixture
|
||||
{
|
||||
private static readonly JetStreamApiRouter Router = new();
|
||||
|
||||
public static Task<JetStreamApiResponse> RequestAsync(string subject, string payload)
|
||||
{
|
||||
return Task.FromResult(Router.Route(subject, Encoding.UTF8.GetBytes(payload)));
|
||||
}
|
||||
}
|
||||
12
tests/NATS.Server.Tests/JetStreamApiRouterTests.cs
Normal file
12
tests/NATS.Server.Tests/JetStreamApiRouterTests.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace NATS.Server.Tests;
|
||||
|
||||
public class JetStreamApiRouterTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task Unknown_js_api_subject_returns_structured_error()
|
||||
{
|
||||
var response = await JetStreamApiFixture.RequestAsync("$JS.API.BAD", "{}");
|
||||
response.Error.ShouldNotBeNull();
|
||||
response.Error!.Code.ShouldBe(404);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user