From 1de7e4a7b374853a572dfeeea8dc7f719c0b9810 Mon Sep 17 00:00:00 2001 From: vjrj Date: Thu, 14 Jun 2018 19:48:48 +0200 Subject: [PATCH] Proper error codes --- imports/api/Rest/Rest.js | 7 ++++--- test/rest.test.js | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/imports/api/Rest/Rest.js b/imports/api/Rest/Rest.js index b3c63b9..eaf3764 100644 --- a/imports/api/Rest/Rest.js +++ b/imports/api/Rest/Rest.js @@ -20,20 +20,21 @@ const debug = false; const uptime = new Date(); +const restivusError = (code, message) => ({ status: 'error', statusCode: code, body: message }); function fail(e) { - return jsend.error(`Unexpected error in REST call: ${e}`); + return restivusError(500, `Unexpected error in REST call: ${e}`); } function defaultFailParams(e) { - return jsend.error(`Wrong REST params: ${e}`); + return restivusError(400, `Wrong REST params: ${e}`); } function checkAuthToken(token) { if (token !== Meteor.settings.private.internalApiToken) { const message = `Unauthorized auth token '${token}' in REST API`; console.warn(message); - return jsend.error(message); + return restivusError(401, message); } return undefined; } diff --git a/test/rest.test.js b/test/rest.test.js index 93cf57c..316d324 100644 --- a/test/rest.test.js +++ b/test/rest.test.js @@ -70,8 +70,7 @@ describe('basic api v1 returns', () => { } }, (error, result) => { chai.expect(error, null); - chai.expect(result.data.status).equal('error'); - chai.expect(result.statusCode).equal(200); + chai.expect(result.statusCode).equal(401); done(); })); @@ -81,16 +80,14 @@ describe('basic api v1 returns', () => { } }, (error, result) => { chai.expect(error, null); - chai.expect(result.data.status).equal('error'); - chai.expect(result.statusCode).equal(200); + chai.expect(result.statusCode).equal(401); done(); })); it('should not return fires with some wrong distance', async done => HTTP.get(url(`api/v1/fires-in-full/${token}/38.736946/-9.142685/1100`), (error, result) => { chai.expect(error, null); - chai.expect(result.data.status).equal('error'); - chai.expect(result.statusCode).equal(200); + chai.expect(result.statusCode).equal(400); done(); })); @@ -138,7 +135,7 @@ describe('basic api v1 returns', () => { } }, (error, result) => { chai.expect(error, null); - chai.expect(result.data.status).equal('error'); + chai.expect(result.statusCode).equal(401); done(); }); }); @@ -198,7 +195,7 @@ describe('basic api v1 returns', () => { } }, (error, result) => { chai.expect(error, null); - chai.expect(result.data.status).equal('error'); + chai.expect(result.statusCode).equal(401); done(); }); }); @@ -212,8 +209,12 @@ describe('basic api v1 returns', () => { } }, (error, result) => { chai.expect(error, null); - chai.expect(result.data.status).equal('error'); + chai.expect(result.statusCode).equal(401); done(); }); }); + + // TODO list all subs + + // TODO remove all subs });