Proper error codes

This commit is contained in:
vjrj 2018-06-14 19:48:48 +02:00
parent eebbdda064
commit 1de7e4a7b3
2 changed files with 14 additions and 12 deletions

View file

@ -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;
}

View file

@ -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
});