Update REST API test

main
copygirl 8 months ago
parent c992fa2f2f
commit fa89eca82d
  1. 20
      src/world.zig

@ -303,11 +303,10 @@ pub fn World(comptime ctx: anytype) type {
}; };
} }
test "World REST API" {
const expect = @import("./test/expect.zig"); const expect = @import("./test/expect.zig");
const alloc = std.testing.allocator;
flecszigble.init(alloc); test "World REST API" {
flecszigble.init(std.testing.allocator);
var world = try World(void).init(); var world = try World(void).init();
defer world.deinit(); defer world.deinit();
try world.enableRest(42666); try world.enableRest(42666);
@ -318,16 +317,25 @@ test "World REST API" {
} }
}; };
const alloc = std.testing.allocator;
var thread = try std.Thread.spawn(.{ .allocator = alloc }, Runner.run, .{world}); var thread = try std.Thread.spawn(.{ .allocator = alloc }, Runner.run, .{world});
defer thread.join(); defer thread.join();
// Unsure if compiling or running this takes a really long time, but this
// test using `http.Client` adds about 10s to the test run time. Oh well.
const url = "http://localhost:42666/entity/flecs/core/World"; const url = "http://localhost:42666/entity/flecs/core/World";
var client = std.http.Client{ .allocator = alloc }; var client = std.http.Client{ .allocator = alloc };
defer client.deinit(); defer client.deinit();
var result = try client.fetch(alloc, .{ .location = .{ .url = url } });
defer result.deinit();
try expect.equalStrings("{\"path\":\"flecs.core.World\", \"ids\":[]}", result.body); var response = std.ArrayList(u8).init(alloc);
defer response.deinit();
const result = try client.fetch(.{
.location = .{ .url = url },
.response_storage = .{ .dynamic = &response },
});
try expect.equal(std.http.Status.ok, result.status);
try expect.equalStrings("{\"path\":\"flecs.core.World\", \"ids\":[]}", response.items);
world.quit(); world.quit();
} }

Loading…
Cancel
Save