Skip to content

Commit 28e25b0

Browse files
committed
chore: update cli tests
1 parent 25a5ecf commit 28e25b0

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

packages/git-proxy-cli/index.ts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,9 @@ async function authoriseGitPush(id: string) {
230230
/**
231231
* Reject git push by ID
232232
* @param {string} id The ID of the git push to reject
233+
* @param {string} reason The reason for rejecting the push
233234
*/
234-
async function rejectGitPush(id: string) {
235+
async function rejectGitPush(id: string, reason: string) {
235236
if (!fs.existsSync(GIT_PROXY_COOKIE_FILE)) {
236237
console.error('Error: Reject: Authentication required');
237238
process.exitCode = 1;
@@ -247,7 +248,11 @@ async function rejectGitPush(id: string) {
247248

248249
await axios.post(
249250
`${baseUrl}/api/v1/push/${id}/reject`,
250-
{},
251+
{
252+
params: {
253+
reason,
254+
},
255+
},
251256
{
252257
headers: { Cookie: cookies },
253258
},
@@ -261,13 +266,17 @@ async function rejectGitPush(id: string) {
261266

262267
if (error.response) {
263268
switch (error.response.status) {
269+
case 400:
270+
errorMessage = `Error: Reject: ${error.response.data.message}`;
271+
process.exitCode = 3;
272+
break;
264273
case 401:
265274
errorMessage = 'Error: Reject: Authentication required';
266-
process.exitCode = 3;
275+
process.exitCode = 4;
267276
break;
268277
case 404:
269278
errorMessage = `Error: Reject: ID: '${id}': Not Found`;
270-
process.exitCode = 4;
279+
process.exitCode = 5;
271280
}
272281
}
273282
console.error(errorMessage);
@@ -553,9 +562,14 @@ yargs(hideBin(process.argv)) // eslint-disable-line @typescript-eslint/no-unused
553562
demandOption: true,
554563
type: 'string',
555564
},
565+
reason: {
566+
describe: 'Reason for rejecting the push',
567+
demandOption: true,
568+
type: 'string',
569+
},
556570
},
557571
handler(argv) {
558-
rejectGitPush(argv.id);
572+
rejectGitPush(argv.id, argv.reason);
559573
},
560574
})
561575
.command({

packages/git-proxy-cli/test/testCli.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ describe('test git-proxy-cli', function () {
440440
}
441441

442442
const id = GHOST_PUSH_ID;
443-
const cli = `${CLI_PATH} reject --id ${id}`;
443+
const cli = `${CLI_PATH} reject --id ${id} --reason "Test rejection"`;
444444
const expectedExitCode = 2;
445445
const expectedMessages = null;
446446
const expectedErrorMessages = ['Error: Reject:'];
@@ -451,7 +451,7 @@ describe('test git-proxy-cli', function () {
451451
await helper.removeCookiesFile();
452452

453453
const id = GHOST_PUSH_ID;
454-
const cli = `${CLI_PATH} reject --id ${id}`;
454+
const cli = `${CLI_PATH} reject --id ${id} --reason "Test rejection"`;
455455
const expectedExitCode = 1;
456456
const expectedMessages = null;
457457
const expectedErrorMessages = ['Error: Reject: Authentication required'];
@@ -463,8 +463,8 @@ describe('test git-proxy-cli', function () {
463463
await helper.createCookiesFileWithExpiredCookie();
464464
await helper.startServer();
465465
const id = pushId;
466-
const cli = `${CLI_PATH} reject --id ${id}`;
467-
const expectedExitCode = 3;
466+
const cli = `${CLI_PATH} reject --id ${id} --reason "Test rejection"`;
467+
const expectedExitCode = 4;
468468
const expectedMessages = null;
469469
const expectedErrorMessages = ['Error: Reject: Authentication required'];
470470
await helper.runCli(cli, expectedExitCode, expectedMessages, expectedErrorMessages);
@@ -479,8 +479,8 @@ describe('test git-proxy-cli', function () {
479479
await helper.runCli(`${CLI_PATH} login --username admin --password admin`);
480480

481481
const id = GHOST_PUSH_ID;
482-
const cli = `${CLI_PATH} reject --id ${id}`;
483-
const expectedExitCode = 4;
482+
const cli = `${CLI_PATH} reject --id ${id} --reason "Test rejection"`;
483+
const expectedExitCode = 5;
484484
const expectedMessages = null;
485485
const expectedErrorMessages = [`Error: Reject: ID: '${id}': Not Found`];
486486
await helper.runCli(cli, expectedExitCode, expectedMessages, expectedErrorMessages);
@@ -756,7 +756,7 @@ describe('test git-proxy-cli', function () {
756756
let expectedErrorMessages = null;
757757
await helper.runCli(cli, expectedExitCode, expectedMessages, expectedErrorMessages);
758758

759-
cli = `${CLI_PATH} reject --id ${pushId}`;
759+
cli = `${CLI_PATH} reject --id ${pushId} --reason "Test rejection"`;
760760
expectedExitCode = 0;
761761
expectedMessages = [`Reject: ID: '${pushId}': OK`];
762762
expectedErrorMessages = null;

0 commit comments

Comments
 (0)