tests.connection: test auth varieties

Also fix password auth in the nats-server launcher.
This commit is contained in:
torque 2023-08-28 21:26:36 -07:00
parent cba76ae724
commit ee803168a3
Signed by: torque
SSH Key Fingerprint: SHA256:nCrXefBNo6EbjNSQhv0nXmEg/VuNq3sMF5b8zETw3Tk
2 changed files with 31 additions and 4 deletions

View File

@ -5,14 +5,40 @@ const nats = @import("nats");
const util = @import("./util.zig");
test "nats.Connection.connectTo" {
{
var server = try util.TestServer.launch(.{});
defer server.stop();
{
try nats.init(nats.default_spin_count);
defer nats.deinit();
const connection = try nats.Connection.connectTo(nats.default_server_url);
defer connection.destroy();
}
{
var server = try util.TestServer.launch(.{
.auth = .{ .token = "test_token" },
});
defer server.stop();
try nats.init(nats.default_spin_count);
defer nats.deinit();
const connection = try nats.Connection.connectTo("nats://test_token@127.0.0.1:4222");
defer connection.destroy();
}
{
var server = try util.TestServer.launch(.{ .auth = .{
.password = .{ .user = "user", .pass = "password" },
} });
defer server.stop();
try nats.init(nats.default_spin_count);
defer nats.deinit();
const connection = try nats.Connection.connectTo("nats://user:password@127.0.0.1:4222");
defer connection.destroy();
}
}

View File

@ -40,7 +40,7 @@ pub const TestServer = struct {
const auth: [4][]const u8 = switch (options.auth) {
.none => .{""} ** 4,
.token => |tok| .{ "--auth", tok, "", "" },
.password => |auth| .{ "--user", auth.user, "--password", auth.pass },
.password => |auth| .{ "--user", auth.user, "--pass", auth.pass },
};
break :blk executable ++ listen ++ port ++ auth;
@ -64,6 +64,7 @@ pub const TestServer = struct {
}
_ = try child.kill();
std.debug.print("output: {s}\n", .{poller.fifo(.stderr).buf});
return error.NoLaunchStringFound;
}