From 3342aa22ab5b6aedf31d787d6c7089457b0d7210 Mon Sep 17 00:00:00 2001 From: Robby Zambito Date: Mon, 5 Jan 2026 18:26:17 -0500 Subject: Update tests to work again --- src/server/message_parser.zig | 164 +++++++++++++++++++++++++++++------------- 1 file changed, 114 insertions(+), 50 deletions(-) (limited to 'src/server') 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); } } -- cgit