@mycadet/cli 0.12.7 → 0.12.9
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 +2 -2
- package/knip.json +1 -1
- package/node_modules/@mycadet/assistant-api/events/cloud-disconnected.ts +21 -0
- package/node_modules/@mycadet/assistant-api/events/host-bash.ts +1 -1
- package/node_modules/@mycadet/assistant-api/events/host-cu.ts +1 -1
- package/node_modules/@mycadet/assistant-api/events/host-file.ts +1 -1
- package/node_modules/@mycadet/assistant-api/events/notification-intent.ts +1 -1
- package/node_modules/@mycadet/assistant-api/events/show-cloud-login.ts +18 -0
- package/node_modules/@mycadet/assistant-api/index.ts +11 -11
- package/node_modules/@mycadet/assistant-api/node_modules/@mycadet/service-contracts/package.json +2 -2
- package/node_modules/@mycadet/{service-contracts/src/platform-credential.ts → assistant-api/node_modules/@mycadet/service-contracts/src/cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/assistant-api/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/assistant-api/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/assistant-api/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/assistant-api/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/assistant-api/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/assistant-api/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/node_modules/@mycadet/assistant-api/responses/home.ts +1 -1
- package/node_modules/@mycadet/assistant-api/surfaces.ts +4 -4
- package/node_modules/@mycadet/avatar-manifest/src/__tests__/notification-avatar.test.ts +1 -1
- package/node_modules/@mycadet/avatar-manifest/src/notification-avatar.ts +2 -2
- package/node_modules/@mycadet/environments/src/seeds.ts +6 -6
- package/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
- package/node_modules/@mycadet/environments/src/types.ts +6 -6
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/avatar-manifest/src/__tests__/notification-avatar.test.ts +1 -1
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/avatar-manifest/src/notification-avatar.ts +2 -2
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/environments/src/seeds.ts +6 -6
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/environments/src/types.ts +6 -6
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/service-contracts/package.json +2 -2
- package/node_modules/@mycadet/{assistant-api/node_modules/@mycadet/service-contracts/src/platform-credential.ts → local-mode/node_modules/@mycadet/service-contracts/src/cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/local-mode/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/node_modules/@mycadet/local-mode/src/__tests__/pair.test.ts +5 -5
- package/node_modules/@mycadet/local-mode/src/__tests__/retire.test.ts +1 -1
- package/node_modules/@mycadet/local-mode/src/config.ts +2 -2
- package/node_modules/@mycadet/local-mode/src/index.ts +1 -1
- package/node_modules/@mycadet/local-mode/src/lockfile-contract.test.ts +3 -3
- package/node_modules/@mycadet/local-mode/src/lockfile-contract.ts +10 -5
- package/node_modules/@mycadet/local-mode/src/lockfile.test.ts +15 -15
- package/node_modules/@mycadet/local-mode/src/lockfile.ts +9 -9
- package/node_modules/@mycadet/local-mode/src/pair.ts +2 -2
- package/node_modules/@mycadet/local-mode/src/retire.ts +3 -3
- package/node_modules/@mycadet/local-mode/src/teleport-backup-policy.ts +2 -2
- package/node_modules/@mycadet/local-mode/src/unpair.ts +2 -2
- package/node_modules/@mycadet/service-contracts/package.json +2 -2
- package/node_modules/@mycadet/{local-mode/node_modules/@mycadet/service-contracts/src/platform-credential.ts → service-contracts/src/cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/package.json +3 -2
- package/src/__tests__/assistant-api-key-resolution.test.ts +6 -6
- package/src/__tests__/{assistant-client-platform-auth.test.ts → assistant-client-cloud-auth.test.ts} +10 -10
- package/src/__tests__/assistant-client-refresh.test.ts +2 -2
- package/src/__tests__/backup.test.ts +86 -91
- package/src/__tests__/client-token.test.ts +1 -1
- package/src/__tests__/client-tui-refresh.test.ts +1 -1
- package/src/__tests__/client-web-config.test.ts +2 -2
- package/src/__tests__/{platform-client.test.ts → cloud-client.test.ts} +59 -59
- package/src/__tests__/{platform-releases.test.ts → cloud-releases.test.ts} +28 -18
- package/src/__tests__/{cloudflare-tunnel.test.ts → cloudflare.test.ts} +1 -1
- package/src/__tests__/connect-import.test.ts +55 -39
- package/src/__tests__/debug.test.ts +38 -38
- package/src/__tests__/ensure-binary.test.ts +182 -0
- package/src/__tests__/guardian-token.test.ts +149 -56
- package/src/__tests__/hatch-provider-secrets.test.ts +2 -2
- package/src/__tests__/helpers/guardian-token.ts +22 -0
- package/src/__tests__/helpers/http.ts +10 -0
- package/src/__tests__/nginx-ingress.test.ts +21 -20
- package/src/__tests__/ngrok-spawn.test.ts +49 -0
- package/src/__tests__/orphan-detection.test.ts +1 -1
- package/src/__tests__/pair.test.ts +1 -8
- package/src/__tests__/{ps-platform-status.test.ts → ps-cloud-status.test.ts} +79 -26
- package/src/__tests__/ps-table.test.ts +79 -0
- package/src/__tests__/{recover.test.ts → restore.test.ts} +29 -28
- package/src/__tests__/retire.test.ts +58 -199
- package/src/__tests__/root-process-lockfile.test.ts +99 -0
- package/src/__tests__/sleep.test.ts +19 -19
- package/src/__tests__/statefulset.test.ts +8 -8
- package/src/__tests__/{tailscale-tunnel.test.ts → tailscale.test.ts} +2 -2
- package/src/__tests__/teleport-backup.test.ts +3 -3
- package/src/__tests__/teleport.test.ts +181 -197
- package/src/__tests__/tunnel.test.ts +257 -222
- package/src/__tests__/uninstall.test.ts +13 -4
- package/src/__tests__/upgrade-local.test.ts +3 -3
- package/src/__tests__/upgrade-replay-env.test.ts +12 -12
- package/src/__tests__/wake.test.ts +260 -43
- package/src/__tests__/workos-pkce.test.ts +2 -2
- package/src/commands/backup.ts +24 -24
- package/src/commands/client.ts +76 -76
- package/src/commands/completions.test.ts +104 -0
- package/src/commands/completions.ts +87 -0
- package/src/commands/debug.ts +20 -20
- package/src/commands/exec.ts +12 -12
- package/src/commands/flags.ts +2 -2
- package/src/commands/hatch.ts +23 -23
- package/src/commands/login.ts +22 -22
- package/src/commands/logs.ts +8 -8
- package/src/commands/ps.ts +244 -86
- package/src/commands/restart.ts +30 -0
- package/src/commands/restore.ts +140 -22
- package/src/commands/retire.ts +48 -150
- package/src/commands/rollback.ts +20 -26
- package/src/commands/setup.ts +2 -2
- package/src/commands/sleep.ts +2 -2
- package/src/commands/teleport.ts +109 -109
- package/src/commands/terminal.ts +158 -18
- package/src/commands/tunnel.ts +138 -157
- package/src/commands/uninstall.ts +57 -9
- package/src/commands/unpair.ts +3 -3
- package/src/commands/upgrade.ts +30 -54
- package/src/commands/use.ts +1 -1
- package/src/commands/wake.ts +166 -50
- package/src/index.ts +18 -9
- package/src/lib/__tests__/{platform-client-signed-url.test.ts → cloud-client-signed-url.test.ts} +16 -16
- package/src/lib/__tests__/docker.test.ts +168 -20
- package/src/lib/__tests__/job-polling.test.ts +2 -2
- package/src/lib/__tests__/local-runtime-client.test.ts +4 -4
- package/src/lib/__tests__/runtime-url.test.ts +1 -1
- package/src/lib/assistant-api-key-resolution.ts +5 -5
- package/src/lib/assistant-client.ts +8 -8
- package/src/lib/assistant-config.ts +58 -12
- package/src/lib/{platform-client.ts → cloud-client.ts} +107 -98
- package/src/lib/cloud-login.ts +24 -24
- package/src/lib/{platform-releases.ts → cloud-releases.ts} +11 -9
- package/src/lib/cloud-values.ts +3 -0
- package/src/lib/config-utils.ts +1 -1
- package/src/lib/detached-process.ts +1 -1
- package/src/lib/docker.ts +260 -53
- package/src/lib/ensure-binary.ts +171 -0
- package/src/lib/environments/__tests__/paths.test.ts +2 -2
- package/src/lib/environments/__tests__/resolve.test.ts +26 -26
- package/src/lib/environments/resolve.ts +8 -8
- package/src/lib/flag-args.test.ts +1 -1
- package/src/lib/flag-args.ts +1 -1
- package/src/lib/guardian-token.ts +37 -5
- package/src/lib/hatch-local.ts +19 -23
- package/src/lib/health-check.ts +6 -6
- package/src/lib/ingress-config.ts +8 -35
- package/src/lib/job-polling.ts +2 -2
- package/src/lib/live-voice/connection.ts +12 -12
- package/src/lib/live-voice/tunnel.test.ts +11 -11
- package/src/lib/live-voice/tunnel.ts +15 -15
- package/src/lib/local-runtime-client.ts +20 -20
- package/src/lib/local.ts +10 -31
- package/src/lib/nginx-ingress.ts +42 -15
- package/src/lib/pair.ts +1 -1
- package/src/lib/process.ts +1 -1
- package/src/lib/provider-secrets.ts +3 -3
- package/src/lib/retire-apple-container.ts +1 -1
- package/src/lib/runtime-url.ts +8 -8
- package/src/lib/statefulset.ts +2 -2
- package/src/lib/sync-cloud-assistants.ts +19 -19
- package/src/lib/teleport-backup.ts +4 -4
- package/src/lib/terminal-client.ts +17 -17
- package/src/lib/terminal-session.ts +24 -24
- package/src/lib/{tunnel-edge.ts → tunnel.ts} +199 -11
- package/src/lib/tunnels/cadet.ts +29 -0
- package/src/lib/{cloudflare-tunnel.ts → tunnels/cloudflare.ts} +36 -15
- package/src/lib/tunnels/gateway-notify.ts +61 -0
- package/src/lib/{ngrok.ts → tunnels/ngrok.ts} +350 -89
- package/src/lib/{tailscale-tunnel.ts → tunnels/tailscale.ts} +53 -9
- package/src/lib/upgrade-lifecycle.ts +8 -21
- package/src/lib/upgrade-preflight.ts +2 -2
- package/src/lib/workos-pkce.ts +5 -5
- package/node_modules/@mycadet/assistant-api/events/platform-disconnected.ts +0 -21
- package/node_modules/@mycadet/assistant-api/events/show-platform-login.ts +0 -20
- package/src/commands/recover.ts +0 -131
- package/src/commands/roadmap.ts +0 -459
- package/src/commands/ssh.ts +0 -144
- package/src/commands/workflows.ts +0 -305
- package/src/lib/managed-cloud.ts +0 -3
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
spyOn,
|
|
8
8
|
test,
|
|
9
9
|
} from "bun:test";
|
|
10
|
+
import type { GuardianTokenData } from "../lib/guardian-token.js";
|
|
10
11
|
import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
|
|
11
12
|
import { tmpdir } from "node:os";
|
|
12
13
|
import { join } from "node:path";
|
|
@@ -49,10 +50,8 @@ mock.module("../lib/drain.js", () => ({
|
|
|
49
50
|
|
|
50
51
|
const realGuardianToken = { ...(await import("../lib/guardian-token.js")) };
|
|
51
52
|
const loadGuardianTokenMock = mock(
|
|
52
|
-
(_assistantId: string) =>
|
|
53
|
-
({ accessToken: "test-guardian-token" })
|
|
54
|
-
typeof realGuardianToken.loadGuardianToken
|
|
55
|
-
>,
|
|
53
|
+
(_assistantId: string): GuardianTokenData | null =>
|
|
54
|
+
makeGuardianTokenData({ accessToken: "test-guardian-token" }),
|
|
56
55
|
);
|
|
57
56
|
mock.module("../lib/guardian-token.js", () => ({
|
|
58
57
|
...realGuardianToken,
|
|
@@ -92,6 +91,7 @@ import {
|
|
|
92
91
|
DEFAULT_GATEWAY_PORT,
|
|
93
92
|
DEFAULT_QDRANT_PORT,
|
|
94
93
|
} from "../lib/constants.js";
|
|
94
|
+
import { makeGuardianTokenData } from "./helpers/guardian-token.js";
|
|
95
95
|
|
|
96
96
|
// Write a lockfile entry so the real resolveTargetAssistant() finds our test
|
|
97
97
|
// assistant without needing to mock the entire assistant-config module.
|
|
@@ -153,9 +153,9 @@ describe("sleep command", () => {
|
|
|
153
153
|
drainAssistantMock.mockReset();
|
|
154
154
|
drainAssistantMock.mockResolvedValue("drained");
|
|
155
155
|
loadGuardianTokenMock.mockReset();
|
|
156
|
-
loadGuardianTokenMock.mockReturnValue(
|
|
157
|
-
accessToken: "test-guardian-token",
|
|
158
|
-
|
|
156
|
+
loadGuardianTokenMock.mockReturnValue(
|
|
157
|
+
makeGuardianTokenData({ accessToken: "test-guardian-token" }),
|
|
158
|
+
);
|
|
159
159
|
resolveFreshBearerTokenMock.mockReset();
|
|
160
160
|
resolveFreshBearerTokenMock.mockImplementation(
|
|
161
161
|
async (_url, _id, bearerToken, _cloud) => bearerToken,
|
|
@@ -180,11 +180,11 @@ describe("sleep command", () => {
|
|
|
180
180
|
process.argv = ["bun", "cadet", "sleep", "sleep-test"];
|
|
181
181
|
|
|
182
182
|
const consoleError = spyOn(console, "error").mockImplementation(() => {});
|
|
183
|
-
const exitMock = mock((code?: number) => {
|
|
183
|
+
const exitMock = mock((code?: number | string | undefined): never => {
|
|
184
184
|
throw new Error(`process.exit:${code}`);
|
|
185
185
|
});
|
|
186
186
|
const originalExit = process.exit;
|
|
187
|
-
process.exit = exitMock
|
|
187
|
+
process.exit = exitMock;
|
|
188
188
|
|
|
189
189
|
try {
|
|
190
190
|
await expect(sleep()).rejects.toThrow("process.exit:1");
|
|
@@ -300,11 +300,11 @@ describe("sleep command", () => {
|
|
|
300
300
|
process.argv = ["bun", "cadet", "sleep", "sleep-test", "--wait"];
|
|
301
301
|
|
|
302
302
|
const consoleLog = spyOn(console, "log").mockImplementation(() => {});
|
|
303
|
-
const exitMock = mock((code?: number) => {
|
|
303
|
+
const exitMock = mock((code?: number | string | undefined): never => {
|
|
304
304
|
throw new Error(`process.exit:${code}`);
|
|
305
305
|
});
|
|
306
306
|
const originalExit = process.exit;
|
|
307
|
-
process.exit = exitMock
|
|
307
|
+
process.exit = exitMock;
|
|
308
308
|
try {
|
|
309
309
|
await expect(sleep()).rejects.toThrow("process.exit:130");
|
|
310
310
|
} finally {
|
|
@@ -350,11 +350,11 @@ describe("sleep command", () => {
|
|
|
350
350
|
process.argv = ["bun", "cadet", "sleep", "sleep-test", "--wait=abc"];
|
|
351
351
|
|
|
352
352
|
const consoleError = spyOn(console, "error").mockImplementation(() => {});
|
|
353
|
-
const exitMock = mock((code?: number) => {
|
|
353
|
+
const exitMock = mock((code?: number | string | undefined): never => {
|
|
354
354
|
throw new Error(`process.exit:${code}`);
|
|
355
355
|
});
|
|
356
356
|
const originalExit = process.exit;
|
|
357
|
-
process.exit = exitMock
|
|
357
|
+
process.exit = exitMock;
|
|
358
358
|
try {
|
|
359
359
|
await expect(sleep()).rejects.toThrow("process.exit:1");
|
|
360
360
|
expect(consoleError).toHaveBeenCalledWith(
|
|
@@ -484,11 +484,11 @@ describe("sleep command", () => {
|
|
|
484
484
|
process.argv = ["bun", "cadet", "sleep", "--all"];
|
|
485
485
|
|
|
486
486
|
const consoleError = spyOn(console, "error").mockImplementation(() => {});
|
|
487
|
-
const exitMock = mock((code?: number) => {
|
|
487
|
+
const exitMock = mock((code?: number | string | undefined): never => {
|
|
488
488
|
throw new Error(`process.exit:${code}`);
|
|
489
489
|
});
|
|
490
490
|
const originalExit = process.exit;
|
|
491
|
-
process.exit = exitMock
|
|
491
|
+
process.exit = exitMock;
|
|
492
492
|
|
|
493
493
|
try {
|
|
494
494
|
await expect(sleep()).rejects.toThrow("process.exit:1");
|
|
@@ -511,11 +511,11 @@ describe("sleep command", () => {
|
|
|
511
511
|
process.argv = ["bun", "cadet", "sleep", "--all"];
|
|
512
512
|
|
|
513
513
|
const consoleError = spyOn(console, "error").mockImplementation(() => {});
|
|
514
|
-
const exitMock = mock((code?: number) => {
|
|
514
|
+
const exitMock = mock((code?: number | string | undefined): never => {
|
|
515
515
|
throw new Error(`process.exit:${code}`);
|
|
516
516
|
});
|
|
517
517
|
const originalExit = process.exit;
|
|
518
|
-
process.exit = exitMock
|
|
518
|
+
process.exit = exitMock;
|
|
519
519
|
|
|
520
520
|
try {
|
|
521
521
|
await expect(sleep()).rejects.toThrow("process.exit:1");
|
|
@@ -532,11 +532,11 @@ describe("sleep command", () => {
|
|
|
532
532
|
process.argv = ["bun", "cadet", "sleep", "sleep-test", "--all"];
|
|
533
533
|
|
|
534
534
|
const consoleError = spyOn(console, "error").mockImplementation(() => {});
|
|
535
|
-
const exitMock = mock((code?: number) => {
|
|
535
|
+
const exitMock = mock((code?: number | string | undefined): never => {
|
|
536
536
|
throw new Error(`process.exit:${code}`);
|
|
537
537
|
});
|
|
538
538
|
const originalExit = process.exit;
|
|
539
|
-
process.exit = exitMock
|
|
539
|
+
process.exit = exitMock;
|
|
540
540
|
|
|
541
541
|
try {
|
|
542
542
|
await expect(sleep()).rejects.toThrow("process.exit:1");
|
|
@@ -35,7 +35,7 @@ describe("getBuilderManagedEnvKeys", () => {
|
|
|
35
35
|
expect(always.has(key)).toBe(true);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
expect(always.has("
|
|
38
|
+
expect(always.has("CADET_DISABLE_CLOUD")).toBe(false);
|
|
39
39
|
expect(always.has("CADET_DEVICE_ID")).toBe(false);
|
|
40
40
|
});
|
|
41
41
|
|
|
@@ -60,8 +60,8 @@ describe("getBuilderManagedEnvKeys", () => {
|
|
|
60
60
|
a.name.localeCompare(b.name),
|
|
61
61
|
);
|
|
62
62
|
expect(sorted).toEqual([
|
|
63
|
+
{ name: "CADET_CLOUD_URL", hostVar: "CADET_CLOUD_URL" },
|
|
63
64
|
{ name: "CADET_ENVIRONMENT", hostVar: "CADET_ENVIRONMENT" },
|
|
64
|
-
{ name: "CADET_PLATFORM_URL", hostVar: "CADET_PLATFORM_URL" },
|
|
65
65
|
{ name: "TUNNEL_BASE_URL", hostVar: "TUNNEL_BASE_URL" },
|
|
66
66
|
]);
|
|
67
67
|
});
|
|
@@ -76,8 +76,8 @@ describe("getBuilderManagedEnvKeys", () => {
|
|
|
76
76
|
expect(hostForwarded).toContainEqual({ name: envVar, hostVar: envVar });
|
|
77
77
|
}
|
|
78
78
|
expect(hostForwarded).toContainEqual({
|
|
79
|
-
name: "
|
|
80
|
-
hostVar: "
|
|
79
|
+
name: "CADET_CLOUD_URL",
|
|
80
|
+
hostVar: "CADET_CLOUD_URL",
|
|
81
81
|
});
|
|
82
82
|
});
|
|
83
83
|
|
|
@@ -126,7 +126,7 @@ describe("buildServiceRunArgs extra env routing", () => {
|
|
|
126
126
|
gatewayContainer: "test-gateway",
|
|
127
127
|
network: "test-net",
|
|
128
128
|
},
|
|
129
|
-
extraGatewayEnv: {
|
|
129
|
+
extraGatewayEnv: { CADET_DISABLE_CLOUD: "1" },
|
|
130
130
|
extraAssistantEnv: { FOO: "bar" },
|
|
131
131
|
};
|
|
132
132
|
|
|
@@ -134,19 +134,19 @@ describe("buildServiceRunArgs extra env routing", () => {
|
|
|
134
134
|
|
|
135
135
|
test("extraGatewayEnv lands only in gateway args", () => {
|
|
136
136
|
const gatewayArgs = runArgs.gateway();
|
|
137
|
-
expect(gatewayArgs).toContain("
|
|
137
|
+
expect(gatewayArgs).toContain("CADET_DISABLE_CLOUD=1");
|
|
138
138
|
expect(gatewayArgs).not.toContain("FOO=bar");
|
|
139
139
|
});
|
|
140
140
|
|
|
141
141
|
test("extraAssistantEnv lands only in assistant args", () => {
|
|
142
142
|
const assistantArgs = runArgs.assistant();
|
|
143
143
|
expect(assistantArgs).toContain("FOO=bar");
|
|
144
|
-
expect(assistantArgs).not.toContain("
|
|
144
|
+
expect(assistantArgs).not.toContain("CADET_DISABLE_CLOUD=1");
|
|
145
145
|
});
|
|
146
146
|
|
|
147
147
|
test("credential-executor args get neither extra env map", () => {
|
|
148
148
|
const cesArgs = runArgs["credential-executor"]();
|
|
149
|
-
expect(cesArgs).not.toContain("
|
|
149
|
+
expect(cesArgs).not.toContain("CADET_DISABLE_CLOUD=1");
|
|
150
150
|
expect(cesArgs).not.toContain("FOO=bar");
|
|
151
151
|
});
|
|
152
152
|
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
stopTailscaleServe,
|
|
21
21
|
type TailscaleCommandResult,
|
|
22
22
|
type TailscaleDeps,
|
|
23
|
-
} from "../lib/tailscale
|
|
23
|
+
} from "../lib/tunnels/tailscale.js";
|
|
24
24
|
import { snapshotEnv } from "./helpers/env.js";
|
|
25
25
|
|
|
26
26
|
describe("Tailscale discovery", () => {
|
|
@@ -79,7 +79,7 @@ function makeDeps(opts: {
|
|
|
79
79
|
const calls: string[][] = [];
|
|
80
80
|
const binary = opts.binary === undefined ? "tailscale" : opts.binary;
|
|
81
81
|
const deps: TailscaleDeps = {
|
|
82
|
-
findBinary: () => binary,
|
|
82
|
+
findBinary: async () => binary,
|
|
83
83
|
run: (_bin, args) => {
|
|
84
84
|
calls.push(args);
|
|
85
85
|
return opts.responses?.[args.join(" ")] ?? ok();
|
|
@@ -9,19 +9,19 @@ import {
|
|
|
9
9
|
test,
|
|
10
10
|
} from "bun:test";
|
|
11
11
|
|
|
12
|
-
import * as
|
|
12
|
+
import * as cloudClient from "../lib/cloud-client.js";
|
|
13
13
|
import {
|
|
14
14
|
createPlatformBackup,
|
|
15
15
|
listPlatformBackups,
|
|
16
16
|
} from "../lib/teleport-backup.js";
|
|
17
17
|
|
|
18
|
-
const authHeadersSpy = spyOn(
|
|
18
|
+
const authHeadersSpy = spyOn(cloudClient, "authHeaders").mockResolvedValue({
|
|
19
19
|
"Content-Type": "application/json",
|
|
20
20
|
"X-Session-Token": "platform-token",
|
|
21
21
|
"Cadet-Organization-Id": "org-1",
|
|
22
22
|
});
|
|
23
23
|
const invalidateOrgIdCacheSpy = spyOn(
|
|
24
|
-
|
|
24
|
+
cloudClient,
|
|
25
25
|
"invalidateOrgIdCache",
|
|
26
26
|
).mockImplementation(() => {});
|
|
27
27
|
|