Skip to content

Commit f87763f

Browse files
committed
feat: increase test coverage for failing status in pre-receive hook
1 parent 8627635 commit f87763f

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

src/proxy/processors/push-action/preReceive.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,13 @@ const exec = async (req, action, hookFilePath = './hooks/pre-receive.sh') => {
3131

3232
const { stdout, stderr, status } = hookProcess;
3333

34+
const stderrTrimmed = stderr ? stderr.trim() : '';
35+
const stdoutTrimmed = stdout ? stdout.trim() : '';
36+
3437
if (status !== 0) {
3538
step.error = true;
36-
step.log(`Hook stderr: ${stderr.trim()}`);
37-
step.setError(stdout.trim());
39+
step.log(`Hook stderr: ${stderrTrimmed}`);
40+
step.setError(stdoutTrimmed);
3841
action.addStep(step);
3942
return action;
4043
}

test/preReceive/preReceive.test.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,14 @@ describe('Pre-Receive Hook Execution', function () {
5656
const result = await exec(req, action, scriptPath);
5757

5858
expect(result.steps).to.have.lengthOf(1);
59-
expect(result.steps[0].error).to.be.true;
60-
expect(result.steps[0].logs.some((log) => log.includes('Hook execution error:'))).to.be.true;
59+
60+
const step = result.steps[0];
61+
62+
expect(step.error).to.be.true;
63+
expect(step.logs.some((log) => log.includes('Hook stderr:'))).to.be.true;
64+
65+
expect(step.errorMessage).to.exist;
66+
67+
expect(action.steps).to.deep.include(step);
6168
});
6269
});

0 commit comments

Comments
 (0)