Skip to content

Commit f01fff8

Browse files
committed
fix: mocha tests
1 parent d09d73e commit f01fff8

File tree

3 files changed

+71
-73
lines changed

3 files changed

+71
-73
lines changed

test/addNewMask.unit.spec.js

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe('addNewMask', () => {
1313

1414
const stubGetServerAddress = sinon.stub();
1515
const stubProcessExit = sinon.stub();
16-
const stubConsole = {
16+
const stubLogger = {
1717
debug: sinon.stub(),
1818
error: sinon.stub(),
1919
warn: sinon.stub(),
@@ -30,16 +30,15 @@ describe('addNewMask', () => {
3030

3131
before(async () => {
3232
process.exit = stubProcessExit;
33-
console = stubConsole;
3433
const { default: httpClient } = await import('got');
3534
sinon.stub(httpClient, 'post').callsFake(stubGot.post);
3635
});
3736

3837
beforeEach(() => {
3938
stubProcessExit.resetHistory();
4039
stubGetServerAddress.resetHistory();
41-
for (const stub in stubConsole) {
42-
stubConsole[stub].resetHistory();
40+
for (const stub in stubLogger) {
41+
stubLogger[stub].resetHistory();
4342
}
4443
for (const stub in stubGot) {
4544
stubGot[stub].resetHistory();
@@ -78,6 +77,9 @@ describe('addNewMask', () => {
7877
it('should fail if the server address is not available', async () => {
7978
stubGetServerAddress.rejects('could not get server address');
8079
const { updateMasks, exitHandler } = proxyquire('../lib/addNewMask', {
80+
'@codefresh-io/cf-telemetry/logs': {
81+
Logger: function() { return stubLogger },
82+
},
8183
'./helpers': {
8284
getServerAddress: stubGetServerAddress,
8385
},
@@ -88,13 +90,16 @@ describe('addNewMask', () => {
8890
}
8991
});
9092
await updateMasks(secret);
91-
expect(stubConsole.error).to.have.been.calledOnceWith('could not create mask for secret: 123. Error: could not get server address');
93+
expect(stubLogger.error).to.have.been.calledOnceWith('could not create mask for secret: 123. Error: could not get server address');
9294
expect(stubProcessExit).to.have.been.calledOnceWith(1);
9395
});
9496

9597
it('should fail if the server address is not valid URL', async () => {
9698
stubGetServerAddress.resolves('foo');
9799
const { updateMasks, exitHandler } = proxyquire('../lib/addNewMask', {
100+
'@codefresh-io/cf-telemetry/logs': {
101+
Logger: function() { return stubLogger },
102+
},
98103
'./helpers': {
99104
getServerAddress: stubGetServerAddress,
100105
},
@@ -105,7 +110,7 @@ describe('addNewMask', () => {
105110
}
106111
});
107112
await updateMasks(secret);
108-
expect(stubConsole.error).to.have.been.calledOnceWith('could not create mask for secret: 123. Error: TypeError: Invalid URL');
113+
expect(stubLogger.error).to.have.been.calledOnceWith('could not create mask for secret: 123. Error: TypeError: Invalid URL');
109114
expect(stubProcessExit).to.have.been.calledOnceWith(1);
110115
});
111116

@@ -117,6 +122,9 @@ describe('addNewMask', () => {
117122
body: 'Internal Server Error',
118123
});
119124
const { updateMasks, exitHandler } = proxyquire('../lib/addNewMask', {
125+
'@codefresh-io/cf-telemetry/logs': {
126+
Logger: function() { return stubLogger },
127+
},
120128
'./helpers': { getServerAddress: stubGetServerAddress },
121129
});
122130
process.listeners('exit').forEach((listener) => {
@@ -125,27 +133,35 @@ describe('addNewMask', () => {
125133
}
126134
});
127135
await updateMasks(secret);
128-
expect(stubConsole.error).to.have.been.calledOnceWith('could not create mask for secret: 123. Server responded with: 500\n\nInternal Server Error');
136+
expect(stubLogger.error).to.have.been.calledOnceWith('could not create mask for secret: 123. Server responded with: 500\n\nInternal Server Error');
129137
expect(stubProcessExit).to.have.been.calledOnceWith(1);
130138
});
131139
});
132140

133141
describe('exitHandler', () => {
134142
it('should set exit code to 3 if the original exit code is 0 and variable was not masked', () => {
135-
const { exitHandler } = proxyquire('../lib/addNewMask', {});
143+
const { exitHandler } = proxyquire('../lib/addNewMask', {
144+
'@codefresh-io/cf-telemetry/logs': {
145+
Logger: function() { return stubLogger },
146+
},
147+
});
136148
process.listeners('exit').forEach((listener) => {
137149
if (listener === exitHandler) {
138150
process.removeListener('exit', listener);
139151
}
140152
});
141153
exitHandler(0);
142154
expect(process.exitCode).to.be.equal(3);
143-
expect(stubConsole.warn).to.have.been.calledOnceWith('Unexpected exit with code 0. Exiting with 3 instead');
155+
expect(stubLogger.warn).to.have.been.calledOnceWith('Unexpected exit with code 0. Exiting with 3 instead');
144156
process.exitCode = undefined;
145157
});
146158

147159
it('should set exit code to 3 if the original exit code is 0 and variable was not masked', () => {
148-
const { exitHandler } = proxyquire('../lib/addNewMask', {});
160+
const { exitHandler } = proxyquire('../lib/addNewMask', {
161+
'@codefresh-io/cf-telemetry/logs': {
162+
Logger: function() { return stubLogger },
163+
},
164+
});
149165
process.listeners('exit').forEach((listener) => {
150166
if (listener === exitHandler) {
151167
process.removeListener('exit', listener);
@@ -157,7 +173,7 @@ describe('addNewMask', () => {
157173
process.exitCode = 0;
158174
exitHandler();
159175
expect(process.exitCode).to.be.equal(3);
160-
expect(stubConsole.warn).to.have.been.calledOnceWith('Unexpected exit with code 0. Exiting with 3 instead');
176+
expect(stubLogger.warn).to.have.been.calledOnceWith('Unexpected exit with code 0. Exiting with 3 instead');
161177
process.exitCode = 0;
162178
});
163179

@@ -175,7 +191,7 @@ describe('addNewMask', () => {
175191
});
176192
await updateMasks(secret);
177193
expect(process.exitCode).not.to.be.equal(3);
178-
expect(stubConsole.warn).not.to.have.been.calledOnceWith('Unexpected exit with code 0. Exiting with 3 instead');
194+
expect(stubLogger.warn).not.to.have.been.calledOnceWith('Unexpected exit with code 0. Exiting with 3 instead');
179195
});
180196
});
181197
});

test/helpers.unit.spec.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,17 @@ describe('helpers', () => {
3030
const serverAddress = 'foo';
3131
const { saveServerAddress } = proxyquire('../lib/helpers.js', {
3232
'node:fs/promises': stubFsPromises,
33-
'cf-logs': { Logger: () => stubLogger },
33+
'@codefresh-io/cf-telemetry/logs': { Logger: function() { return stubLogger } },
3434
'./const': { SERVER_ADDRESS_PATH },
3535
});
3636
await saveServerAddress(serverAddress);
3737
expect(stubFsPromises.writeFile).to.have.been.calledOnceWithExactly(SERVER_ADDRESS_PATH, serverAddress, { encoding: 'utf8' });
3838
});
39-
39+
4040
it('should fail if the file cannot be written', async () => {
4141
const { saveServerAddress } = proxyquire('../lib/helpers.js', {
4242
'node:fs/promises': stubFsPromises,
43-
'cf-logs': { Logger: () => stubLogger },
43+
'@codefresh-io/cf-telemetry/logs': { Logger: function() { return stubLogger } },
4444
});
4545
const expectedError = new Error('oh no');
4646
stubFsPromises.writeFile.rejects(expectedError);
@@ -53,26 +53,26 @@ describe('helpers', () => {
5353
}
5454
});
5555
});
56-
56+
5757
describe('getServerAddress()', () => {
5858
it('should read the server address from the file', async () => {
5959
const SERVER_ADDRESS_PATH = 'little/bobby/tables/we/call/him';
6060
const serverAddress = 'foo';
6161
const { getServerAddress } = proxyquire('../lib/helpers.js', {
6262
'node:fs/promises': stubFsPromises,
63-
'cf-logs': { Logger: () => stubLogger },
63+
'@codefresh-io/cf-telemetry/logs': { Logger: function() { return stubLogger } },
6464
'./const': { SERVER_ADDRESS_PATH },
6565
});
6666
stubFsPromises.readFile.resolves(serverAddress);
6767
const result = await getServerAddress();
6868
expect(result).to.be.equal(serverAddress);
6969
expect(stubFsPromises.readFile).to.have.been.calledOnceWithExactly(SERVER_ADDRESS_PATH, { encoding: 'utf8' });
7070
});
71-
71+
7272
it('should fail if the file cannot be read', async () => {
7373
const { getServerAddress } = proxyquire('../lib/helpers.js', {
7474
'node:fs/promises': stubFsPromises,
75-
'cf-logs': { Logger: () => stubLogger },
75+
'@codefresh-io/cf-telemetry/logs': { Logger: function() { return stubLogger } },
7676
});
7777
const expectedError = new Error('oh no');
7878
stubFsPromises.readFile.rejects(expectedError);

0 commit comments

Comments
 (0)