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}`);
|
||||
});
|
||||
|
||||
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.
|
||||
test('default command should prompt login with empty auth.json', async () => {
|
||||
await clearAuthConfig();
|
||||
|
||||
Reference in New Issue
Block a user