2016-03-01 20:32:39 -08:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
const request = require('request');
|
2016-02-20 13:02:22 -05:00
|
|
|
var LogsRouter = require('../src/Routers/LogsRouter').LogsRouter;
|
|
|
|
|
var LoggerController = require('../src/Controllers/LoggerController').LoggerController;
|
2016-08-06 08:29:19 -04:00
|
|
|
var WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
2016-02-20 13:02:22 -05:00
|
|
|
|
2016-08-06 08:29:19 -04:00
|
|
|
const loggerController = new LoggerController(new WinstonLoggerAdapter());
|
2016-02-20 13:02:22 -05:00
|
|
|
|
|
|
|
|
describe('LogsRouter', () => {
|
|
|
|
|
it('can check valid master key of request', (done) => {
|
|
|
|
|
// Make mock request
|
|
|
|
|
var request = {
|
|
|
|
|
auth: {
|
|
|
|
|
isMaster: true
|
|
|
|
|
},
|
|
|
|
|
query: {},
|
|
|
|
|
config: {
|
|
|
|
|
loggerController: loggerController
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var router = new LogsRouter();
|
|
|
|
|
|
|
|
|
|
expect(() => {
|
2016-03-01 22:33:14 -05:00
|
|
|
router.validateRequest(request);
|
2016-02-20 13:02:22 -05:00
|
|
|
}).not.toThrow();
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('can check invalid construction of controller', (done) => {
|
|
|
|
|
// Make mock request
|
|
|
|
|
var request = {
|
|
|
|
|
auth: {
|
|
|
|
|
isMaster: true
|
|
|
|
|
},
|
|
|
|
|
query: {},
|
|
|
|
|
config: {
|
|
|
|
|
loggerController: undefined // missing controller
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var router = new LogsRouter();
|
|
|
|
|
|
|
|
|
|
expect(() => {
|
2016-03-01 22:33:14 -05:00
|
|
|
router.validateRequest(request);
|
2016-02-20 13:02:22 -05:00
|
|
|
}).toThrow();
|
|
|
|
|
done();
|
|
|
|
|
});
|
|
|
|
|
|
2016-03-01 20:32:39 -08:00
|
|
|
it('can check invalid master key of request', done => {
|
|
|
|
|
request.get({
|
2016-03-01 22:33:14 -05:00
|
|
|
url: 'http://localhost:8378/1/scriptlog',
|
2016-03-01 20:32:39 -08:00
|
|
|
json: true,
|
|
|
|
|
headers: {
|
|
|
|
|
'X-Parse-Application-Id': 'test',
|
|
|
|
|
'X-Parse-REST-API-Key': 'rest'
|
2016-02-20 13:02:22 -05:00
|
|
|
}
|
2016-03-01 20:32:39 -08:00
|
|
|
}, (error, response, body) => {
|
|
|
|
|
expect(response.statusCode).toEqual(403);
|
|
|
|
|
expect(body.error).toEqual('unauthorized: master key is required');
|
|
|
|
|
done();
|
|
|
|
|
});
|
2016-02-20 13:02:22 -05:00
|
|
|
});
|
|
|
|
|
});
|