|
|
@ -19,3 +19,30 @@ test('Handle HTML responses for errors', async t => { |
|
|
|
|
|
|
|
t.truthy(scope.isDone()) |
|
|
|
}) |
|
|
|
|
|
|
|
test('Throw useful errors for HTTP response codes', async t => { |
|
|
|
const onionoo = new Onionoo() |
|
|
|
|
|
|
|
const defaultEndpoint = data.defaultEndpoints[0] |
|
|
|
const responseCodes = { |
|
|
|
400: 'Bad Request', |
|
|
|
404: 'Not Found', |
|
|
|
500: 'Internal Server Error', |
|
|
|
503: 'Service Unavailable' |
|
|
|
} |
|
|
|
|
|
|
|
for (const responseCode in responseCodes) { |
|
|
|
const scope = nock(data.defaultBaseUrl) |
|
|
|
.get(`/${defaultEndpoint}`) |
|
|
|
.reply(responseCode) |
|
|
|
|
|
|
|
try { |
|
|
|
await onionoo[defaultEndpoint]() |
|
|
|
} catch (e) { |
|
|
|
t.is(e.message, `Response code ${responseCode} (${responseCodes[responseCode]})`) |
|
|
|
t.is(e.statusCode, parseInt(responseCode, 10)) |
|
|
|
t.is(e.statusMessage, responseCodes[responseCode]) |
|
|
|
} |
|
|
|
t.truthy(scope.isDone()) |
|
|
|
} |
|
|
|
}) |
|
|
|