Skip to content

Commit ec65208

Browse files
committed
add mroe cloudflare tests cases
1 parent 70b74ae commit ec65208

File tree

4 files changed

+345
-140
lines changed

4 files changed

+345
-140
lines changed

.fernignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ src/version.ts
1919
src/wasm/
2020
src/webhooks.ts
2121
src/wrapper.ts
22+
tests/cloudflare/
2223
tests/unit/cache/local.test.ts
2324
tests/unit/datastream/datastream-client.test.ts
2425
tests/unit/datastream/websocket-client.test.ts

package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,29 +25,29 @@
2525
"test:cloudflare": "node scripts/test-cloudflare.mjs"
2626
},
2727
"dependencies": {
28+
"@types/ws": "^8.18.1",
2829
"form-data": "^4.0.4",
2930
"formdata-node": "^6.0.3",
3031
"node-fetch": "^2.7.0",
3132
"readable-stream": "^4.5.2",
32-
"ws": "^8.18.1",
33-
"@types/ws": "^8.18.1"
33+
"ws": "^8.18.1"
3434
},
3535
"devDependencies": {
36+
"@biomejs/biome": "2.3.1",
37+
"@jest/globals": "^29.7.0",
38+
"@types/jest": "^29.5.14",
39+
"@types/node": "^18.19.70",
3640
"@types/node-fetch": "^2.6.12",
3741
"@types/readable-stream": "^4.0.18",
38-
"webpack": "^5.97.1",
39-
"ts-loader": "^9.5.1",
42+
"esbuild": "^0.25.9",
4043
"jest": "^29.7.0",
41-
"@jest/globals": "^29.7.0",
42-
"@types/jest": "^29.5.14",
43-
"ts-jest": "^29.3.4",
4444
"jest-environment-jsdom": "^29.7.0",
45+
"miniflare": "^4.20260305.0",
4546
"msw": "2.11.2",
46-
"@types/node": "^18.19.70",
47+
"ts-jest": "^29.3.4",
48+
"ts-loader": "^9.5.1",
4749
"typescript": "~5.7.2",
48-
"@biomejs/biome": "2.3.1",
49-
"esbuild": "^0.25.9",
50-
"miniflare": "^3.0.0"
50+
"webpack": "^5.97.1"
5151
},
5252
"browser": {
5353
"fs": false,

tests/cloudflare/worker.mjs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,31 @@ import { SchematicClient } from "../../dist/index.js";
22

33
export default {
44
async fetch(request, env, ctx) {
5+
const results = [];
6+
7+
// Test 1: Offline mode — basic import and instantiation
58
try {
69
const client = new SchematicClient({ offline: true });
7-
return new Response("OK");
10+
await client.close();
11+
results.push("offline-mode: ok");
12+
} catch (e) {
13+
return new Response("offline-mode: " + e.message, { status: 500 });
14+
}
15+
16+
// Test 2: DataStream in non-replicator mode should be blocked in edge runtime
17+
try {
18+
const client = new SchematicClient({
19+
apiKey: "test_key",
20+
useDataStream: true,
21+
});
22+
// DataStream should have been disabled (no datastreamClient created)
23+
// but the client should still be functional
24+
await client.close();
25+
results.push("datastream-blocked: ok");
826
} catch (e) {
9-
return new Response("Error: " + e.message, { status: 500 });
27+
return new Response("datastream-blocked: " + e.message, { status: 500 });
1028
}
29+
30+
return new Response(results.join("\n"));
1131
},
1232
};

0 commit comments

Comments
 (0)