+15
-15
src/internal/did_resolver.zig
+15
-15
src/internal/did_resolver.zig
···
103
103
// === tests ===
104
104
105
105
test "resolve did:plc - integration" {
106
-
// run with: zig build test -- --test-filter "integration"
107
-
if (@import("builtin").is_test) {
108
-
// actually run this to verify it compiles and works
109
-
var resolver = DidResolver.init(std.testing.allocator);
110
-
defer resolver.deinit();
106
+
// use arena for http client internals that may leak
107
+
var arena = std.heap.ArenaAllocator.init(std.testing.allocator);
108
+
defer arena.deinit();
111
109
112
-
const did = Did.parse("did:plc:z72i7hdynmk6r22z27h6tvur").?;
113
-
var doc = resolver.resolve(did) catch |err| {
114
-
// network errors are ok in CI, but compilation must succeed
115
-
std.debug.print("network error (expected in CI): {}\n", .{err});
116
-
return;
117
-
};
118
-
defer doc.deinit();
110
+
var resolver = DidResolver.init(arena.allocator());
111
+
defer resolver.deinit();
119
112
120
-
try std.testing.expectEqualStrings("did:plc:z72i7hdynmk6r22z27h6tvur", doc.id);
121
-
try std.testing.expect(doc.handle() != null);
122
-
}
113
+
const did = Did.parse("did:plc:z72i7hdynmk6r22z27h6tvur").?;
114
+
var doc = resolver.resolve(did) catch |err| {
115
+
// network errors are ok in CI, but compilation must succeed
116
+
std.debug.print("network error (expected in CI): {}\n", .{err});
117
+
return;
118
+
};
119
+
defer doc.deinit();
120
+
121
+
try std.testing.expectEqualStrings("did:plc:z72i7hdynmk6r22z27h6tvur", doc.id);
122
+
try std.testing.expect(doc.handle() != null);
123
123
}
124
124
125
125
test "did:web url construction" {