wreq-js 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-test-server.js","sourceRoot":"","sources":["../../../src/test/helpers/local-test-server.ts"],"names":[],"mappings":"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"}
@@ -3,61 +3,159 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_test_1 = require("node:test");
7
6
  const node_assert_1 = __importDefault(require("node:assert"));
7
+ const node_test_1 = require("node:test");
8
8
  const wreq_js_1 = require("../wreq-js");
9
- (0, node_test_1.describe)('HTTP', () => {
9
+ const HTTP_TEST_BASE_URL = process.env.HTTP_TEST_BASE_URL ?? "https://httpbingo.org";
10
+ const httpUrl = (path) => new URL(path, HTTP_TEST_BASE_URL).toString();
11
+ (0, node_test_1.describe)("HTTP", () => {
10
12
  (0, node_test_1.before)(() => {
11
- console.log('🔌 HTTP Test Suite\n');
13
+ console.log("🔌 HTTP Test Suite\n");
12
14
  });
13
- (0, node_test_1.test)('should return available browser profiles', () => {
15
+ (0, node_test_1.test)("should return available browser profiles", () => {
14
16
  const profiles = (0, wreq_js_1.getProfiles)();
15
- node_assert_1.default.ok(Array.isArray(profiles), 'Profiles should be an array');
16
- node_assert_1.default.ok(profiles.length > 0, 'Should have at least one profile');
17
- node_assert_1.default.ok(profiles.some((p) => p.includes('chrome')) ||
18
- profiles.some((p) => p.includes('firefox')) ||
19
- profiles.some((p) => p.includes('safari')), 'Should include standard browser profiles');
20
- console.log('Available profiles:', profiles.join(', '));
21
- });
22
- (0, node_test_1.test)('should make a simple GET request', async () => {
23
- const response = await (0, wreq_js_1.request)({
24
- url: 'https://httpbingo.org/get',
25
- browser: 'chrome_131',
17
+ node_assert_1.default.ok(Array.isArray(profiles), "Profiles should be an array");
18
+ node_assert_1.default.ok(profiles.length > 0, "Should have at least one profile");
19
+ node_assert_1.default.ok(profiles.some((p) => p.includes("chrome")) ||
20
+ profiles.some((p) => p.includes("firefox")) ||
21
+ profiles.some((p) => p.includes("safari")), "Should include standard browser profiles");
22
+ console.log("Available profiles:", profiles.join(", "));
23
+ });
24
+ (0, node_test_1.test)("should make a simple GET request", async () => {
25
+ const response = await (0, wreq_js_1.fetch)(httpUrl("/get"), {
26
+ browser: "chrome_131",
26
27
  timeout: 10000,
27
28
  });
28
- node_assert_1.default.ok(response.status >= 200 && response.status < 300, 'Should return successful status');
29
- node_assert_1.default.ok(Object.keys(response.headers).length > 0, 'Should have response headers');
30
- node_assert_1.default.ok(response.body.length > 0, 'Should have response body');
31
- const body = JSON.parse(response.body);
32
- node_assert_1.default.ok(body.headers['User-Agent'], 'Should have User-Agent header');
33
- console.log('Status:', response.status);
34
- console.log('User-Agent:', body.headers['User-Agent']);
35
- });
36
- (0, node_test_1.test)('should work with different browser profiles', async () => {
37
- const testUrl = 'https://httpbingo.org/user-agent';
38
- const browsers = ['chrome_137', 'firefox_139', 'safari_18'];
29
+ node_assert_1.default.ok(response.status >= 200 && response.status < 300, "Should return successful status");
30
+ node_assert_1.default.ok(response.headers.has("content-type"), "Should have response headers");
31
+ const body = await response.json();
32
+ node_assert_1.default.ok(body.headers["User-Agent"], "Should have User-Agent header");
33
+ node_assert_1.default.ok(response.bodyUsed, "json() should mark the body as used");
34
+ console.log("Status:", response.status);
35
+ console.log("User-Agent:", body.headers["User-Agent"]);
36
+ });
37
+ (0, node_test_1.test)("should work with different browser profiles", async () => {
38
+ const testUrl = httpUrl("/user-agent");
39
+ const browsers = ["chrome_142", "firefox_139", "safari_18"];
39
40
  for (const browser of browsers) {
40
- const response = await (0, wreq_js_1.request)({
41
- url: testUrl,
42
- browser: browser,
41
+ const response = await (0, wreq_js_1.fetch)(testUrl, {
42
+ browser,
43
43
  timeout: 10000,
44
44
  });
45
45
  node_assert_1.default.ok(response.status === 200, `${browser} should return status 200`);
46
46
  const data = JSON.parse(response.body);
47
- node_assert_1.default.ok(data['user-agent'], `${browser} should have user-agent`);
48
- console.log(`${browser}:`, data['user-agent'].substring(0, 70) + '...');
47
+ node_assert_1.default.ok(data["user-agent"], `${browser} should have user-agent`);
48
+ console.log(`${browser}:`, `${data["user-agent"].substring(0, 70)}...`);
49
49
  }
50
50
  });
51
- (0, node_test_1.test)('should handle timeout errors', async () => {
51
+ (0, node_test_1.test)("should handle timeout errors", async () => {
52
52
  await node_assert_1.default.rejects(async () => {
53
- await (0, wreq_js_1.request)({
54
- url: 'https://httpbingo.org/delay/10',
55
- browser: 'chrome_137',
53
+ await (0, wreq_js_1.fetch)(httpUrl("/delay/10"), {
54
+ browser: "chrome_142",
56
55
  timeout: 1000, // 1 second timeout for 10 second delay
57
56
  });
58
57
  }, {
59
- name: 'RequestError',
60
- }, 'Should throw an error on timeout');
58
+ name: "RequestError",
59
+ }, "Should throw an error on timeout");
60
+ });
61
+ (0, node_test_1.test)("should provide functional clone and text helpers", async () => {
62
+ const response = await (0, wreq_js_1.fetch)(httpUrl("/json"), {
63
+ browser: "chrome_142",
64
+ timeout: 10000,
65
+ });
66
+ const clone = response.clone();
67
+ const original = await response.json();
68
+ const cloneText = await clone.text();
69
+ node_assert_1.default.ok(original, "json() should parse successfully");
70
+ node_assert_1.default.ok(cloneText.length > 0, "clone text should return payload");
71
+ node_assert_1.default.ok(response.bodyUsed, "original body should be consumed");
72
+ node_assert_1.default.ok(clone.bodyUsed, "clone body should be consumed");
73
+ });
74
+ (0, node_test_1.test)("should reject aborted requests with AbortError", async () => {
75
+ const controller = new AbortController();
76
+ controller.abort();
77
+ await node_assert_1.default.rejects(async () => {
78
+ await (0, wreq_js_1.fetch)(httpUrl("/get"), {
79
+ browser: "chrome_142",
80
+ signal: controller.signal,
81
+ timeout: 1000,
82
+ });
83
+ }, (error) => error instanceof Error && error.name === "AbortError", "Should reject with AbortError");
84
+ });
85
+ (0, node_test_1.test)("should work with custom Headers helper", () => {
86
+ const headers = new wreq_js_1.Headers({
87
+ "X-Test": "alpha",
88
+ });
89
+ headers.append("x-test", "beta");
90
+ headers.set("X-Another", "value");
91
+ const collected = Array.from(headers.entries());
92
+ node_assert_1.default.strictEqual(headers.get("X-Test"), "alpha, beta", "append should concatenate values");
93
+ node_assert_1.default.strictEqual(headers.get("x-another"), "value", "set should overwrite values");
94
+ node_assert_1.default.ok(collected.length >= 2, "entries should iterate all headers");
95
+ });
96
+ (0, node_test_1.test)("should validate browser profiles in fetch", async () => {
97
+ await node_assert_1.default.rejects(async () => {
98
+ await (0, wreq_js_1.fetch)(httpUrl("/get"), {
99
+ browser: "nonexistent_browser",
100
+ timeout: 1000,
101
+ });
102
+ }, (error) => error instanceof wreq_js_1.RequestError, "Should reject invalid browser profiles");
103
+ });
104
+ (0, node_test_1.test)("should isolate cookies for default fetch calls", async () => {
105
+ await (0, wreq_js_1.fetch)(httpUrl("/cookies/set?ephemeral=on"), {
106
+ browser: "chrome_142",
107
+ timeout: 5000,
108
+ });
109
+ const response = await (0, wreq_js_1.fetch)(httpUrl("/cookies"), {
110
+ browser: "chrome_142",
111
+ timeout: 5000,
112
+ });
113
+ const body = await response.json();
114
+ node_assert_1.default.ok(!body.cookies.ephemeral, "Ephemeral cookies should not persist across requests");
115
+ });
116
+ (0, node_test_1.test)("should isolate cookies between sessions", async () => {
117
+ const sessionA = await (0, wreq_js_1.createSession)({ browser: "chrome_142" });
118
+ const sessionB = await (0, wreq_js_1.createSession)({ browser: "chrome_142" });
119
+ try {
120
+ await sessionA.fetch(httpUrl("/cookies/set?flavor=alpha"), { timeout: 10000 });
121
+ await sessionB.fetch(httpUrl("/cookies/set?flavor=beta"), { timeout: 10000 });
122
+ const cookiesA = await sessionA.fetch(httpUrl("/cookies"), { timeout: 10000 });
123
+ const cookiesB = await sessionB.fetch(httpUrl("/cookies"), { timeout: 10000 });
124
+ const bodyA = await cookiesA.json();
125
+ const bodyB = await cookiesB.json();
126
+ node_assert_1.default.strictEqual(bodyA.cookies.flavor, "alpha", "Session A should keep its own cookies");
127
+ node_assert_1.default.strictEqual(bodyB.cookies.flavor, "beta", "Session B should keep its own cookies");
128
+ }
129
+ finally {
130
+ await sessionA.close();
131
+ await sessionB.close();
132
+ }
133
+ });
134
+ (0, node_test_1.test)("should clear session cookies on demand", async () => {
135
+ const session = await (0, wreq_js_1.createSession)({ browser: "chrome_142" });
136
+ try {
137
+ await session.fetch(httpUrl("/cookies/set?token=123"), { timeout: 10000 });
138
+ await session.clearCookies();
139
+ const response = await session.fetch(httpUrl("/cookies"), { timeout: 10000 });
140
+ const body = await response.json();
141
+ node_assert_1.default.deepStrictEqual(body.cookies, {}, "Clearing the session should drop stored cookies");
142
+ }
143
+ finally {
144
+ await session.close();
145
+ }
146
+ });
147
+ (0, node_test_1.test)("withSession helper should dispose sessions automatically", async () => {
148
+ let capturedSession;
149
+ await (0, wreq_js_1.withSession)(async (session) => {
150
+ capturedSession = session;
151
+ const response = await session.fetch(httpUrl("/get"), { timeout: 5000 });
152
+ node_assert_1.default.strictEqual(response.status, 200);
153
+ });
154
+ const session = capturedSession;
155
+ node_assert_1.default.ok(session, "withSession should provide a session instance");
156
+ await node_assert_1.default.rejects(async () => {
157
+ await session.fetch(httpUrl("/get"), { timeout: 5000 });
158
+ }, (error) => error instanceof wreq_js_1.RequestError, "Using a closed session should fail");
61
159
  });
62
160
  });
63
161
  //# sourceMappingURL=http.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.spec.js","sourceRoot":"","sources":["../../src/test/http.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.spec.js","sourceRoot":"","sources":["../../src/test/http.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run-with-local-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-with-local-server.d.ts","sourceRoot":"","sources":["../../src/test/run-with-local-server.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_child_process_1 = require("node:child_process");
7
+ const node_path_1 = require("node:path");
8
+ const node_process_1 = __importDefault(require("node:process"));
9
+ const local_test_server_1 = require("./helpers/local-test-server");
10
+ const testDir = __dirname;
11
+ async function main() {
12
+ const extraArgs = node_process_1.default.argv.slice(2);
13
+ const defaultTestFiles = [(0, node_path_1.resolve)(testDir, "http.spec.js"), (0, node_path_1.resolve)(testDir, "websocket.spec.js")];
14
+ const env = { ...node_process_1.default.env };
15
+ let localServer;
16
+ if (!env.HTTP_TEST_BASE_URL || !env.WS_TEST_URL) {
17
+ localServer = await (0, local_test_server_1.startLocalTestServer)();
18
+ if (!env.HTTP_TEST_BASE_URL) {
19
+ env.HTTP_TEST_BASE_URL = localServer.httpBaseUrl;
20
+ }
21
+ if (!env.WS_TEST_URL) {
22
+ env.WS_TEST_URL = localServer.wsUrl;
23
+ }
24
+ }
25
+ const nodeArgs = ["--test", ...defaultTestFiles, ...extraArgs];
26
+ const testProcess = (0, node_child_process_1.spawn)(node_process_1.default.execPath, nodeArgs, {
27
+ stdio: "inherit",
28
+ env,
29
+ });
30
+ const cleanup = async () => {
31
+ if (!localServer) {
32
+ return;
33
+ }
34
+ const server = localServer;
35
+ localServer = undefined;
36
+ try {
37
+ await server.close();
38
+ }
39
+ catch (error) {
40
+ console.error("Failed to stop local test server:", error);
41
+ }
42
+ };
43
+ testProcess.once("exit", async (code, signal) => {
44
+ await cleanup();
45
+ if (signal) {
46
+ node_process_1.default.kill(node_process_1.default.pid, signal);
47
+ return;
48
+ }
49
+ node_process_1.default.exit(code ?? 1);
50
+ });
51
+ testProcess.once("error", async (error) => {
52
+ console.error("Failed to run tests:", error);
53
+ await cleanup();
54
+ node_process_1.default.exit(1);
55
+ });
56
+ }
57
+ main().catch((error) => {
58
+ console.error(error);
59
+ node_process_1.default.exit(1);
60
+ });
61
+ //# sourceMappingURL=run-with-local-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-with-local-server.js","sourceRoot":"","sources":["../../src/test/run-with-local-server.ts"],"names":[],"mappings":";;;;;AAAA,2DAA2C;AAC3C,yCAAoC;AACpC,gEAAmC;AAEnC,mEAAmE;AAEnE,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,sBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,CAAC,IAAA,mBAAO,EAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAA,mBAAO,EAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEnG,MAAM,GAAG,GAAG,EAAE,GAAG,sBAAO,CAAC,GAAG,EAAE,CAAC;IAE/B,IAAI,WAAwC,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAChD,WAAW,GAAG,MAAM,IAAA,wCAAoB,GAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;YAC5B,GAAG,CAAC,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,gBAAgB,EAAE,GAAG,SAAS,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,IAAA,0BAAK,EAAC,sBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE;QACpD,KAAK,EAAE,SAAS;QAChB,GAAG;KACJ,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC;QAC3B,WAAW,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;IAEF,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,OAAO,EAAE,CAAC;QAChB,IAAI,MAAM,EAAE,CAAC;YACX,sBAAO,CAAC,IAAI,CAAC,sBAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,sBAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,OAAO,EAAE,CAAC;QAChB,sBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,sBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -3,20 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_test_1 = require("node:test");
7
6
  const node_assert_1 = __importDefault(require("node:assert"));
7
+ const node_test_1 = require("node:test");
8
8
  const promises_1 = require("node:timers/promises");
9
9
  const wreq_js_1 = require("../wreq-js");
10
- (0, node_test_1.describe)('WebSocket', () => {
10
+ const WS_TEST_URL = process.env.WS_TEST_URL ?? "wss://echo.websocket.org";
11
+ (0, node_test_1.describe)("WebSocket", () => {
11
12
  (0, node_test_1.before)(() => {
12
- console.log('🔌 WebSocket Test Suite\n');
13
+ console.log("🔌 WebSocket Test Suite\n");
13
14
  });
14
- (0, node_test_1.test)('should connect to WebSocket and send/receive messages', async () => {
15
+ (0, node_test_1.test)("should connect to WebSocket and send/receive messages", async () => {
15
16
  const messages = [];
16
17
  let isClosed = false;
17
18
  const ws = await (0, wreq_js_1.websocket)({
18
- url: 'wss://echo.websocket.org',
19
- browser: 'chrome_137',
19
+ url: WS_TEST_URL,
20
+ browser: "chrome_142",
20
21
  onMessage: (data) => {
21
22
  messages.push(data);
22
23
  },
@@ -24,97 +25,93 @@ const wreq_js_1 = require("../wreq-js");
24
25
  isClosed = true;
25
26
  },
26
27
  onError: (error) => {
27
- console.error('WebSocket error:', error);
28
+ console.error("WebSocket error:", error);
28
29
  },
29
30
  });
30
- console.log('WebSocket connected');
31
- await ws.send('Hello!');
31
+ console.log("WebSocket connected");
32
+ await ws.send("Hello!");
32
33
  // Wait for echo response
33
- await (0, promises_1.setTimeout)(1000);
34
- node_assert_1.default.ok(messages.length > 0, 'Should receive at least one message');
34
+ await (0, promises_1.setTimeout)(100);
35
+ node_assert_1.default.ok(messages.length > 0, "Should receive at least one message");
35
36
  // Wait a bit for close callback
36
37
  await ws.close();
37
- await (0, promises_1.setTimeout)(5000);
38
- node_assert_1.default.ok(isClosed, 'Should receive close event');
39
- // Rate limit protection: wait before next test
40
- await (0, promises_1.setTimeout)(2000);
38
+ await (0, promises_1.setTimeout)(100);
39
+ node_assert_1.default.ok(isClosed, "Should receive close event");
41
40
  });
42
- (0, node_test_1.test)('should handle parallel sends on same WebSocket', async () => {
41
+ (0, node_test_1.test)("should handle parallel sends on same WebSocket", async () => {
43
42
  const messages = [];
44
- const expectedMessages = ['Message 1', 'Message 2', 'Message 3', 'Message 4', 'Message 5'];
43
+ const expectedMessages = ["Message 1", "Message 2", "Message 3", "Message 4", "Message 5"];
45
44
  const ws = await (0, wreq_js_1.websocket)({
46
- url: 'wss://echo.websocket.org',
47
- browser: 'chrome_137',
45
+ url: WS_TEST_URL,
46
+ browser: "chrome_142",
48
47
  onMessage: (data) => {
49
48
  messages.push(data);
50
49
  },
51
50
  onClose: () => { },
52
51
  onError: (error) => {
53
- console.error('WebSocket error:', error);
52
+ console.error("WebSocket error:", error);
54
53
  },
55
54
  });
56
- console.log('Testing parallel sends...');
55
+ console.log("Testing parallel sends...");
57
56
  // Send multiple messages in parallel
58
57
  await Promise.all([
59
- ws.send('Message 1'),
60
- ws.send('Message 2'),
61
- ws.send('Message 3'),
62
- ws.send('Message 4'),
63
- ws.send('Message 5'),
58
+ ws.send("Message 1"),
59
+ ws.send("Message 2"),
60
+ ws.send("Message 3"),
61
+ ws.send("Message 4"),
62
+ ws.send("Message 5"),
64
63
  ]);
65
- console.log('All messages sent in parallel');
64
+ console.log("All messages sent in parallel");
66
65
  // Wait for echo responses
67
- await (0, promises_1.setTimeout)(2000);
68
- node_assert_1.default.ok(messages.length >= 5, 'Should receive at least 5 messages');
66
+ await (0, promises_1.setTimeout)(200);
67
+ node_assert_1.default.ok(messages.length >= 5, "Should receive at least 5 messages");
69
68
  // Verify that all expected messages were received (order may vary)
70
69
  const receivedStrings = messages.map((m) => (Buffer.isBuffer(m) ? m.toString() : m));
71
70
  for (const expected of expectedMessages) {
72
- node_assert_1.default.ok(receivedStrings.includes(expected), `Should receive message: "${expected}". Got: ${receivedStrings.join(', ')}`);
71
+ node_assert_1.default.ok(receivedStrings.includes(expected), `Should receive message: "${expected}". Got: ${receivedStrings.join(", ")}`);
73
72
  }
74
- console.log('All messages received correctly:', receivedStrings.join(', '));
73
+ console.log("All messages received correctly:", receivedStrings.join(", "));
75
74
  await ws.close();
76
- // Rate limit protection: wait before next test
77
- await (0, promises_1.setTimeout)(2000);
78
75
  });
79
- (0, node_test_1.test)('should handle multiple WebSocket connections simultaneously', async () => {
76
+ (0, node_test_1.test)("should handle multiple WebSocket connections simultaneously", async () => {
80
77
  const ws1Messages = [];
81
78
  const ws2Messages = [];
82
79
  // Create two WebSocket connections in parallel
83
80
  const [ws1, ws2] = await Promise.all([
84
81
  (0, wreq_js_1.websocket)({
85
- url: 'wss://echo.websocket.org',
86
- browser: 'chrome_137',
82
+ url: WS_TEST_URL,
83
+ browser: "chrome_142",
87
84
  onMessage: (data) => ws1Messages.push(data),
88
85
  onClose: () => { },
89
86
  onError: () => { },
90
87
  }),
91
88
  (0, wreq_js_1.websocket)({
92
- url: 'wss://echo.websocket.org',
93
- browser: 'firefox_139',
89
+ url: WS_TEST_URL,
90
+ browser: "firefox_139",
94
91
  onMessage: (data) => ws2Messages.push(data),
95
92
  onClose: () => { },
96
93
  onError: () => { },
97
94
  }),
98
95
  ]);
99
- console.log('WebSocket connections created');
96
+ console.log("WebSocket connections created");
100
97
  // Send unique messages on both connections in parallel
101
- await Promise.all([ws1.send('From WS1'), ws2.send('From WS2')]);
98
+ await Promise.all([ws1.send("From WS1"), ws2.send("From WS2")]);
102
99
  // Wait for responses
103
- await (0, promises_1.setTimeout)(1500);
104
- node_assert_1.default.ok(ws1Messages.length > 0, 'WS1 should receive messages');
105
- node_assert_1.default.ok(ws2Messages.length > 0, 'WS2 should receive messages');
100
+ await (0, promises_1.setTimeout)(200);
101
+ node_assert_1.default.ok(ws1Messages.length > 0, "WS1 should receive messages");
102
+ node_assert_1.default.ok(ws2Messages.length > 0, "WS2 should receive messages");
106
103
  // Verify that each connection received the correct message (not mixed up)
107
104
  // Note: echo.websocket.org sends a "Request served by..." message first, then echoes
108
105
  const ws1Strings = ws1Messages.map((m) => (Buffer.isBuffer(m) ? m.toString() : m));
109
106
  const ws2Strings = ws2Messages.map((m) => (Buffer.isBuffer(m) ? m.toString() : m));
110
- node_assert_1.default.ok(ws1Strings.includes('From WS1'), 'WS1 should receive its own message');
111
- node_assert_1.default.ok(ws2Strings.includes('From WS2'), 'WS2 should receive its own message');
107
+ node_assert_1.default.ok(ws1Strings.includes("From WS1"), "WS1 should receive its own message");
108
+ node_assert_1.default.ok(ws2Strings.includes("From WS2"), "WS2 should receive its own message");
112
109
  // Verify messages are not mixed up between connections
113
- node_assert_1.default.ok(!ws1Strings.includes('From WS2'), 'WS1 should NOT receive WS2 message');
114
- node_assert_1.default.ok(!ws2Strings.includes('From WS1'), 'WS2 should NOT receive WS1 message');
115
- console.log('Messages correctly isolated between connections:');
116
- console.log(' WS1:', ws1Strings);
117
- console.log(' WS2:', ws2Strings);
110
+ node_assert_1.default.ok(!ws1Strings.includes("From WS2"), "WS1 should NOT receive WS2 message");
111
+ node_assert_1.default.ok(!ws2Strings.includes("From WS1"), "WS2 should NOT receive WS1 message");
112
+ console.log("Messages correctly isolated between connections:");
113
+ console.log(" WS1:", ws1Strings);
114
+ console.log(" WS2:", ws2Strings);
118
115
  // Close both connections
119
116
  await Promise.all([ws1.close(), ws2.close()]);
120
117
  });
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.spec.js","sourceRoot":"","sources":["../../src/test/websocket.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.spec.js","sourceRoot":"","sources":["../../src/test/websocket.spec.ts"],"names":[],"mappings":"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"}