mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-06 12:57:46 +00:00
[cli] Add test for CLI extensions passing through exit code (#11600)
/cc @codybrouwers
This commit is contained in:
2
.changeset/gorgeous-cycles-sell.md
Normal file
2
.changeset/gorgeous-cycles-sell.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
---
|
||||||
32
packages/cli/test/fixtures/e2e/cli-extension-exit-code/package-lock.json
generated
vendored
Normal file
32
packages/cli/test/fixtures/e2e/cli-extension-exit-code/package-lock.json
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"name": "cli-extension-exit-code",
|
||||||
|
"lockfileVersion": 2,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"dependencies": {
|
||||||
|
"cli-extension-fail": "file:../cli-extension-fail"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"../cli-extension-fail": {
|
||||||
|
"bin": {
|
||||||
|
"vercel-fail": "bin.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"../cli-extension-whoami": {
|
||||||
|
"extraneous": true,
|
||||||
|
"bin": {
|
||||||
|
"vercel-mywhoami": "bin.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cli-extension-fail": {
|
||||||
|
"resolved": "../cli-extension-fail",
|
||||||
|
"link": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cli-extension-fail": {
|
||||||
|
"version": "file:../cli-extension-fail"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
6
packages/cli/test/fixtures/e2e/cli-extension-exit-code/package.json
vendored
Normal file
6
packages/cli/test/fixtures/e2e/cli-extension-exit-code/package.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"cli-extension-fail": "file:../cli-extension-fail"
|
||||||
|
}
|
||||||
|
}
|
||||||
2
packages/cli/test/fixtures/e2e/cli-extension-fail/bin.js
vendored
Executable file
2
packages/cli/test/fixtures/e2e/cli-extension-fail/bin.js
vendored
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
process.exit(6);
|
||||||
6
packages/cli/test/fixtures/e2e/cli-extension-fail/package.json
vendored
Normal file
6
packages/cli/test/fixtures/e2e/cli-extension-fail/package.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"name": "cli-extension-fail",
|
||||||
|
"bin": {
|
||||||
|
"vercel-fail": "bin.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
13
packages/cli/test/integration-3.test.ts
vendored
13
packages/cli/test/integration-3.test.ts
vendored
@@ -1327,6 +1327,19 @@ test('should invoke CLI extension', async () => {
|
|||||||
expect(output.stdout, formatted).toContain(`Username: ${contextName}`);
|
expect(output.stdout, formatted).toContain(`Username: ${contextName}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('should pass through exit code for CLI extension', async () => {
|
||||||
|
const fixture = path.join(__dirname, 'fixtures/e2e/cli-extension-exit-code');
|
||||||
|
|
||||||
|
// Ensure the `.bin` is populated in the fixture
|
||||||
|
await runNpmInstall(fixture);
|
||||||
|
|
||||||
|
const output = await execCli(binaryPath, ['fail'], {
|
||||||
|
cwd: fixture,
|
||||||
|
reject: false,
|
||||||
|
});
|
||||||
|
expect(output.exitCode).toEqual(6);
|
||||||
|
});
|
||||||
|
|
||||||
// NOTE: Order matters here. This must be the last test in the file.
|
// NOTE: Order matters here. This must be the last test in the file.
|
||||||
test('default command should prompt login with empty auth.json', async () => {
|
test('default command should prompt login with empty auth.json', async () => {
|
||||||
await clearAuthConfig();
|
await clearAuthConfig();
|
||||||
|
|||||||
Reference in New Issue
Block a user