diff --git a/src/message.zig b/src/message.zig index 4963eb5..1c9d103 100644 --- a/src/message.zig +++ b/src/message.zig @@ -113,63 +113,3 @@ pub const Message = opaque { // NATS_EXTERN const char* stanMsg_GetData(const stanMsg *msg); // NATS_EXTERN int stanMsg_GetDataLength(const stanMsg *msg); // NATS_EXTERN void stanMsg_Destroy(stanMsg *msg); - -test "message: create message" { - const subject = "hello"; - const reply = "reply"; - const data = "world"; - - const nats = @import("./nats.zig"); - - // have to initialize the library so the reference counter can correctly destroy - // objects, otherwise we segfault on trying to free the memory. - try nats.init(-1); - defer nats.deinit(); - - const message = try Message.create(subject, reply, data); - defer message.destroy(); - - const message2 = try Message.create(subject, null, data); - defer message2.destroy(); - - const message3 = try Message.create(subject, data, null); - defer message3.destroy(); - - const message4 = try Message.create(subject, null, null); - defer message4.destroy(); -} - -test "message: get subject" { - const nats = @import("./nats.zig"); - - try nats.init(-1); - defer nats.deinit(); - - const subject = "hello"; - const message = try Message.create(subject, null, null); - defer message.destroy(); - - const received = message.getSubject(); - try std.testing.expectEqualStrings(subject, received); -} - -test "message: get reply" { - const nats = @import("./nats.zig"); - - try nats.init(-1); - defer nats.deinit(); - - const subject = "hello"; - const reply = "reply"; - const message = try Message.create(subject, reply, null); - defer message.destroy(); - - const received = message.getReply() orelse return error.TestUnexpectedResult; - try std.testing.expectEqualStrings(reply, received); - - const message2 = try Message.create(subject, null, null); - defer message2.destroy(); - - const received2 = message2.getReply(); - try std.testing.expect(received2 == null); -} diff --git a/src/nats.zig b/src/nats.zig index d9809a3..55615e0 100644 --- a/src/nats.zig +++ b/src/nats.zig @@ -158,7 +158,3 @@ pub const MessageList = opaque { nats_c.natsMsgList_Destroy(@ptrCast(self)); } }; - -test { - std.testing.refAllDecls(@This()); -} diff --git a/tests/main.zig b/tests/main.zig new file mode 100644 index 0000000..3cf1919 --- /dev/null +++ b/tests/main.zig @@ -0,0 +1,5 @@ +const std = @import("std"); + +test { + _ = @import("./message.zig"); +} diff --git a/tests/message.zig b/tests/message.zig new file mode 100644 index 0000000..aac58b1 --- /dev/null +++ b/tests/message.zig @@ -0,0 +1,59 @@ +const std = @import("std"); +const nats = @import("nats"); + +// const nats = @import("../src/nats.zig"); +// const message = @import("../src/message.zig"); + +test "message: create message" { + const subject = "hello"; + const reply = "reply"; + const data = "world"; + + // have to initialize the library so the reference counter can correctly destroy + // objects, otherwise we segfault on trying to free the memory. + try nats.init(-1); + defer nats.deinit(); + + const message = try nats.Message.create(subject, reply, data); + defer message.destroy(); + + const message2 = try nats.Message.create(subject, null, data); + defer message2.destroy(); + + const message3 = try nats.Message.create(subject, data, null); + defer message3.destroy(); + + const message4 = try nats.Message.create(subject, null, null); + defer message4.destroy(); +} + +test "message: get subject" { + try nats.init(-1); + defer nats.deinit(); + + const subject = "hello"; + const message = try nats.Message.create(subject, null, null); + defer message.destroy(); + + const received = message.getSubject(); + try std.testing.expectEqualStrings(subject, received); +} + +test "message: get reply" { + try nats.init(-1); + defer nats.deinit(); + + const subject = "hello"; + const reply = "reply"; + const message = try nats.Message.create(subject, reply, null); + defer message.destroy(); + + const received = message.getReply() orelse return error.TestUnexpectedResult; + try std.testing.expectEqualStrings(reply, received); + + const message2 = try nats.Message.create(subject, null, null); + defer message2.destroy(); + + const received2 = message2.getReply(); + try std.testing.expect(received2 == null); +}