summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2026-01-05 18:26:17 -0500
committerRobby Zambito <contact@robbyzambito.me>2026-01-05 18:26:43 -0500
commit3342aa22ab5b6aedf31d787d6c7089457b0d7210 (patch)
tree2a449a7097fc509235a8d7b17ffe5b24f9747738 /src
parent1d2af4a69a31174263481588ee8c7a53375a12e8 (diff)
Update tests to work again
Diffstat (limited to 'src')
-rw-r--r--src/server/message_parser.zig164
1 files changed, 114 insertions, 50 deletions
diff --git a/src/server/message_parser.zig b/src/server/message_parser.zig
index 81b3858..bf472af 100644
--- a/src/server/message_parser.zig
+++ b/src/server/message_parser.zig
@@ -452,10 +452,10 @@ test parseSub {
{
var in: Reader = .fixed(" foo 1\r\n");
var res = try parseSub(alloc, &in);
- defer res.sub.deinit(alloc);
+ defer res.SUB.deinit(alloc);
try expectEqualDeep(
Message{
- .sub = .{
+ .SUB = .{
.subject = "foo",
.queue_group = null,
.sid = "1",
@@ -467,10 +467,10 @@ test parseSub {
{
var in: Reader = .fixed(" foo 1\r\n");
var res = try parseSub(alloc, &in);
- defer res.sub.deinit(alloc);
+ defer res.SUB.deinit(alloc);
try expectEqualDeep(
Message{
- .sub = .{
+ .SUB = .{
.subject = "foo",
.queue_group = null,
.sid = "1",
@@ -482,10 +482,10 @@ test parseSub {
{
var in: Reader = .fixed(" foo q 1\r\n");
var res = try parseSub(alloc, &in);
- defer res.sub.deinit(alloc);
+ defer res.SUB.deinit(alloc);
try expectEqualDeep(
Message{
- .sub = .{
+ .SUB = .{
.subject = "foo",
.queue_group = "q",
.sid = "1",
@@ -497,10 +497,10 @@ test parseSub {
{
var in: Reader = .fixed(" 1 q 1\r\n");
var res = try parseSub(alloc, &in);
- defer res.sub.deinit(alloc);
+ defer res.SUB.deinit(alloc);
try expectEqualDeep(
Message{
- .sub = .{
+ .SUB = .{
.subject = "1",
.queue_group = "q",
.sid = "1",
@@ -512,10 +512,10 @@ test parseSub {
{
var in: Reader = .fixed(" $SRV.PING 4\r\n");
var res = try parseSub(alloc, &in);
- defer res.sub.deinit(alloc);
+ defer res.SUB.deinit(alloc);
try expectEqualDeep(
Message{
- .sub = .{
+ .SUB = .{
.subject = "$SRV.PING",
.queue_group = null,
.sid = "4",
@@ -527,10 +527,10 @@ test parseSub {
{
var in: Reader = .fixed(" foo.echo q 10\r\n");
var res = try parseSub(alloc, &in);
- defer res.sub.deinit(alloc);
+ defer res.SUB.deinit(alloc);
try expectEqualDeep(
Message{
- .sub = .{
+ .SUB = .{
.subject = "foo.echo",
.queue_group = "q",
.sid = "10",
@@ -613,10 +613,10 @@ test parseUnsub {
{
var in: Reader = .fixed(" 1\r\n");
var res = try parseUnsub(alloc, &in);
- defer res.unsub.deinit(alloc);
+ defer res.UNSUB.deinit(alloc);
try expectEqualDeep(
Message{
- .unsub = .{
+ .UNSUB = .{
.sid = "1",
.max_msgs = null,
},
@@ -629,10 +629,10 @@ test parseUnsub {
{
var in: Reader = .fixed(" 1 1\r\n");
var res = try parseUnsub(alloc, &in);
- defer res.unsub.deinit(alloc);
+ defer res.UNSUB.deinit(alloc);
try expectEqualDeep(
Message{
- .unsub = .{
+ .UNSUB = .{
.sid = "1",
.max_msgs = 1,
},
@@ -738,13 +738,21 @@ test parsePub {
{
var in: Reader = .fixed(" foo 3\r\nbar\r\n");
var res = try parsePub(alloc, &in);
- defer res.@"pub".deinit(alloc);
+ defer res.PUB.deinit(alloc);
try expectEqualDeep(
Message{
- .@"pub" = .{
+ .PUB = .{
.subject = "foo",
.reply_to = null,
- .payload = "bar",
+ .payload = .{
+ .len = 3,
+ .short = blk: {
+ var s: [128]u8 = undefined;
+ @memcpy(s[0..3], "bar");
+ break :blk s;
+ },
+ .long = null,
+ },
},
},
res,
@@ -755,13 +763,21 @@ test parsePub {
{
var in: Reader = .fixed(" foo reply.to 3\r\nbar\r\n");
var res = try parsePub(alloc, &in);
- defer res.@"pub".deinit(alloc);
+ defer res.PUB.deinit(alloc);
try expectEqualDeep(
Message{
- .@"pub" = .{
+ .PUB = .{
.subject = "foo",
.reply_to = "reply.to",
- .payload = "bar",
+ .payload = .{
+ .len = 3,
+ .short = blk: {
+ var s: [128]u8 = undefined;
+ @memcpy(s[0..3], "bar");
+ break :blk s;
+ },
+ .long = null,
+ },
},
},
res,
@@ -773,13 +789,21 @@ test parsePub {
{
var in: Reader = .fixed(" foo 5 3\r\nbar\r\n");
var res = try parsePub(alloc, &in);
- defer res.@"pub".deinit(alloc);
+ defer res.PUB.deinit(alloc);
try expectEqualDeep(
Message{
- .@"pub" = .{
+ .PUB = .{
.subject = "foo",
.reply_to = "5",
- .payload = "bar",
+ .payload = .{
+ .len = 3,
+ .short = blk: {
+ var s: [128]u8 = undefined;
+ @memcpy(s[0..3], "bar");
+ break :blk s;
+ },
+ .long = null,
+ },
},
},
res,
@@ -912,15 +936,24 @@ test parseHPub {
{
var in: Reader = .fixed(" foo 22 33\r\nNATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!\r\n");
var res = try parseHPub(alloc, &in);
- defer res.hpub.deinit(alloc);
+ defer res.HPUB.deinit(alloc);
try expectEqualDeep(
Message{
- .hpub = .{
+ .HPUB = .{
.header_bytes = 22,
.@"pub" = .{
.subject = "foo",
.reply_to = null,
- .payload = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!",
+ .payload = .{
+ .len = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!".len,
+ .short = blk: {
+ var s: [128]u8 = undefined;
+ const str = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!";
+ @memcpy(s[0..str.len], str);
+ break :blk s;
+ },
+ .long = null,
+ },
},
},
},
@@ -932,15 +965,24 @@ test parseHPub {
{
var in: Reader = .fixed(" foo reply.to 22 33\r\nNATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!\r\n");
var res = try parseHPub(alloc, &in);
- defer res.hpub.deinit(alloc);
+ defer res.HPUB.deinit(alloc);
try expectEqualDeep(
Message{
- .hpub = .{
+ .HPUB = .{
.header_bytes = 22,
.@"pub" = .{
.subject = "foo",
.reply_to = "reply.to",
- .payload = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!",
+ .payload = .{
+ .len = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!".len,
+ .short = blk: {
+ var s: [128]u8 = undefined;
+ const str = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!";
+ @memcpy(s[0..str.len], str);
+ break :blk s;
+ },
+ .long = null,
+ },
},
},
},
@@ -952,15 +994,24 @@ test parseHPub {
{
var in: Reader = .fixed(" foo 6 22 33\r\nNATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!\r\n");
var res = try parseHPub(alloc, &in);
- defer res.hpub.deinit(alloc);
+ defer res.HPUB.deinit(alloc);
try expectEqualDeep(
Message{
- .hpub = .{
+ .HPUB = .{
.header_bytes = 22,
.@"pub" = .{
.subject = "foo",
.reply_to = "6",
- .payload = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!",
+ .payload = .{
+ .len = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!".len,
+ .short = blk: {
+ var s: [128]u8 = undefined;
+ const str = "NATS/1.0\r\nBar: Baz\r\n\r\nHello NATS!";
+ @memcpy(s[0..str.len], str);
+ break :blk s;
+ },
+ .long = null,
+ },
},
},
},
@@ -1041,27 +1092,40 @@ test "parsing a stream" {
{
const msg: Message = try Message.next(gpa, &reader);
- const expected: Message = .{ .connect = .{
- .verbose = false,
- .pedantic = false,
- .tls_required = false,
- .name = "NATS CLI Version v0.2.4",
- .lang = "go",
- .version = "1.43.0",
- .protocol = 1,
- .echo = true,
- .headers = true,
- .no_responders = true,
- } };
+ const expected: Message = .{
+ .CONNECT = .{
+ .verbose = false,
+ .pedantic = false,
+ .tls_required = false,
+ .name = "NATS CLI Version v0.2.4",
+ .lang = "go",
+ .version = "1.43.0",
+ .protocol = 1,
+ .echo = true,
+ .headers = true,
+ .no_responders = true,
+ },
+ };
try expectEqualDeep(expected, msg);
}
{
const msg: Message = try Message.next(gpa, &reader);
- const expected: Message = .{ .@"pub" = .{
- .subject = "hi",
- .payload = "foo",
- } };
+ const expected: Message = .{
+ .PUB = .{
+ .subject = "hi",
+ .payload = .{
+ .len = 3,
+ .short = blk: {
+ var s: [128]u8 = undefined;
+ const str = "foo";
+ @memcpy(s[0..str.len], str);
+ break :blk s;
+ },
+ .long = null,
+ },
+ },
+ };
try expectEqualDeep(expected, msg);
}
}