Skip to content
This repository has been archived by the owner on Feb 12, 2022. It is now read-only.

Commit

Permalink
fix server is not closed upon error
Browse files Browse the repository at this point in the history
  • Loading branch information
nkzawa committed Feb 26, 2020
1 parent 96a0131 commit 6584649
Showing 1 changed file with 22 additions and 15 deletions.
37 changes: 22 additions & 15 deletions test.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,15 @@ test('retries upon 500', async () => {

return new Promise((resolve, reject) => {
server.listen(async () => {
const {port} = server.address();
try {
const {port} = server.address();
const res = await retryFetch(`http://127.0.0.1:${port}`);
expect(await res.text()).toBe('ha');
server.close();
resolve();
} catch (err) {
reject(err);
} finally {
server.close();
}
});
server.on('error', reject);
Expand All @@ -39,11 +40,14 @@ test('resolves on >MAX_RETRIES', async () => {

return new Promise((resolve, reject) => {
server.listen(async () => {
const {port} = server.address();
const res = await retryFetch(`http://127.0.0.1:${port}`);
expect(res.status).toBe(500);
server.close();
return resolve();
try {
const {port} = server.address();
const res = await retryFetch(`http://127.0.0.1:${port}`);
expect(res.status).toBe(500);
return resolve();
} finally {
server.close();
}
});
server.on('error', reject);
});
Expand All @@ -61,14 +65,17 @@ test('accepts a custom onRetry option', async () => {
}

server.listen(async () => {
const {port} = server.address();
const res = await retryFetch(`http://127.0.0.1:${port}`, opts);
expect(opts.onRetry.mock.calls.length).toBe(4);
expect(opts.onRetry.mock.calls[0][0]).toBeInstanceOf(ResponseError);
expect(opts.onRetry.mock.calls[0][1]).toEqual(opts);
expect(res.status).toBe(500);
server.close();
return resolve();
try {
const {port} = server.address();
const res = await retryFetch(`http://127.0.0.1:${port}`, opts);
expect(opts.onRetry.mock.calls.length).toBe(4);
expect(opts.onRetry.mock.calls[0][0]).toBeInstanceOf(ResponseError);
expect(opts.onRetry.mock.calls[0][1]).toEqual(opts);
expect(res.status).toBe(500);
return resolve();
} finally {
server.close();
}
});
server.on('error', reject);
});
Expand Down

0 comments on commit 6584649

Please sign in to comment.