movehat 0.2.0 → 0.2.2
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.
- package/README.md +132 -279
- package/dist/__tests__/deployContract.test.js +56 -47
- package/dist/__tests__/deployContract.test.js.map +1 -1
- package/dist/__tests__/exports.test.d.ts +2 -0
- package/dist/__tests__/exports.test.d.ts.map +1 -0
- package/dist/__tests__/exports.test.js +30 -0
- package/dist/__tests__/exports.test.js.map +1 -0
- package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts +4 -3
- package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts.map +1 -1
- package/dist/__tests__/fixtures/sigint-deploy-harness.js +8 -7
- package/dist/__tests__/fixtures/sigint-deploy-harness.js.map +1 -1
- package/dist/__tests__/fork/api.test.js +7 -2
- package/dist/__tests__/fork/api.test.js.map +1 -1
- package/dist/__tests__/fork/api.timeout.test.d.ts +2 -0
- package/dist/__tests__/fork/api.timeout.test.d.ts.map +1 -0
- package/dist/__tests__/fork/api.timeout.test.js +98 -0
- package/dist/__tests__/fork/api.timeout.test.js.map +1 -0
- package/dist/__tests__/harness/Harness.proxy.test.js +7 -11
- package/dist/__tests__/harness/Harness.proxy.test.js.map +1 -1
- package/dist/__tests__/harness/codeObject.deploy.test.js +1 -1
- package/dist/__tests__/harness/codeObject.deploy.test.js.map +1 -1
- package/dist/__tests__/harness/view.test.js +3 -3
- package/dist/commands/__tests__/compile.toml-mutation.test.d.ts +2 -0
- package/dist/commands/__tests__/compile.toml-mutation.test.d.ts.map +1 -0
- package/dist/commands/__tests__/compile.toml-mutation.test.js +69 -0
- package/dist/commands/__tests__/compile.toml-mutation.test.js.map +1 -0
- package/dist/commands/__tests__/init.test.js +73 -11
- package/dist/commands/__tests__/init.test.js.map +1 -1
- package/dist/commands/__tests__/run.test.js +3 -3
- package/dist/commands/__tests__/run.test.js.map +1 -1
- package/dist/commands/init.d.ts +22 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +55 -6
- package/dist/commands/init.js.map +1 -1
- package/dist/core/AccountManager.d.ts +0 -3
- package/dist/core/AccountManager.d.ts.map +1 -1
- package/dist/core/AccountManager.js +14 -7
- package/dist/core/AccountManager.js.map +1 -1
- package/dist/core/Publisher.d.ts +0 -5
- package/dist/core/Publisher.d.ts.map +1 -1
- package/dist/core/Publisher.js +52 -76
- package/dist/core/Publisher.js.map +1 -1
- package/dist/core/__tests__/AccountManager.global-state.test.d.ts +2 -0
- package/dist/core/__tests__/AccountManager.global-state.test.d.ts.map +1 -0
- package/dist/core/__tests__/AccountManager.global-state.test.js +69 -0
- package/dist/core/__tests__/AccountManager.global-state.test.js.map +1 -0
- package/dist/core/__tests__/movementProfile.test.d.ts +2 -0
- package/dist/core/__tests__/movementProfile.test.d.ts.map +1 -0
- package/dist/core/__tests__/movementProfile.test.js +112 -0
- package/dist/core/__tests__/movementProfile.test.js.map +1 -0
- package/dist/core/config.js +6 -5
- package/dist/core/config.js.map +1 -1
- package/dist/core/contract.d.ts +0 -3
- package/dist/core/contract.d.ts.map +1 -1
- package/dist/core/contract.js +0 -3
- package/dist/core/contract.js.map +1 -1
- package/dist/core/deployments.d.ts +0 -6
- package/dist/core/deployments.d.ts.map +1 -1
- package/dist/core/deployments.js +0 -12
- package/dist/core/deployments.js.map +1 -1
- package/dist/core/movementProfile.d.ts +55 -22
- package/dist/core/movementProfile.d.ts.map +1 -1
- package/dist/core/movementProfile.js +77 -99
- package/dist/core/movementProfile.js.map +1 -1
- package/dist/fork/__tests__/manager.test.js +1 -1
- package/dist/fork/__tests__/server.cors.test.d.ts +2 -0
- package/dist/fork/__tests__/server.cors.test.d.ts.map +1 -0
- package/dist/fork/__tests__/server.cors.test.js +79 -0
- package/dist/fork/__tests__/server.cors.test.js.map +1 -0
- package/dist/fork/api.d.ts +9 -1
- package/dist/fork/api.d.ts.map +1 -1
- package/dist/fork/api.js +37 -7
- package/dist/fork/api.js.map +1 -1
- package/dist/fork/manager.d.ts +1 -21
- package/dist/fork/manager.d.ts.map +1 -1
- package/dist/fork/manager.js +1 -41
- package/dist/fork/manager.js.map +1 -1
- package/dist/fork/server.d.ts +20 -1
- package/dist/fork/server.d.ts.map +1 -1
- package/dist/fork/server.js +19 -9
- package/dist/fork/server.js.map +1 -1
- package/dist/fork/test.d.ts +0 -1
- package/dist/fork/test.d.ts.map +1 -1
- package/dist/fork/test.js.map +1 -1
- package/dist/harness/Harness.d.ts +11 -13
- package/dist/harness/Harness.d.ts.map +1 -1
- package/dist/harness/Harness.js +13 -13
- package/dist/harness/Harness.js.map +1 -1
- package/dist/harness/codeObject.d.ts.map +1 -1
- package/dist/harness/codeObject.js +31 -38
- package/dist/harness/codeObject.js.map +1 -1
- package/dist/harness/script.d.ts +3 -3
- package/dist/harness/script.d.ts.map +1 -1
- package/dist/harness/script.js +33 -29
- package/dist/harness/script.js.map +1 -1
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts +2 -0
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts.map +1 -0
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js +172 -0
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js.map +1 -0
- package/dist/helpers/setupLocalTesting.d.ts +1 -2
- package/dist/helpers/setupLocalTesting.d.ts.map +1 -1
- package/dist/helpers/setupLocalTesting.js +28 -2
- package/dist/helpers/setupLocalTesting.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/node/LocalNodeManager.d.ts +8 -0
- package/dist/node/LocalNodeManager.d.ts.map +1 -1
- package/dist/node/LocalNodeManager.js +10 -1
- package/dist/node/LocalNodeManager.js.map +1 -1
- package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts +2 -0
- package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts.map +1 -0
- package/dist/node/__tests__/LocalNodeManager.api-port.test.js +55 -0
- package/dist/node/__tests__/LocalNodeManager.api-port.test.js.map +1 -0
- package/dist/node/__tests__/LocalNodeManager.test.js +4 -3
- package/dist/node/__tests__/LocalNodeManager.test.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1 -3
- package/dist/runtime.js.map +1 -1
- package/dist/templates/move/Move.toml +1 -1
- package/dist/templates/move/sources/Counter.move +31 -4
- package/dist/templates/scripts/deploy-counter.ts +11 -1
- package/dist/templates/tests/Counter.test.ts +2 -2
- package/dist/types/config.d.ts +8 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts +2 -0
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts.map +1 -0
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js +43 -0
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js.map +1 -0
- package/dist/utils/address.d.ts +0 -4
- package/dist/utils/address.d.ts.map +1 -1
- package/dist/utils/address.js +0 -4
- package/dist/utils/address.js.map +1 -1
- package/dist/utils/childProcessAdapter.d.ts +7 -0
- package/dist/utils/childProcessAdapter.d.ts.map +1 -1
- package/dist/utils/childProcessAdapter.js +23 -6
- package/dist/utils/childProcessAdapter.js.map +1 -1
- package/package.json +2 -1
- package/src/__tests__/deployContract.test.ts +59 -50
- package/src/__tests__/exports.test.ts +32 -0
- package/src/__tests__/fixtures/sigint-deploy-harness.ts +8 -7
- package/src/__tests__/fork/api.test.ts +7 -2
- package/src/__tests__/fork/api.timeout.test.ts +150 -0
- package/src/__tests__/harness/Harness.proxy.test.ts +7 -11
- package/src/__tests__/harness/codeObject.deploy.test.ts +1 -1
- package/src/__tests__/harness/view.test.ts +3 -3
- package/src/commands/__tests__/compile.toml-mutation.test.ts +77 -0
- package/src/commands/__tests__/init.test.ts +96 -11
- package/src/commands/__tests__/run.test.ts +3 -3
- package/src/commands/init.ts +77 -6
- package/src/core/AccountManager.ts +18 -13
- package/src/core/Publisher.ts +58 -85
- package/src/core/__tests__/AccountManager.global-state.test.ts +83 -0
- package/src/core/__tests__/movementProfile.test.ts +131 -0
- package/src/core/config.ts +9 -5
- package/src/core/contract.ts +0 -3
- package/src/core/deployments.ts +0 -12
- package/src/core/movementProfile.ts +75 -127
- package/src/fork/__tests__/manager.test.ts +1 -1
- package/src/fork/__tests__/server.cors.test.ts +101 -0
- package/src/fork/api.ts +69 -10
- package/src/fork/manager.ts +1 -41
- package/src/fork/server.ts +38 -9
- package/src/fork/test.ts +0 -1
- package/src/harness/Harness.ts +16 -13
- package/src/harness/codeObject.ts +38 -48
- package/src/harness/script.ts +40 -39
- package/src/helpers/__tests__/setupLocalTesting.fork-network.test.ts +212 -0
- package/src/helpers/setupLocalTesting.ts +37 -4
- package/src/index.ts +9 -2
- package/src/node/LocalNodeManager.ts +24 -2
- package/src/node/__tests__/LocalNodeManager.api-port.test.ts +62 -0
- package/src/node/__tests__/LocalNodeManager.test.ts +5 -4
- package/src/runtime.ts +1 -3
- package/src/templates/move/Move.toml +1 -1
- package/src/templates/move/sources/Counter.move +31 -4
- package/src/templates/scripts/deploy-counter.ts +11 -1
- package/src/templates/tests/Counter.test.ts +2 -2
- package/src/types/config.ts +8 -1
- package/src/types/runtime.ts +2 -2
- package/src/utils/__tests__/childProcessAdapter.maxBuffer.test.ts +51 -0
- package/src/utils/address.ts +0 -4
- package/src/utils/childProcessAdapter.ts +35 -6
|
@@ -126,18 +126,18 @@ version = "0.0.1"
|
|
|
126
126
|
// assertion fires before any real damage.
|
|
127
127
|
expect(existsSync(join(tmpHome, ".aptos", "config.yaml"))).toBe(false);
|
|
128
128
|
});
|
|
129
|
-
it("two concurrent deploys
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
//
|
|
135
|
-
//
|
|
136
|
-
//
|
|
137
|
-
//
|
|
138
|
-
//
|
|
139
|
-
//
|
|
140
|
-
// Seed
|
|
129
|
+
it("two concurrent deploys use distinct temp key files and never touch ~/.aptos/config.yaml", async () => {
|
|
130
|
+
// Each deploy writes its private key to a UUID-named temp file
|
|
131
|
+
// (see `core/movementProfile.ts:writeTempKeyFile`) and passes
|
|
132
|
+
// `--private-key-file <path>` to Movement CLI. Concurrent deploys
|
|
133
|
+
// have no shared state — no profile YAML, no mutex, no race.
|
|
134
|
+
// Asserts:
|
|
135
|
+
// 1. Each invocation records a DISTINCT --private-key-file path.
|
|
136
|
+
// 2. After both deploys finish, neither temp key file remains on
|
|
137
|
+
// disk (cleanup ran on both happy paths).
|
|
138
|
+
// 3. ~/.aptos/config.yaml is byte-identical to what was on disk
|
|
139
|
+
// before — the new flow doesn't touch the user's CLI config.
|
|
140
|
+
// Seed an unrelated user profile that MUST survive untouched.
|
|
141
141
|
const aptosDir = join(tmpHome, ".aptos");
|
|
142
142
|
mkdirSync(aptosDir, { recursive: true });
|
|
143
143
|
const preExisting = {
|
|
@@ -152,9 +152,10 @@ version = "0.0.1"
|
|
|
152
152
|
};
|
|
153
153
|
const configPath = join(aptosDir, "config.yaml");
|
|
154
154
|
writeFileSync(configPath, yaml.dump(preExisting), { mode: 0o600 });
|
|
155
|
-
|
|
156
|
-
//
|
|
157
|
-
//
|
|
155
|
+
const initialConfigBytes = readFileSync(configPath, "utf8");
|
|
156
|
+
// Set up two Publisher instances with fake adapters that record
|
|
157
|
+
// their --private-key-file argument and inject a small delay on
|
|
158
|
+
// publish so the critical sections overlap.
|
|
158
159
|
function makeDelayedAdapter(label) {
|
|
159
160
|
const captured = {};
|
|
160
161
|
const adapter = {
|
|
@@ -202,33 +203,37 @@ version = "0.0.1"
|
|
|
202
203
|
packageDir: join(tmpCwd, "move"),
|
|
203
204
|
}),
|
|
204
205
|
]);
|
|
205
|
-
// Both publish calls captured distinct --
|
|
206
|
+
// Both publish calls captured distinct --private-key-file args.
|
|
206
207
|
const argsA = a.captured.publishCall.args;
|
|
207
208
|
const argsB = b.captured.publishCall.args;
|
|
208
|
-
const
|
|
209
|
-
const
|
|
210
|
-
expect(
|
|
211
|
-
expect(
|
|
212
|
-
expect(
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
|
|
216
|
-
expect(
|
|
217
|
-
|
|
218
|
-
|
|
209
|
+
const keyFileArgA = argsA[argsA.indexOf("--private-key-file") + 1];
|
|
210
|
+
const keyFileArgB = argsB[argsB.indexOf("--private-key-file") + 1];
|
|
211
|
+
expect(keyFileArgA).toMatch(/movehat-key-/);
|
|
212
|
+
expect(keyFileArgB).toMatch(/movehat-key-/);
|
|
213
|
+
expect(keyFileArgA).not.toBe(keyFileArgB);
|
|
214
|
+
// Cleanup ran on both — neither temp file persists after the
|
|
215
|
+
// deploys finished normally.
|
|
216
|
+
expect(existsSync(keyFileArgA)).toBe(false);
|
|
217
|
+
expect(existsSync(keyFileArgB)).toBe(false);
|
|
218
|
+
// ~/.aptos/config.yaml byte-identical to pre-deploy state — the new
|
|
219
|
+
// flow never touches the user's CLI config.
|
|
220
|
+
expect(readFileSync(configPath, "utf8")).toBe(initialConfigBytes);
|
|
219
221
|
});
|
|
220
|
-
it("SIGINT mid-deploy
|
|
221
|
-
//
|
|
222
|
-
//
|
|
223
|
-
//
|
|
224
|
-
//
|
|
225
|
-
//
|
|
222
|
+
it("SIGINT mid-deploy unlinks the temp key file", async () => {
|
|
223
|
+
// Without sync SIGINT cleanup, the temp private-key file written
|
|
224
|
+
// by `writeTempKeyFile` would persist on disk after an abnormal
|
|
225
|
+
// exit (chmod 0o600 prevents other users from reading it, but
|
|
226
|
+
// forensic recovery from /tmp is still possible). The sync signal
|
|
227
|
+
// handler runs synchronously before process.exit and unlinks
|
|
228
|
+
// every active deploy's key file.
|
|
226
229
|
//
|
|
227
230
|
// This test spawns a child process running a harness that drives
|
|
228
231
|
// Publisher.deploy() with a 3-second-delayed publish, then sends
|
|
229
232
|
// SIGINT mid-flight. Vitest's own process is unaffected because
|
|
230
233
|
// the SIGINT goes to the child.
|
|
231
|
-
// Seed an unrelated user profile that MUST
|
|
234
|
+
// Seed an unrelated user profile that MUST be left untouched —
|
|
235
|
+
// the new flow doesn't read or write ~/.aptos/config.yaml at all,
|
|
236
|
+
// so this is an invariant check.
|
|
232
237
|
const aptosDir = join(tmpHome, ".aptos");
|
|
233
238
|
mkdirSync(aptosDir, { recursive: true });
|
|
234
239
|
const configPath = join(aptosDir, "config.yaml");
|
|
@@ -242,6 +247,7 @@ version = "0.0.1"
|
|
|
242
247
|
},
|
|
243
248
|
},
|
|
244
249
|
}), { mode: 0o600 });
|
|
250
|
+
const initialConfigBytes = readFileSync(configPath, "utf8");
|
|
245
251
|
const harnessPath = join(__dirname, "fixtures", "sigint-deploy-harness.ts");
|
|
246
252
|
// Resolve tsx's CLI binary by absolute path — the test's tmp cwd has
|
|
247
253
|
// no node_modules, so a bare `tsx` import would fail to resolve.
|
|
@@ -255,8 +261,8 @@ version = "0.0.1"
|
|
|
255
261
|
cwd: tmpCwd,
|
|
256
262
|
stdio: ["ignore", "pipe", "pipe"],
|
|
257
263
|
});
|
|
258
|
-
// Wait for the harness to announce its
|
|
259
|
-
// (it writes a JSON line `{"
|
|
264
|
+
// Wait for the harness to announce its temp key file path via stdout
|
|
265
|
+
// (it writes a JSON line `{"keyFile":"/tmp/movehat-key-XXXX"}` just
|
|
260
266
|
// before entering the slow publish step).
|
|
261
267
|
let announced;
|
|
262
268
|
let stdoutBuf = "";
|
|
@@ -269,8 +275,8 @@ version = "0.0.1"
|
|
|
269
275
|
continue;
|
|
270
276
|
try {
|
|
271
277
|
const parsed = JSON.parse(trimmed);
|
|
272
|
-
if (typeof parsed.
|
|
273
|
-
announced = parsed.
|
|
278
|
+
if (typeof parsed.keyFile === "string")
|
|
279
|
+
announced = parsed.keyFile;
|
|
274
280
|
}
|
|
275
281
|
catch {
|
|
276
282
|
/* not a JSON line we care about */
|
|
@@ -286,23 +292,26 @@ version = "0.0.1"
|
|
|
286
292
|
}
|
|
287
293
|
if (!announced) {
|
|
288
294
|
child.kill("SIGKILL");
|
|
289
|
-
throw new Error(`harness never announced
|
|
295
|
+
throw new Error(`harness never announced keyFile in 8s.\n` +
|
|
290
296
|
`stdout so far:\n${stdoutBuf}\n---\nstderr so far:\n${stderrBuf}`);
|
|
291
297
|
}
|
|
292
|
-
expect(announced).toMatch(
|
|
298
|
+
expect(announced).toMatch(/movehat-key-/);
|
|
299
|
+
// The temp key file is present on disk while the harness is in
|
|
300
|
+
// the middle of the slow publish (the JSON announcement is emitted
|
|
301
|
+
// right before the simulated 3s wait, and the file is unlinked
|
|
302
|
+
// only on cleanup).
|
|
303
|
+
expect(existsSync(announced)).toBe(true);
|
|
293
304
|
// Deliver SIGINT mid-publish and wait for the harness to exit.
|
|
294
305
|
child.kill("SIGINT");
|
|
295
306
|
const exitCode = await new Promise((resolve) => {
|
|
296
307
|
child.on("exit", (code) => resolve(code));
|
|
297
308
|
});
|
|
298
309
|
expect(exitCode).toBe(130);
|
|
299
|
-
// The
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
expect(
|
|
304
|
-
expect(Object.keys(finalYaml.profiles).sort()).toEqual(["user_main"]);
|
|
305
|
-
expect(finalYaml.profiles.user_main.private_key).toBe("0x" + "a".repeat(64));
|
|
310
|
+
// The temp key file has been unlinked by the SIGINT handler.
|
|
311
|
+
expect(existsSync(announced)).toBe(false);
|
|
312
|
+
// The user's ~/.aptos/config.yaml is byte-identical to pre-deploy
|
|
313
|
+
// — the new flow never touches it.
|
|
314
|
+
expect(readFileSync(configPath, "utf8")).toBe(initialConfigBytes);
|
|
306
315
|
}, 15000);
|
|
307
316
|
it("does not mutate Move.toml during deploy (#38)", async () => {
|
|
308
317
|
// Pre-fix #38: deployContract overwrote every entry under [addresses]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployContract.test.js","sourceRoot":"","sources":["../../src/__tests__/deployContract.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deployContract.test.js","sourceRoot":"","sources":["../../src/__tests__/deployContract.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import * as publicSurface from "../index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Locks the public export surface of `movehat`. Adding a new symbol
|
|
5
|
+
* is a deliberate API change; removing one is a breaking change.
|
|
6
|
+
* Update this list (and the CHANGELOG) when the surface evolves.
|
|
7
|
+
*/
|
|
8
|
+
const EXPECTED_RUNTIME_EXPORTS = [
|
|
9
|
+
"Harness",
|
|
10
|
+
"HarnessDisposedError",
|
|
11
|
+
"ForkManager",
|
|
12
|
+
"MovementApiClient",
|
|
13
|
+
"ForkStorage",
|
|
14
|
+
"ForkServer",
|
|
15
|
+
"ModuleAlreadyDeployedError",
|
|
16
|
+
"PostPublishError",
|
|
17
|
+
"initRuntime",
|
|
18
|
+
];
|
|
19
|
+
describe("public export surface (movehat root)", () => {
|
|
20
|
+
it.each(EXPECTED_RUNTIME_EXPORTS)("exports %s as a runtime value", (name) => {
|
|
21
|
+
expect(publicSurface[name]).toBeDefined();
|
|
22
|
+
});
|
|
23
|
+
// Type-only exports cannot be probed at runtime; the assertion is
|
|
24
|
+
// that the module imports successfully (failing types-only export
|
|
25
|
+
// would surface as a TS error in `pnpm check:example`).
|
|
26
|
+
it("imports without errors", () => {
|
|
27
|
+
expect(typeof publicSurface).toBe("object");
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=exports.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,aAAa,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,MAAM,wBAAwB,GAAG;IAC/B,SAAS;IACT,sBAAsB;IACtB,aAAa;IACb,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,4BAA4B;IAC5B,kBAAkB;IAClB,aAAa;CACL,CAAC;AAEX,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,+BAA+B,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1E,MAAM,CAAC,aAAa,CAAC,IAAkC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,kEAAkE;IAClE,wDAAwD;IACxD,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
* send SIGINT mid-flight.
|
|
10
10
|
* 2. Drive `Publisher.deploy()` against the fake adapter using a
|
|
11
11
|
* synthetic MovehatConfig + Account read from env vars.
|
|
12
|
-
* 3. Write the
|
|
13
|
-
*
|
|
14
|
-
* parent test knows which
|
|
12
|
+
* 3. Write the temp key file path to stdout as JSON
|
|
13
|
+
* (`{"keyFile": "/tmp/movehat-key-<uuid>"}`) before the slow
|
|
14
|
+
* publish so the parent test knows which file to look for after
|
|
15
|
+
* SIGINT.
|
|
15
16
|
* 4. If the deploy completes naturally (test failure case), exit 0.
|
|
16
17
|
* 5. When SIGINT arrives, Publisher's signal handler runs synchronous
|
|
17
18
|
* cleanup and `setImmediate(() => process.exit(130))`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sigint-deploy-harness.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/sigint-deploy-harness.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sigint-deploy-harness.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/sigint-deploy-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
* send SIGINT mid-flight.
|
|
10
10
|
* 2. Drive `Publisher.deploy()` against the fake adapter using a
|
|
11
11
|
* synthetic MovehatConfig + Account read from env vars.
|
|
12
|
-
* 3. Write the
|
|
13
|
-
*
|
|
14
|
-
* parent test knows which
|
|
12
|
+
* 3. Write the temp key file path to stdout as JSON
|
|
13
|
+
* (`{"keyFile": "/tmp/movehat-key-<uuid>"}`) before the slow
|
|
14
|
+
* publish so the parent test knows which file to look for after
|
|
15
|
+
* SIGINT.
|
|
15
16
|
* 4. If the deploy completes naturally (test failure case), exit 0.
|
|
16
17
|
* 5. When SIGINT arrives, Publisher's signal handler runs synchronous
|
|
17
18
|
* cleanup and `setImmediate(() => process.exit(130))`.
|
|
@@ -49,10 +50,10 @@ async function main() {
|
|
|
49
50
|
return { exitCode: 0, stdout: "built", stderr: "" };
|
|
50
51
|
}
|
|
51
52
|
if (input.args[1] === "publish") {
|
|
52
|
-
// Surface the
|
|
53
|
-
const
|
|
54
|
-
const
|
|
55
|
-
process.stdout.write(JSON.stringify({
|
|
53
|
+
// Surface the temp key file path to the parent BEFORE blocking.
|
|
54
|
+
const keyFileIdx = input.args.indexOf("--private-key-file");
|
|
55
|
+
const keyFile = keyFileIdx >= 0 ? input.args[keyFileIdx + 1] : "";
|
|
56
|
+
process.stdout.write(JSON.stringify({ keyFile }) + "\n");
|
|
56
57
|
// Hold long enough for the parent to deliver SIGINT.
|
|
57
58
|
await new Promise((r) => setTimeout(r, 3000));
|
|
58
59
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sigint-deploy-harness.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/sigint-deploy-harness.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sigint-deploy-harness.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/sigint-deploy-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQpD,sFAAsF;AACtF,qEAAqE;AACrE,MAAM,gBAAgB,GACpB,oEAAoE,CAAC;AAEvE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QACrC,UAAU,EAAE,IAAI,iBAAiB,CAAC,gBAAgB,CAAC;KACpD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAkB;QAC5B,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,4BAA4B;QACjC,UAAU,EAAE,gBAAgB;QAC5B,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC1C,cAAc,EAAE,EAAE;QAClB,aAAa,EAAE;YACb,GAAG,EAAE,4BAA4B;YACjC,OAAO,EAAE,SAAS;SACnB;KACF,CAAC;IAEF,MAAM,kBAAkB,GAAwB;QAC9C,KAAK,CAAC,GAAG,CAAC,KAAe;YACvB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC9B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACtD,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChC,gEAAgE;gBAChE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACzD,qDAAqD;gBACrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9C,OAAO;oBACL,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/C,MAAM,EAAE,EAAE;iBACX,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK;YACH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,CAAC,MAAM,CAAC;QACrB,UAAU,EAAE,gBAAgB;QAC5B,MAAM;QACN,OAAO;QACP,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAmB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
3
|
/**
|
|
4
|
-
* Tests for `MovementApiClient` Authorization header injection
|
|
5
|
-
*
|
|
4
|
+
* Tests for `MovementApiClient` Authorization header injection —
|
|
5
|
+
* verifies the apiKey threading from `Harness.createFork`.
|
|
6
6
|
*
|
|
7
7
|
* Strategy: `vi.mock` `node:https` and `node:http` so the test
|
|
8
8
|
* captures the request options passed to `client.get(url, options, cb)`
|
|
@@ -59,6 +59,11 @@ function setupGetCapture() {
|
|
|
59
59
|
}
|
|
60
60
|
const fakeReq = new EventEmitter();
|
|
61
61
|
fakeReq.end = () => { };
|
|
62
|
+
// F3: api.ts now installs a setTimeout on the request and may call
|
|
63
|
+
// destroy() on overflow / timeout. Stub both so this happy-path
|
|
64
|
+
// capture mock still satisfies the new contract.
|
|
65
|
+
fakeReq.setTimeout = () => { };
|
|
66
|
+
fakeReq.destroy = () => { };
|
|
62
67
|
if (callback) {
|
|
63
68
|
const body = JSON.stringify({
|
|
64
69
|
chain_id: 250,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../src/__tests__/fork/api.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AAEH,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AACzB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAExB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACtB,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;IAC1B,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrB,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;IACzB,GAAG,EAAE,OAAO;CACb,CAAC,CAAC,CAAC;AAEJ;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,UAAU,GAAG,GAAG;IACtD,MAAM,GAAG,GAAG,IAAI,YAAY,EAAgC,CAAC;IAC5D,GAAyC,CAAC,UAAU,GAAG,UAAU,CAAC;IACnE,oEAAoE;IACpE,YAAY,CAAC,GAAG,EAAE;QACf,GAA+B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,GAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe;IAGtB,MAAM,QAAQ,GAGV,EAAE,CAAC;IAEP,MAAM,OAAO,GAAG,CACd,GAAW,EACX,OAEoC,EACpC,EAAmC,EACpB,EAAE;QACjB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QACnB,qEAAqE;QACrE,IAAI,QAAsD,CAAC;QAC3D,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,YAAY,EAA8B,CAAC;QAC9D,OAA0C,CAAC,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../src/__tests__/fork/api.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AAEH,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AACzB,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAExB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACtB,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;IAC1B,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrB,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;IACzB,GAAG,EAAE,OAAO;CACb,CAAC,CAAC,CAAC;AAEJ;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,UAAU,GAAG,GAAG;IACtD,MAAM,GAAG,GAAG,IAAI,YAAY,EAAgC,CAAC;IAC5D,GAAyC,CAAC,UAAU,GAAG,UAAU,CAAC;IACnE,oEAAoE;IACpE,YAAY,CAAC,GAAG,EAAE;QACf,GAA+B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,GAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe;IAGtB,MAAM,QAAQ,GAGV,EAAE,CAAC;IAEP,MAAM,OAAO,GAAG,CACd,GAAW,EACX,OAEoC,EACpC,EAAmC,EACpB,EAAE;QACjB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QACnB,qEAAqE;QACrE,IAAI,QAAsD,CAAC;QAC3D,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,YAAY,EAA8B,CAAC;QAC9D,OAA0C,CAAC,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3D,mEAAmE;QACnE,gEAAgE;QAChE,iDAAiD;QAChD,OAA4E,CAAC,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACnG,OAA8C,CAAC,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAEnE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,QAAQ,EAAE,GAAG;gBACb,cAAc,EAAE,GAAG;gBACnB,gBAAgB,EAAE,GAAG;gBACrB,KAAK,EAAE,GAAG;gBACV,YAAY,EAAE,GAAG;aAClB,CAAC,CAAC;YACH,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,QAAQ,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACxE,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,SAAS,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;QAEvC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAClC,gCAAgC,EAChC,gBAAgB,CACjB,CAAC;QAEF,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAE7B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;YACxC,aAAa,EAAE,uBAAuB;SACvC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;QAEvC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;QAEvE,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAE7B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QACnD,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.timeout.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fork/api.timeout.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { EventEmitter } from "node:events";
|
|
3
|
+
const httpsGet = vi.fn();
|
|
4
|
+
const httpGet = vi.fn();
|
|
5
|
+
vi.mock("https", () => ({ default: { get: httpsGet }, get: httpsGet }));
|
|
6
|
+
vi.mock("http", () => ({ default: { get: httpGet }, get: httpGet }));
|
|
7
|
+
function makeFakeReq() {
|
|
8
|
+
const req = new EventEmitter();
|
|
9
|
+
req.destroyed = false;
|
|
10
|
+
let timeoutHandle;
|
|
11
|
+
req.end = () => { };
|
|
12
|
+
req.destroy = (err) => {
|
|
13
|
+
req.destroyed = true;
|
|
14
|
+
if (timeoutHandle)
|
|
15
|
+
clearTimeout(timeoutHandle);
|
|
16
|
+
setImmediate(() => req.emit("error", err ?? new Error("destroyed")));
|
|
17
|
+
};
|
|
18
|
+
req.setTimeout = (ms, cb) => {
|
|
19
|
+
timeoutHandle = setTimeout(() => {
|
|
20
|
+
req.emit("timeout");
|
|
21
|
+
if (cb)
|
|
22
|
+
cb();
|
|
23
|
+
}, ms);
|
|
24
|
+
// Don't keep the event loop alive — Node sets this itself but the
|
|
25
|
+
// mock has no native socket to inherit from.
|
|
26
|
+
timeoutHandle.unref?.();
|
|
27
|
+
};
|
|
28
|
+
return req;
|
|
29
|
+
}
|
|
30
|
+
function makeUnresolvableResponse() {
|
|
31
|
+
const res = new EventEmitter();
|
|
32
|
+
res.statusCode = 200;
|
|
33
|
+
return res;
|
|
34
|
+
}
|
|
35
|
+
function makeStreamingResponse(bytesPerChunk, chunks) {
|
|
36
|
+
const res = new EventEmitter();
|
|
37
|
+
res.statusCode = 200;
|
|
38
|
+
setImmediate(() => {
|
|
39
|
+
let i = 0;
|
|
40
|
+
const pump = () => {
|
|
41
|
+
if (i >= chunks) {
|
|
42
|
+
res.emit("end");
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
res.emit("data", Buffer.alloc(bytesPerChunk, 0x61));
|
|
46
|
+
i++;
|
|
47
|
+
setImmediate(pump);
|
|
48
|
+
};
|
|
49
|
+
pump();
|
|
50
|
+
});
|
|
51
|
+
return res;
|
|
52
|
+
}
|
|
53
|
+
describe("F3 — MovementApiClient timeouts and byte cap", () => {
|
|
54
|
+
beforeEach(() => {
|
|
55
|
+
httpsGet.mockReset();
|
|
56
|
+
httpGet.mockReset();
|
|
57
|
+
});
|
|
58
|
+
afterEach(() => {
|
|
59
|
+
vi.restoreAllMocks();
|
|
60
|
+
});
|
|
61
|
+
it("rejects with a timeout error when the upstream never responds", async () => {
|
|
62
|
+
const fakeReq = makeFakeReq();
|
|
63
|
+
httpGet.mockImplementation((_url, options, cb) => {
|
|
64
|
+
const callback = typeof options === "function"
|
|
65
|
+
? options
|
|
66
|
+
: cb;
|
|
67
|
+
if (callback)
|
|
68
|
+
callback(makeUnresolvableResponse());
|
|
69
|
+
return fakeReq;
|
|
70
|
+
});
|
|
71
|
+
const { MovementApiClient } = await import("../../fork/api.js");
|
|
72
|
+
const client = new MovementApiClient("http://hung.example/v1", undefined, {
|
|
73
|
+
timeoutMs: 25,
|
|
74
|
+
maxBytes: 1024 * 1024,
|
|
75
|
+
});
|
|
76
|
+
await expect(client.getLedgerInfo()).rejects.toThrow(/timed out|timeout/i);
|
|
77
|
+
expect(fakeReq.destroyed).toBe(true);
|
|
78
|
+
});
|
|
79
|
+
it("rejects and destroys the request when the response exceeds maxBytes", async () => {
|
|
80
|
+
const fakeReq = makeFakeReq();
|
|
81
|
+
httpGet.mockImplementation((_url, options, cb) => {
|
|
82
|
+
const callback = typeof options === "function"
|
|
83
|
+
? options
|
|
84
|
+
: cb;
|
|
85
|
+
if (callback)
|
|
86
|
+
callback(makeStreamingResponse(2048, 100));
|
|
87
|
+
return fakeReq;
|
|
88
|
+
});
|
|
89
|
+
const { MovementApiClient } = await import("../../fork/api.js");
|
|
90
|
+
const client = new MovementApiClient("http://big.example/v1", undefined, {
|
|
91
|
+
timeoutMs: 5000,
|
|
92
|
+
maxBytes: 4096,
|
|
93
|
+
});
|
|
94
|
+
await expect(client.getLedgerInfo()).rejects.toThrow(/maxBytes|too large|exceeded/i);
|
|
95
|
+
expect(fakeReq.destroyed).toBe(true);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=api.timeout.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.timeout.test.js","sourceRoot":"","sources":["../../../src/__tests__/fork/api.timeout.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,17 +2,15 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
|
2
2
|
import { Harness, HarnessDisposedError } from "../../harness/index.js";
|
|
3
3
|
import { setupHarnessTestFixture } from "./_fixture.js";
|
|
4
4
|
/**
|
|
5
|
-
* Proxy poisoning is the load-bearing safety guarantee of
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* lock that contract.
|
|
5
|
+
* Proxy poisoning is the load-bearing safety guarantee of the Harness:
|
|
6
|
+
* once cleaned up, any further deploy / view / script / upgrade call
|
|
7
|
+
* must throw `HarnessDisposedError` synchronously on property access —
|
|
8
|
+
* not after the awaited method body. These tests lock that contract.
|
|
10
9
|
*
|
|
11
10
|
* Uses `Harness.createLive(network)` because it does not spawn a real
|
|
12
11
|
* Movement node — `initRuntime` only constructs the SDK client (no RPC
|
|
13
12
|
* round-trip) from the fixture config. `createLocal` / `createFork`
|
|
14
|
-
* runtime tests live in the
|
|
15
|
-
* node is acceptable.
|
|
13
|
+
* runtime tests live in the integration suite.
|
|
16
14
|
*/
|
|
17
15
|
describe("Harness — proxy poisoning", () => {
|
|
18
16
|
let fixture;
|
|
@@ -71,10 +69,8 @@ describe("Harness — proxy poisoning", () => {
|
|
|
71
69
|
expect(harness.poisoned).toBe(true);
|
|
72
70
|
expect(harness.runtime).toBeDefined();
|
|
73
71
|
});
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
// now have dedicated test suites (codeObject.deploy/upgrade.test.ts,
|
|
77
|
-
// view.test.ts, script.test.ts).
|
|
72
|
+
// Dedicated suites exist for each of the four methods
|
|
73
|
+
// (codeObject.deploy/upgrade.test.ts, view.test.ts, script.test.ts).
|
|
78
74
|
it("await harness.someAsyncMethod() pattern: post-cleanup throw happens before await", async () => {
|
|
79
75
|
const harness = await Harness.createLive("testnet");
|
|
80
76
|
await harness.cleanup();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Harness.proxy.test.js","sourceRoot":"","sources":["../../../src/__tests__/harness/Harness.proxy.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAA2B,MAAM,eAAe,CAAC;AAEjF
|
|
1
|
+
{"version":3,"file":"Harness.proxy.test.js","sourceRoot":"","sources":["../../../src/__tests__/harness/Harness.proxy.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAA2B,MAAM,eAAe,CAAC;AAEjF;;;;;;;;;;GAUG;AACH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,OAA2B,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,uBAAuB,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,kEAAkE;QAClE,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC3G,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,2EAA2E;QAC3E,yEAAyE;QACzE,sCAAsC;QACtC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CACjE,oBAAoB,CACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gHAAgH,EAAE,KAAK,IAAI,EAAE;QAC9H,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,MAAM,CAAC,GAAG,EAAE,CACV,OAAO,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CACrE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,CACV,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CACnD,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,EAAE,CACV,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CACzD,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACtD,MAAM,CAAE,QAAiC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,+DAA+D;QAC/D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,sDAAsD;IACtD,qEAAqE;IAErE,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,qEAAqE;QACrE,iEAAiE;QACjE,IAAI,QAAiB,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -274,7 +274,7 @@ describe("Harness.deployCodeObject", () => {
|
|
|
274
274
|
await harness.cleanup();
|
|
275
275
|
}
|
|
276
276
|
});
|
|
277
|
-
it("fork-mode harness throws synchronously before any CLI call (
|
|
277
|
+
it("fork-mode harness throws synchronously before any CLI call (createLocal/createFork covered by the integration suite)", async () => {
|
|
278
278
|
// This case can't be tested with a real createFork (it spawns a fork
|
|
279
279
|
// server). Instead, prove that the disposed-instance path also fires
|
|
280
280
|
// synchronously: a poisoned harness throws HarnessDisposedError on
|