alpic 0.0.0-staging.dccf4e1 → 0.0.0-staging.dcd2ccb
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/dist/__tests__/alpic-command.test.d.ts +1 -0
- package/dist/__tests__/alpic-command.test.js +41 -0
- package/dist/__tests__/alpic-command.test.js.map +1 -0
- package/dist/__tests__/audit.e2e.test.js +196 -14
- package/dist/__tests__/audit.e2e.test.js.map +1 -1
- package/dist/__tests__/auth.e2e.test.js +1 -1
- package/dist/__tests__/auth.e2e.test.js.map +1 -1
- package/dist/__tests__/deploy-flags.e2e.test.js +1 -1
- package/dist/__tests__/deploy-flags.e2e.test.js.map +1 -1
- package/dist/__tests__/deploy.e2e.test.js +4 -5
- package/dist/__tests__/deploy.e2e.test.js.map +1 -1
- package/dist/__tests__/deployment-inspect.e2e.test.js +1 -1
- package/dist/__tests__/deployment-inspect.e2e.test.js.map +1 -1
- package/dist/__tests__/deployment-list.e2e.test.js +12 -2
- package/dist/__tests__/deployment-list.e2e.test.js.map +1 -1
- package/dist/__tests__/deployment-logs.e2e.test.js +21 -5
- package/dist/__tests__/deployment-logs.e2e.test.js.map +1 -1
- package/dist/__tests__/environment-inspect.e2e.test.d.ts +1 -0
- package/dist/__tests__/environment-inspect.e2e.test.js +78 -0
- package/dist/__tests__/environment-inspect.e2e.test.js.map +1 -0
- package/dist/__tests__/environment-list.e2e.test.d.ts +1 -0
- package/dist/__tests__/environment-list.e2e.test.js +72 -0
- package/dist/__tests__/environment-list.e2e.test.js.map +1 -0
- package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js +85 -5
- package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js.map +1 -1
- package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js +8 -6
- package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js.map +1 -1
- package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js +7 -14
- package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js.map +1 -1
- package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js +15 -25
- package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js.map +1 -1
- package/dist/__tests__/git-flags.e2e.test.js +5 -1
- package/dist/__tests__/git-flags.e2e.test.js.map +1 -1
- package/dist/__tests__/git.e2e.test.js +10 -5
- package/dist/__tests__/git.e2e.test.js.map +1 -1
- package/dist/__tests__/link.e2e.test.js +201 -12
- package/dist/__tests__/link.e2e.test.js.map +1 -1
- package/dist/__tests__/logs.e2e.test.js +46 -7
- package/dist/__tests__/logs.e2e.test.js.map +1 -1
- package/dist/__tests__/{mock-server.d.ts → mock-api.d.ts} +2 -0
- package/dist/__tests__/{mock-server.js → mock-api.js} +83 -14
- package/dist/__tests__/mock-api.js.map +1 -0
- package/dist/__tests__/playground/playground-configure.e2e.test.d.ts +1 -0
- package/dist/__tests__/playground/playground-configure.e2e.test.js +135 -0
- package/dist/__tests__/playground/playground-configure.e2e.test.js.map +1 -0
- package/dist/__tests__/playground/playground-enable-disable.e2e.test.d.ts +1 -0
- package/dist/__tests__/playground/playground-enable-disable.e2e.test.js +104 -0
- package/dist/__tests__/playground/playground-enable-disable.e2e.test.js.map +1 -0
- package/dist/__tests__/playground/playground-example-prompt.e2e.test.d.ts +1 -0
- package/dist/__tests__/playground/playground-example-prompt.e2e.test.js +282 -0
- package/dist/__tests__/playground/playground-example-prompt.e2e.test.js.map +1 -0
- package/dist/__tests__/playground/playground-headers.e2e.test.d.ts +1 -0
- package/dist/__tests__/playground/playground-headers.e2e.test.js +324 -0
- package/dist/__tests__/playground/playground-headers.e2e.test.js.map +1 -0
- package/dist/__tests__/playground/playground-status.e2e.test.d.ts +1 -0
- package/dist/__tests__/playground/playground-status.e2e.test.js +88 -0
- package/dist/__tests__/playground/playground-status.e2e.test.js.map +1 -0
- package/dist/__tests__/project-inspect.e2e.test.d.ts +1 -0
- package/dist/__tests__/project-inspect.e2e.test.js +83 -0
- package/dist/__tests__/project-inspect.e2e.test.js.map +1 -0
- package/dist/__tests__/project-list.e2e.test.d.ts +1 -0
- package/dist/__tests__/project-list.e2e.test.js +95 -0
- package/dist/__tests__/project-list.e2e.test.js.map +1 -0
- package/dist/__tests__/publish.e2e.test.js +66 -1
- package/dist/__tests__/publish.e2e.test.js.map +1 -1
- package/dist/__tests__/team-inspect.e2e.test.d.ts +1 -0
- package/dist/__tests__/team-inspect.e2e.test.js +86 -0
- package/dist/__tests__/team-inspect.e2e.test.js.map +1 -0
- package/dist/__tests__/team-list.e2e.test.d.ts +1 -0
- package/dist/__tests__/team-list.e2e.test.js +58 -0
- package/dist/__tests__/team-list.e2e.test.js.map +1 -0
- package/dist/__tests__/tunnel.e2e.test.js +1 -1
- package/dist/__tests__/tunnel.e2e.test.js.map +1 -1
- package/dist/__tests__/utils.d.ts +2 -1
- package/dist/__tests__/utils.js +7 -5
- package/dist/__tests__/utils.js.map +1 -1
- package/dist/commands/audit.d.ts +0 -1
- package/dist/commands/audit.js +1 -5
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/deploy.d.ts +1 -1
- package/dist/commands/deploy.js +15 -7
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/deployment/inspect.js +1 -1
- package/dist/commands/deployment/inspect.js.map +1 -1
- package/dist/commands/deployment/list.js +2 -2
- package/dist/commands/deployment/list.js.map +1 -1
- package/dist/commands/deployment/logs.js +4 -1
- package/dist/commands/deployment/logs.js.map +1 -1
- package/dist/commands/environment/inspect.d.ts +10 -0
- package/dist/commands/environment/inspect.js +94 -0
- package/dist/commands/environment/inspect.js.map +1 -0
- package/dist/commands/environment/list.d.ts +10 -0
- package/dist/commands/environment/list.js +79 -0
- package/dist/commands/environment/list.js.map +1 -0
- package/dist/commands/environment-variable/add.d.ts +0 -1
- package/dist/commands/environment-variable/add.js +1 -5
- package/dist/commands/environment-variable/add.js.map +1 -1
- package/dist/commands/environment-variable/list.js +1 -1
- package/dist/commands/environment-variable/list.js.map +1 -1
- package/dist/commands/environment-variable/remove.d.ts +0 -1
- package/dist/commands/environment-variable/remove.js +1 -5
- package/dist/commands/environment-variable/remove.js.map +1 -1
- package/dist/commands/environment-variable/update.d.ts +0 -1
- package/dist/commands/environment-variable/update.js +1 -5
- package/dist/commands/environment-variable/update.js.map +1 -1
- package/dist/commands/git/connect.d.ts +0 -1
- package/dist/commands/git/connect.js +4 -8
- package/dist/commands/git/connect.js.map +1 -1
- package/dist/commands/git/disconnect.d.ts +0 -3
- package/dist/commands/git/disconnect.js +3 -12
- package/dist/commands/git/disconnect.js.map +1 -1
- package/dist/commands/link.d.ts +1 -1
- package/dist/commands/link.js +10 -9
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/login.js +2 -2
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logs.js +16 -2
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/playground/configure.d.ts +12 -0
- package/dist/commands/playground/configure.js +39 -0
- package/dist/commands/playground/configure.js.map +1 -0
- package/dist/commands/playground/disable.d.ts +9 -0
- package/dist/commands/playground/disable.js +24 -0
- package/dist/commands/playground/disable.js.map +1 -0
- package/dist/commands/playground/enable.d.ts +9 -0
- package/dist/commands/playground/enable.js +24 -0
- package/dist/commands/playground/enable.js.map +1 -0
- package/dist/commands/playground/example-prompt/add.d.ts +12 -0
- package/dist/commands/playground/example-prompt/add.js +39 -0
- package/dist/commands/playground/example-prompt/add.js.map +1 -0
- package/dist/commands/playground/example-prompt/list.d.ts +9 -0
- package/dist/commands/playground/example-prompt/list.js +24 -0
- package/dist/commands/playground/example-prompt/list.js.map +1 -0
- package/dist/commands/playground/example-prompt/remove.d.ts +11 -0
- package/dist/commands/playground/example-prompt/remove.js +34 -0
- package/dist/commands/playground/example-prompt/remove.js.map +1 -0
- package/dist/commands/playground/headers/add.d.ts +14 -0
- package/dist/commands/playground/headers/add.js +49 -0
- package/dist/commands/playground/headers/add.js.map +1 -0
- package/dist/commands/playground/headers/list.d.ts +9 -0
- package/dist/commands/playground/headers/list.js +24 -0
- package/dist/commands/playground/headers/list.js.map +1 -0
- package/dist/commands/playground/headers/remove.d.ts +11 -0
- package/dist/commands/playground/headers/remove.js +34 -0
- package/dist/commands/playground/headers/remove.js.map +1 -0
- package/dist/commands/playground/status.d.ts +9 -0
- package/dist/commands/playground/status.js +24 -0
- package/dist/commands/playground/status.js.map +1 -0
- package/dist/commands/project/inspect.d.ts +10 -0
- package/dist/commands/project/inspect.js +97 -0
- package/dist/commands/project/inspect.js.map +1 -0
- package/dist/commands/project/list.d.ts +10 -0
- package/dist/commands/project/list.js +50 -0
- package/dist/commands/project/list.js.map +1 -0
- package/dist/commands/publish.d.ts +0 -1
- package/dist/commands/publish.js +1 -5
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/team/inspect.d.ts +10 -0
- package/dist/commands/team/inspect.js +97 -0
- package/dist/commands/team/inspect.js.map +1 -0
- package/dist/commands/team/list.d.ts +9 -0
- package/dist/commands/team/list.js +40 -0
- package/dist/commands/team/list.js.map +1 -0
- package/dist/commands/tunnel.js +14 -10
- package/dist/commands/tunnel.js.map +1 -1
- package/dist/env.d.ts +1 -0
- package/dist/env.js +1 -0
- package/dist/env.js.map +1 -1
- package/dist/lib/agent-mode.d.ts +3 -0
- package/dist/lib/agent-mode.js +33 -0
- package/dist/lib/agent-mode.js.map +1 -0
- package/dist/lib/alpic-command.d.ts +8 -1
- package/dist/lib/alpic-command.js +24 -5
- package/dist/lib/alpic-command.js.map +1 -1
- package/dist/lib/audit.js +45 -23
- package/dist/lib/audit.js.map +1 -1
- package/dist/lib/auth/auth.js +7 -5
- package/dist/lib/auth/auth.js.map +1 -1
- package/dist/lib/auth/oauth/client.d.ts +1 -1
- package/dist/lib/auth/oauth/client.js +7 -1
- package/dist/lib/auth/oauth/client.js.map +1 -1
- package/dist/lib/auth/oauth/server/index.js +3 -3
- package/dist/lib/auth/oauth/server/index.js.map +1 -1
- package/dist/lib/auth/whoami.js +3 -3
- package/dist/lib/auth/whoami.js.map +1 -1
- package/dist/lib/base-workflow.d.ts +2 -0
- package/dist/lib/base-workflow.js +8 -0
- package/dist/lib/base-workflow.js.map +1 -1
- package/dist/lib/deployment.d.ts +1 -0
- package/dist/lib/deployment.js +7 -5
- package/dist/lib/deployment.js.map +1 -1
- package/dist/lib/environment-variable.js +31 -24
- package/dist/lib/environment-variable.js.map +1 -1
- package/dist/lib/git.d.ts +1 -0
- package/dist/lib/git.js +16 -1
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/link.d.ts +2 -0
- package/dist/lib/link.js +92 -10
- package/dist/lib/link.js.map +1 -1
- package/dist/lib/logs.js +3 -1
- package/dist/lib/logs.js.map +1 -1
- package/dist/lib/playground.d.ts +53 -0
- package/dist/lib/playground.js +289 -0
- package/dist/lib/playground.js.map +1 -0
- package/dist/lib/publish.js +17 -1
- package/dist/lib/publish.js.map +1 -1
- package/dist/lib/telemetry.js +1 -0
- package/dist/lib/telemetry.js.map +1 -1
- package/dist/lib/utils.d.ts +33 -0
- package/dist/lib/utils.js +5 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/utils.test.js +18 -1
- package/dist/lib/utils.test.js.map +1 -1
- package/package.json +9 -8
- package/dist/__tests__/mock-server.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-variable-remove.e2e.test.js","sourceRoot":"","sources":["../../../src/__tests__/environment-variable/environment-variable-remove.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"environment-variable-remove.e2e.test.js","sourceRoot":"","sources":["../../../src/__tests__/environment-variable/environment-variable-remove.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { rmSync } from "node:fs";
|
|
2
2
|
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
|
3
|
-
import { MockApiServer } from "../mock-
|
|
3
|
+
import { MockApiServer } from "../mock-api.js";
|
|
4
4
|
import { buildMockProject, cliSession, createConfigFile, expectSuccessfulApiCall, setupTestDirectory, } from "../utils.js";
|
|
5
5
|
describe("alpic environment-variable update (E2E)", () => {
|
|
6
6
|
let mockServer;
|
|
@@ -80,8 +80,8 @@ describe("alpic environment-variable update (E2E)", () => {
|
|
|
80
80
|
expect(call?.input).toMatchObject({
|
|
81
81
|
key: "DATABASE_URL",
|
|
82
82
|
value: "postgres://prod/db",
|
|
83
|
-
isSecret: false,
|
|
84
83
|
});
|
|
84
|
+
expect(call?.input).not.toHaveProperty("isSecret");
|
|
85
85
|
});
|
|
86
86
|
it("preserves isSecret when updating", async () => {
|
|
87
87
|
const { exitCode } = await cliSession(process.execPath, [
|
|
@@ -110,10 +110,10 @@ describe("alpic environment-variable update (E2E)", () => {
|
|
|
110
110
|
expect(call?.input).toMatchObject({
|
|
111
111
|
key: "API_KEY",
|
|
112
112
|
value: "new-secret-value",
|
|
113
|
-
isSecret: true,
|
|
114
113
|
});
|
|
114
|
+
expect(call?.input).not.toHaveProperty("isSecret");
|
|
115
115
|
});
|
|
116
|
-
it("
|
|
116
|
+
it("errors when --no-secret is used on a secret variable in non-interactive mode", async () => {
|
|
117
117
|
const { exitCode, output } = await cliSession(process.execPath, [
|
|
118
118
|
binPath,
|
|
119
119
|
"environment-variable",
|
|
@@ -132,18 +132,9 @@ describe("alpic environment-variable update (E2E)", () => {
|
|
|
132
132
|
ALPIC_API_BASE_URL: serverUrl,
|
|
133
133
|
ALPIC_API_KEY: "test-api-key",
|
|
134
134
|
},
|
|
135
|
-
}, async (cli) => {
|
|
136
|
-
await cli.expect("Successfully updated API_KEY.");
|
|
137
|
-
});
|
|
138
|
-
expect(exitCode).toBe(0);
|
|
139
|
-
expect(output).toContain("Successfully updated API_KEY.");
|
|
140
|
-
const call = mockServer.getLastCall("PATCH", "/v1/environment-variables/var-2");
|
|
141
|
-
expectSuccessfulApiCall(call);
|
|
142
|
-
expect(call?.input).toMatchObject({
|
|
143
|
-
key: "API_KEY",
|
|
144
|
-
value: "still-secret-value",
|
|
145
|
-
isSecret: false,
|
|
146
135
|
});
|
|
136
|
+
expect(exitCode).toBe(1);
|
|
137
|
+
expect(output).toContain("Cannot change a secret variable back to non-secret. Delete and recreate it instead.");
|
|
147
138
|
});
|
|
148
139
|
it("updates only secret visibility in non-interactive mode", async () => {
|
|
149
140
|
const { exitCode, output } = await cliSession(process.execPath, [
|
|
@@ -174,7 +165,7 @@ describe("alpic environment-variable update (E2E)", () => {
|
|
|
174
165
|
isSecret: true,
|
|
175
166
|
});
|
|
176
167
|
});
|
|
177
|
-
it("
|
|
168
|
+
it("skips secret prompt for already-secret variables in interactive mode", async () => {
|
|
178
169
|
const { exitCode, output } = await cliSession(process.execPath, [
|
|
179
170
|
binPath,
|
|
180
171
|
"environment-variable",
|
|
@@ -192,20 +183,18 @@ describe("alpic environment-variable update (E2E)", () => {
|
|
|
192
183
|
ALPIC_API_KEY: "test-api-key",
|
|
193
184
|
},
|
|
194
185
|
}, async (cli) => {
|
|
195
|
-
await cli.expect("Mark as secret?");
|
|
196
|
-
cli.write("\u001B[B");
|
|
197
|
-
await cli.send("");
|
|
198
186
|
await cli.expect("Successfully updated API_KEY.");
|
|
199
187
|
});
|
|
200
188
|
expect(exitCode).toBe(0);
|
|
201
189
|
expect(output).toContain("Successfully updated API_KEY.");
|
|
190
|
+
expect(output).not.toContain("Mark as secret?");
|
|
202
191
|
const call = mockServer.getLastCall("PATCH", "/v1/environment-variables/var-2");
|
|
203
192
|
expectSuccessfulApiCall(call);
|
|
204
193
|
expect(call?.input).toMatchObject({
|
|
205
194
|
key: "API_KEY",
|
|
206
195
|
value: "updated-value",
|
|
207
|
-
isSecret: false,
|
|
208
196
|
});
|
|
197
|
+
expect(call?.input).not.toHaveProperty("isSecret");
|
|
209
198
|
});
|
|
210
199
|
it("keeps current value when interactive value prompt is skipped", async () => {
|
|
211
200
|
const { exitCode, output } = await cliSession(process.execPath, [binPath, "environment-variable", "update", "--environment-id", environmentId, "--key", "DATABASE_URL"], {
|
|
@@ -311,8 +300,8 @@ describe("alpic environment-variable update (E2E)", () => {
|
|
|
311
300
|
expect(exitCode).toBe(1);
|
|
312
301
|
expect(output).toContain("--key and one of --value or --secret/--no-secret are required in non-interactive mode.");
|
|
313
302
|
});
|
|
314
|
-
it("
|
|
315
|
-
const {
|
|
303
|
+
it("triggers login flow when not authenticated", async () => {
|
|
304
|
+
const { output } = await cliSession(process.execPath, [
|
|
316
305
|
binPath,
|
|
317
306
|
"environment-variable",
|
|
318
307
|
"update",
|
|
@@ -322,15 +311,16 @@ describe("alpic environment-variable update (E2E)", () => {
|
|
|
322
311
|
"DATABASE_URL",
|
|
323
312
|
"--value",
|
|
324
313
|
"new-value",
|
|
325
|
-
"--non-interactive",
|
|
326
314
|
], {
|
|
327
315
|
cwd,
|
|
328
316
|
env: {
|
|
329
317
|
ALPIC_API_BASE_URL: serverUrl,
|
|
330
318
|
},
|
|
319
|
+
}, async (cli) => {
|
|
320
|
+
await cli.expect("Not authenticated. Starting login");
|
|
321
|
+
cli.stop();
|
|
331
322
|
});
|
|
332
|
-
expect(
|
|
333
|
-
expect(output).toContain("Not authenticated. Run `alpic login` or set ALPIC_API_KEY. Get an API key from Team settings in the Alpic dashboard.");
|
|
323
|
+
expect(output).toContain("Not authenticated. Starting login");
|
|
334
324
|
});
|
|
335
325
|
it("exits with error when no environment-id is provided and no config file exists", async () => {
|
|
336
326
|
const { exitCode, output } = await cliSession(process.execPath, [binPath, "environment-variable", "update", "--key", "DATABASE_URL", "--value", "new-value", "--non-interactive"], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-variable-update.e2e.test.js","sourceRoot":"","sources":["../../../src/__tests__/environment-variable/environment-variable-update.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"environment-variable-update.e2e.test.js","sourceRoot":"","sources":["../../../src/__tests__/environment-variable/environment-variable-update.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,IAAI,UAAyB,CAAC;IAC9B,IAAI,SAAiB,CAAC;IACtB,IAAI,GAAW,CAAC;IAChB,IAAI,OAAe,CAAC;IAEpB,MAAM,SAAS,GAAG,iBAAiB,CAAC;IACpC,MAAM,MAAM,GAAG,cAAc,CAAC;IAC9B,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,MAAM,eAAe,GAAG,YAAY,CAAC;IAErC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,SAAS,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAChB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAExB,UAAU,CAAC,UAAU,CACnB,gBAAgB,CAAC;YACf,SAAS;YACT,MAAM;YACN,WAAW,EAAE,cAAc;YAC3B,aAAa;YACb,eAAe;SAChB,CAAC,CACH,CAAC;QAEF,UAAU,CAAC,uBAAuB,CAAC,aAAa,EAAE;YAChD;gBACE,EAAE,EAAE,OAAO;gBACX,GAAG,EAAE,cAAc;gBACnB,KAAK,EAAE,yBAAyB;gBAChC,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB;YACD;gBACE,EAAE,EAAE,OAAO;gBACX,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,aAAa;gBACpB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,OAAO;YACP,cAAc;YACd,SAAS;YACT,oBAAoB;YACpB,mBAAmB;SACpB,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,GAAG,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;QACzD,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAChF,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC;YAChC,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,oBAAoB;SAC5B,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CACnC,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,OAAO;YACP,SAAS;YACT,SAAS;YACT,kBAAkB;YAClB,mBAAmB;SACpB,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,GAAG,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;QACpD,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAChF,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC;YAChC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,OAAO;YACP,SAAS;YACT,SAAS;YACT,oBAAoB;YACpB,aAAa;YACb,mBAAmB;SACpB,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qFAAqF,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,OAAO;YACP,cAAc;YACd,UAAU;YACV,mBAAmB;SACpB,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,GAAG,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;QACzD,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAChF,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC;YAChC,GAAG,EAAE,cAAc;YACnB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,OAAO;YACP,SAAS;YACT,SAAS;YACT,eAAe;SAChB,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,GAAG,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;QACpD,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAChF,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC;YAChC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,eAAe;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,CAAC,EACvG;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,GAAG,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAC/C,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;QACzD,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAChF,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAIlB,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1B,GAAG,EAAE,cAAc;YACnB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;QAEzF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,OAAO;YACP,cAAc;YACd,SAAS;YACT,oBAAoB;YACpB,mBAAmB;SACpB,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,GAAG,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;QACzD,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,4CAA4C,aAAa,EAAE,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,OAAO;YACP,aAAa;YACb,SAAS;YACT,OAAO;YACP,mBAAmB;SACpB,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,OAAO;YACP,cAAc;YACd,SAAS;YACT,EAAE;YACF,mBAAmB;SACpB,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;QAC9G,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,CAAC,EACnG;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wFAAwF,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CACjC,OAAO,CAAC,QAAQ,EAChB;YACE,OAAO;YACP,sBAAsB;YACtB,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,OAAO;YACP,cAAc;YACd,SAAS;YACT,WAAW;SACZ,EACD;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;aAC9B;SACF,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,GAAG,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAC3C,OAAO,CAAC,QAAQ,EAChB,CAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,CAAC,EACjH;YACE,GAAG;YACH,GAAG,EAAE;gBACH,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,cAAc;aAC9B;SACF,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { rmSync } from "node:fs";
|
|
2
2
|
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
|
3
|
-
import { MockApiServer } from "./mock-
|
|
3
|
+
import { MockApiServer } from "./mock-api.js";
|
|
4
4
|
import { buildMockProject, cliSession, createConfigFile, expectSuccessfulApiCall, runGit, setupTestDirectory, } from "./utils.js";
|
|
5
5
|
describe("alpic git connect (E2E, flags only)", () => {
|
|
6
6
|
let mockServer;
|
|
@@ -83,6 +83,10 @@ describe("alpic git connect (E2E, flags only)", () => {
|
|
|
83
83
|
ALPIC_API_BASE_URL: serverUrl,
|
|
84
84
|
ALPIC_API_KEY: "test-api-key",
|
|
85
85
|
},
|
|
86
|
+
}, async (cli) => {
|
|
87
|
+
await cli.expect("Open browser to install the Alpic GitHub App?");
|
|
88
|
+
await cli.send(""); // accept default (Yes)
|
|
89
|
+
await cli.expect("✅ Connected");
|
|
86
90
|
});
|
|
87
91
|
expect(exitCode).toBe(0);
|
|
88
92
|
expect(output).toMatch(/Connected .*acme\/backend.* to project .*demo.*\./);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-flags.e2e.test.js","sourceRoot":"","sources":["../../src/__tests__/git-flags.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"git-flags.e2e.test.js","sourceRoot":"","sources":["../../src/__tests__/git-flags.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { rmSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
|
4
|
-
import { MockApiServer } from "./mock-
|
|
4
|
+
import { MockApiServer } from "./mock-api.js";
|
|
5
5
|
import { buildMockProject, cliSession, createConfigFile, createOAuthEnv, expectSuccessfulApiCall, runGit, setupTestDirectory, } from "./utils.js";
|
|
6
6
|
describe("alpic git connect/disconnect (E2E)", () => {
|
|
7
7
|
let mockServer;
|
|
@@ -54,11 +54,14 @@ describe("alpic git connect/disconnect (E2E)", () => {
|
|
|
54
54
|
await cli.expect("Choose the remote source to connect");
|
|
55
55
|
await cli.send("\u001B[B"); // Move down one option (select acme/backend)
|
|
56
56
|
await cli.send("");
|
|
57
|
+
await cli.expect("Open browser to install the Alpic GitHub App?");
|
|
58
|
+
await cli.send(""); // accept default (Yes)
|
|
57
59
|
await cli.expect("✅ Connected");
|
|
58
60
|
});
|
|
59
61
|
expect(exitCode).toBe(0);
|
|
60
62
|
expect(output).toMatch(/Connected .*acme\/backend.* to project .*demo.*\./);
|
|
61
|
-
expect(output).
|
|
63
|
+
expect(output).toMatch(/install the Alpic GitHub App/);
|
|
64
|
+
expect(output).toContain("https://github.com/apps/alpic-ai/installations/new");
|
|
62
65
|
const updateCall = mockServer.getLastCall("PATCH", `/v1/projects/${projectId}`);
|
|
63
66
|
expectSuccessfulApiCall(updateCall, (call) => {
|
|
64
67
|
expect(call.input).toMatchObject({
|
|
@@ -75,10 +78,10 @@ describe("alpic git connect/disconnect (E2E)", () => {
|
|
|
75
78
|
ALPIC_API_KEY: "test-api-key",
|
|
76
79
|
},
|
|
77
80
|
}, async (cli) => {
|
|
78
|
-
await cli.expect("This directory is not linked to an Alpic project. Link it first using `alpic
|
|
81
|
+
await cli.expect("This directory is not linked to an Alpic project. Link it first using `alpic link`.");
|
|
79
82
|
});
|
|
80
83
|
expect(exitCode).toBe(1);
|
|
81
|
-
expect(output).toContain("This directory is not linked to an Alpic project. Link it first using `alpic
|
|
84
|
+
expect(output).toContain("This directory is not linked to an Alpic project. Link it first using `alpic link`.");
|
|
82
85
|
});
|
|
83
86
|
it("shows git setup instructions when directory is not a git repository", async () => {
|
|
84
87
|
setupProject();
|
|
@@ -129,7 +132,7 @@ describe("alpic git connect/disconnect (E2E)", () => {
|
|
|
129
132
|
},
|
|
130
133
|
}, async (cli) => {
|
|
131
134
|
await cli.expect(/Project .*demo.* is already connected to .*acme\/backend.*\./);
|
|
132
|
-
await cli.expect("Do you want to
|
|
135
|
+
await cli.expect("Do you want to connect another repository?");
|
|
133
136
|
await cli.send(""); // accept default (No)
|
|
134
137
|
await cli.expect("Git connect cancelled");
|
|
135
138
|
});
|
|
@@ -188,6 +191,8 @@ describe("alpic git connect/disconnect (E2E)", () => {
|
|
|
188
191
|
await cli.expect("Choose the remote source to connect");
|
|
189
192
|
await cli.send("\u001B[B"); // Move down one option (select acme/backend)
|
|
190
193
|
await cli.send("");
|
|
194
|
+
await cli.expect("Open browser to install the Alpic GitHub App?");
|
|
195
|
+
await cli.send(""); // accept default (Yes)
|
|
191
196
|
await cli.expect("✅ Connected");
|
|
192
197
|
});
|
|
193
198
|
expect(exitCode).toBe(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.e2e.test.js","sourceRoot":"","sources":["../../src/__tests__/git.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"git.e2e.test.js","sourceRoot":"","sources":["../../src/__tests__/git.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { rmSync } from "node:fs";
|
|
1
|
+
import { rmSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
2
3
|
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
|
3
|
-
import { MockApiServer } from "./mock-
|
|
4
|
+
import { MockApiServer } from "./mock-api.js";
|
|
4
5
|
import { buildMockProject, cliSession, expectSuccessfulApiCall, setupTestDirectory, verifyConfigFile, } from "./utils.js";
|
|
5
6
|
describe("alpic link (E2E)", () => {
|
|
6
7
|
let mockServer;
|
|
@@ -31,7 +32,7 @@ describe("alpic link (E2E)", () => {
|
|
|
31
32
|
}
|
|
32
33
|
});
|
|
33
34
|
it("creates a new project via prompts", async () => {
|
|
34
|
-
const { exitCode } = await cliSession(process.execPath, [binPath, "link"], {
|
|
35
|
+
const { exitCode, output } = await cliSession(process.execPath, [binPath, "link"], {
|
|
35
36
|
cwd,
|
|
36
37
|
env: {
|
|
37
38
|
ALPIC_API_BASE_URL: serverUrl,
|
|
@@ -40,8 +41,7 @@ describe("alpic link (E2E)", () => {
|
|
|
40
41
|
}, async (cli) => {
|
|
41
42
|
await cli.expect("Use the current directory?");
|
|
42
43
|
await cli.send("");
|
|
43
|
-
await cli.expect("
|
|
44
|
-
await cli.send("");
|
|
44
|
+
await cli.expect("Using team");
|
|
45
45
|
await cli.expect("Link to existing project?");
|
|
46
46
|
await cli.send("n");
|
|
47
47
|
await cli.expect("Project name");
|
|
@@ -52,8 +52,10 @@ describe("alpic link (E2E)", () => {
|
|
|
52
52
|
await cli.send("");
|
|
53
53
|
await cli.expect("Project created.");
|
|
54
54
|
await cli.expect("Linked to project");
|
|
55
|
+
await cli.expect("Future deploys from this directory");
|
|
55
56
|
});
|
|
56
57
|
expect(exitCode).toBe(0);
|
|
58
|
+
expect(output).toContain("Future deploys from this directory will target this project and environment.");
|
|
57
59
|
const createProjectCall = mockServer.getLastCall("POST", "/v1/projects");
|
|
58
60
|
expectSuccessfulApiCall(createProjectCall, (call) => {
|
|
59
61
|
expect(call.input).toMatchObject({
|
|
@@ -68,6 +70,70 @@ describe("alpic link (E2E)", () => {
|
|
|
68
70
|
environmentName: "production",
|
|
69
71
|
});
|
|
70
72
|
});
|
|
73
|
+
it("sources env vars from .env when file is present", async () => {
|
|
74
|
+
writeFileSync(join(cwd, ".env"), "API_KEY=my-secret\nDB_HOST=localhost\n");
|
|
75
|
+
const { exitCode } = await cliSession(process.execPath, [binPath, "link"], {
|
|
76
|
+
cwd,
|
|
77
|
+
env: {
|
|
78
|
+
ALPIC_API_BASE_URL: serverUrl,
|
|
79
|
+
ALPIC_API_KEY: "test-api-key",
|
|
80
|
+
},
|
|
81
|
+
}, async (cli) => {
|
|
82
|
+
await cli.expect("Use the current directory?");
|
|
83
|
+
await cli.send("");
|
|
84
|
+
await cli.expect("Using team");
|
|
85
|
+
await cli.expect("Link to existing project?");
|
|
86
|
+
await cli.send("n");
|
|
87
|
+
await cli.expect("Project name");
|
|
88
|
+
await cli.send("my-new-project");
|
|
89
|
+
await cli.expect("Runtime");
|
|
90
|
+
await cli.send("");
|
|
91
|
+
await cli.expect("Root directory");
|
|
92
|
+
await cli.send("");
|
|
93
|
+
await cli.expect("source environment variables");
|
|
94
|
+
await cli.send("y");
|
|
95
|
+
await cli.expect("Path to .env file");
|
|
96
|
+
await cli.send("");
|
|
97
|
+
await cli.expect("Project created.");
|
|
98
|
+
await cli.expect("Linked to project");
|
|
99
|
+
});
|
|
100
|
+
expect(exitCode).toBe(0);
|
|
101
|
+
const createProjectCall = mockServer.getLastCall("POST", "/v1/projects");
|
|
102
|
+
expectSuccessfulApiCall(createProjectCall, (call) => {
|
|
103
|
+
expect(call.input).toMatchObject({
|
|
104
|
+
name: "my-new-project",
|
|
105
|
+
environmentVariables: [
|
|
106
|
+
{ key: "API_KEY", value: "my-secret", isSecret: true },
|
|
107
|
+
{ key: "DB_HOST", value: "localhost", isSecret: false },
|
|
108
|
+
],
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
it("skips env sourcing prompt when no .env file is present", async () => {
|
|
113
|
+
const { exitCode, output } = await cliSession(process.execPath, [binPath, "link"], {
|
|
114
|
+
cwd,
|
|
115
|
+
env: {
|
|
116
|
+
ALPIC_API_BASE_URL: serverUrl,
|
|
117
|
+
ALPIC_API_KEY: "test-api-key",
|
|
118
|
+
},
|
|
119
|
+
}, async (cli) => {
|
|
120
|
+
await cli.expect("Use the current directory?");
|
|
121
|
+
await cli.send("");
|
|
122
|
+
await cli.expect("Using team");
|
|
123
|
+
await cli.expect("Link to existing project?");
|
|
124
|
+
await cli.send("n");
|
|
125
|
+
await cli.expect("Project name");
|
|
126
|
+
await cli.send("my-new-project");
|
|
127
|
+
await cli.expect("Runtime");
|
|
128
|
+
await cli.send("");
|
|
129
|
+
await cli.expect("Root directory");
|
|
130
|
+
await cli.send("");
|
|
131
|
+
await cli.expect("Project created.");
|
|
132
|
+
await cli.expect("Linked to project");
|
|
133
|
+
});
|
|
134
|
+
expect(exitCode).toBe(0);
|
|
135
|
+
expect(output).not.toContain("source environment variables");
|
|
136
|
+
});
|
|
71
137
|
it("links to an existing project via prompts", async () => {
|
|
72
138
|
const existingProjectId = "existing-project-id";
|
|
73
139
|
const existingTeamId = "mock-team-id";
|
|
@@ -89,8 +155,7 @@ describe("alpic link (E2E)", () => {
|
|
|
89
155
|
}, async (cli) => {
|
|
90
156
|
await cli.expect("Use the current directory?");
|
|
91
157
|
await cli.send("");
|
|
92
|
-
await cli.expect("
|
|
93
|
-
await cli.send("");
|
|
158
|
+
await cli.expect("Using team");
|
|
94
159
|
await cli.expect("Link to existing project?");
|
|
95
160
|
await cli.send("y");
|
|
96
161
|
await cli.expect("Choose a project");
|
|
@@ -190,6 +255,129 @@ describe("alpic link (E2E)", () => {
|
|
|
190
255
|
environmentName: "production",
|
|
191
256
|
});
|
|
192
257
|
});
|
|
258
|
+
it("sources env vars from --env-file in non-interactive mode", async () => {
|
|
259
|
+
writeFileSync(join(cwd, "custom.env"), "SECRET_KEY=abc123\nDB_HOST=localhost\n");
|
|
260
|
+
const { exitCode } = await cliSession(process.execPath, [
|
|
261
|
+
binPath,
|
|
262
|
+
"link",
|
|
263
|
+
"--non-interactive",
|
|
264
|
+
"--project-name",
|
|
265
|
+
"demo",
|
|
266
|
+
"--runtime",
|
|
267
|
+
"node24",
|
|
268
|
+
"--env-file",
|
|
269
|
+
"custom.env",
|
|
270
|
+
], {
|
|
271
|
+
cwd,
|
|
272
|
+
env: {
|
|
273
|
+
ALPIC_API_BASE_URL: serverUrl,
|
|
274
|
+
ALPIC_API_KEY: "test-api-key",
|
|
275
|
+
},
|
|
276
|
+
}, async (cli) => {
|
|
277
|
+
await cli.expect("Project created.");
|
|
278
|
+
});
|
|
279
|
+
expect(exitCode).toBe(0);
|
|
280
|
+
const createProjectCall = mockServer.getLastCall("POST", "/v1/projects");
|
|
281
|
+
expectSuccessfulApiCall(createProjectCall, (call) => {
|
|
282
|
+
expect(call.input).toMatchObject({
|
|
283
|
+
environmentVariables: [
|
|
284
|
+
{ key: "SECRET_KEY", value: "abc123", isSecret: true },
|
|
285
|
+
{ key: "DB_HOST", value: "localhost", isSecret: false },
|
|
286
|
+
],
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
});
|
|
290
|
+
it("errors in non-interactive mode when --env-file path does not exist", async () => {
|
|
291
|
+
const { exitCode, output } = await cliSession(process.execPath, [
|
|
292
|
+
binPath,
|
|
293
|
+
"link",
|
|
294
|
+
"--non-interactive",
|
|
295
|
+
"--project-name",
|
|
296
|
+
"demo",
|
|
297
|
+
"--runtime",
|
|
298
|
+
"node24",
|
|
299
|
+
"--env-file",
|
|
300
|
+
"missing.env",
|
|
301
|
+
], {
|
|
302
|
+
cwd,
|
|
303
|
+
env: {
|
|
304
|
+
ALPIC_API_BASE_URL: serverUrl,
|
|
305
|
+
ALPIC_API_KEY: "test-api-key",
|
|
306
|
+
},
|
|
307
|
+
}, async (cli) => {
|
|
308
|
+
await cli.expect("missing.env");
|
|
309
|
+
});
|
|
310
|
+
expect(exitCode).not.toBe(0);
|
|
311
|
+
expect(output).toContain("missing.env");
|
|
312
|
+
});
|
|
313
|
+
it("errors in non-interactive mode when --env-file contains an invalid key", async () => {
|
|
314
|
+
writeFileSync(join(cwd, "bad.env"), "INVALID KEY=value\n");
|
|
315
|
+
const { exitCode, output } = await cliSession(process.execPath, [binPath, "link", "--non-interactive", "--project-name", "demo", "--runtime", "node24", "--env-file", "bad.env"], {
|
|
316
|
+
cwd,
|
|
317
|
+
env: {
|
|
318
|
+
ALPIC_API_BASE_URL: serverUrl,
|
|
319
|
+
ALPIC_API_KEY: "test-api-key",
|
|
320
|
+
},
|
|
321
|
+
}, async (cli) => {
|
|
322
|
+
await cli.expect("Invalid key");
|
|
323
|
+
});
|
|
324
|
+
expect(exitCode).not.toBe(0);
|
|
325
|
+
expect(output).toContain("Invalid key");
|
|
326
|
+
});
|
|
327
|
+
it("errors when --env-file contains an invalid key in interactive mode", async () => {
|
|
328
|
+
writeFileSync(join(cwd, "bad.env"), "INVALID KEY=value\n");
|
|
329
|
+
const { exitCode, output } = await cliSession(process.execPath, [binPath, "link", "--env-file", "bad.env"], {
|
|
330
|
+
cwd,
|
|
331
|
+
env: {
|
|
332
|
+
ALPIC_API_BASE_URL: serverUrl,
|
|
333
|
+
ALPIC_API_KEY: "test-api-key",
|
|
334
|
+
},
|
|
335
|
+
}, async (cli) => {
|
|
336
|
+
await cli.expect("Use the current directory?");
|
|
337
|
+
await cli.send("");
|
|
338
|
+
await cli.expect("Using team");
|
|
339
|
+
await cli.expect("Link to existing project?");
|
|
340
|
+
await cli.send("n");
|
|
341
|
+
await cli.expect("Project name");
|
|
342
|
+
await cli.send("my-new-project");
|
|
343
|
+
await cli.expect("Runtime");
|
|
344
|
+
await cli.send("");
|
|
345
|
+
await cli.expect("Root directory");
|
|
346
|
+
await cli.send("");
|
|
347
|
+
await cli.expect("Invalid key");
|
|
348
|
+
});
|
|
349
|
+
expect(exitCode).not.toBe(0);
|
|
350
|
+
expect(output).toContain("Invalid key");
|
|
351
|
+
});
|
|
352
|
+
it("errors when env file selected interactively contains an invalid key", async () => {
|
|
353
|
+
writeFileSync(join(cwd, ".env"), "INVALID KEY=value\n");
|
|
354
|
+
const { exitCode, output } = await cliSession(process.execPath, [binPath, "link"], {
|
|
355
|
+
cwd,
|
|
356
|
+
env: {
|
|
357
|
+
ALPIC_API_BASE_URL: serverUrl,
|
|
358
|
+
ALPIC_API_KEY: "test-api-key",
|
|
359
|
+
},
|
|
360
|
+
}, async (cli) => {
|
|
361
|
+
await cli.expect("Use the current directory?");
|
|
362
|
+
await cli.send("");
|
|
363
|
+
await cli.expect("Using team");
|
|
364
|
+
await cli.expect("Link to existing project?");
|
|
365
|
+
await cli.send("n");
|
|
366
|
+
await cli.expect("Project name");
|
|
367
|
+
await cli.send("my-new-project");
|
|
368
|
+
await cli.expect("Runtime");
|
|
369
|
+
await cli.send("");
|
|
370
|
+
await cli.expect("Root directory");
|
|
371
|
+
await cli.send("");
|
|
372
|
+
await cli.expect("source environment variables");
|
|
373
|
+
await cli.send("y");
|
|
374
|
+
await cli.expect("Path to .env file");
|
|
375
|
+
await cli.send("");
|
|
376
|
+
await cli.expect("Invalid key");
|
|
377
|
+
});
|
|
378
|
+
expect(exitCode).not.toBe(0);
|
|
379
|
+
expect(output).toContain("Invalid key");
|
|
380
|
+
});
|
|
193
381
|
it("exits cleanly when Ctrl+C is pressed", async () => {
|
|
194
382
|
const { exitCode, output } = await cliSession(process.execPath, [binPath, "link"], {
|
|
195
383
|
cwd,
|
|
@@ -216,8 +404,7 @@ describe("alpic link (E2E)", () => {
|
|
|
216
404
|
}, async (cli) => {
|
|
217
405
|
await cli.expect("Use the current directory?");
|
|
218
406
|
await cli.send("");
|
|
219
|
-
await cli.expect("
|
|
220
|
-
await cli.send("");
|
|
407
|
+
await cli.expect("Using team");
|
|
221
408
|
await cli.expect("Link to existing project?");
|
|
222
409
|
await cli.send("n");
|
|
223
410
|
await cli.expect("Project name");
|
|
@@ -232,10 +419,13 @@ describe("alpic link (E2E)", () => {
|
|
|
232
419
|
await cli.expect("Choose the remote source to connect");
|
|
233
420
|
await cli.send("");
|
|
234
421
|
await cli.expect("Connected to");
|
|
422
|
+
await cli.expect("Open browser to install the Alpic GitHub App?");
|
|
423
|
+
await cli.send(""); // accept default (Yes)
|
|
235
424
|
await cli.expect("Linked to project");
|
|
236
425
|
});
|
|
237
426
|
expect(exitCode).toBe(0);
|
|
238
|
-
expect(output).
|
|
427
|
+
expect(output).toMatch(/install the Alpic GitHub App/);
|
|
428
|
+
expect(output).toContain("https://github.com/apps/alpic-ai/installations/new");
|
|
239
429
|
const updateCall = mockServer.getLastCall("PATCH", /\/v1\/projects\//);
|
|
240
430
|
expectSuccessfulApiCall(updateCall, (call) => {
|
|
241
431
|
expect(call.input).toHaveProperty("sourceRepository");
|
|
@@ -265,8 +455,7 @@ describe("alpic link (E2E)", () => {
|
|
|
265
455
|
}, async (cli) => {
|
|
266
456
|
await cli.expect("Use the current directory?");
|
|
267
457
|
await cli.send("");
|
|
268
|
-
await cli.expect("
|
|
269
|
-
await cli.send("");
|
|
458
|
+
await cli.expect("Using team");
|
|
270
459
|
await cli.expect("Link to existing project?");
|
|
271
460
|
await cli.send("y");
|
|
272
461
|
await cli.expect("Choose a project");
|