X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fsrc%2Fservice.js;h=cafe1d16922ff9e4e0f48b19921a572e39d7ea2f;hb=bcfba28befef260d29328964273335519f7522f6;hp=7a97cf5366f88a70a32702170658b4f2e50c7c97;hpb=d32ce0a7ed3840bb3a78f12c35eca0244a34e78a;p=websub-hub diff --git a/test/src/service.js b/test/src/service.js index 7a97cf5..cafe1d1 100644 --- a/test/src/service.js +++ b/test/src/service.js @@ -20,6 +20,7 @@ describe('Service', function () { options = new Config('test'); service = new Service(stubLogger, stubDb, options); sinon.stub(service.manager); + sinon.stub(service.sessionManager); sinon.stub(service.authenticator); sinon.stub(service, 'setResponseType'); sinon.stub(service, 'serveFile'); @@ -60,6 +61,20 @@ describe('Service', function () { }); }); // maybeIngestBody + describe('setHeadHandler', function () { + it('covers', function () { + const origEnd = res.end; + sinon.stub(Service.__proto__, 'setHeadHandler'); + ctx.responseBody = 'data'; + req.method = 'HEAD'; + Service.setHeadHandler(req, res, ctx); + res.end('foop'); + assert(Service.__proto__.setHeadHandler.called); + assert(origEnd.called); + assert(!('responseBody' in ctx)); + }); + }); // setHeadHandler + describe('handlerPostRoot', function () { it('covers public mode', async function () { await service.handlerPostRoot(req, res, ctx); @@ -102,7 +117,7 @@ describe('Service', function () { describe('handlerGetAdminOverview', function () { it('covers', async function () { await service.handlerGetAdminOverview(req, res, ctx); - assert(service.authenticator.required.called); + assert(service.authenticator.sessionRequired.called); assert(service.manager.getAdminOverview.called); }) }); // handlerGetAdminOverview @@ -110,7 +125,7 @@ describe('Service', function () { describe('handlerGetAdminTopicDetails', function () { it('covers', async function () { await service.handlerGetAdminTopicDetails(req, res, ctx); - assert(service.authenticator.required.called); + assert(service.authenticator.sessionRequired.called); assert(service.manager.getTopicDetails.called); }) }); // handlerGetAdminTopicDetails @@ -119,7 +134,7 @@ describe('Service', function () { it('covers', async function () { service.serveFile.resolves(); await service.handlerPostAdminProcess(req, res, ctx); - assert(service.authenticator.required.called); + assert(service.authenticator.apiRequiredLocal.called); assert(service.manager.processTasks.called); }); }); // handlerPostAdminProcess @@ -128,7 +143,7 @@ describe('Service', function () { it('covers', async function () { sinon.stub(service, 'bodyData').resolves(); await service.handlerUpdateTopic(req, res, ctx); - assert(service.authenticator.required.called); + assert(service.authenticator.apiRequiredLocal.called); assert(service.manager.updateTopic.called); }); }); // handlerUpdateTopic @@ -137,9 +152,38 @@ describe('Service', function () { it('covers', async function () { sinon.stub(service, 'bodyData').resolves(); await service.handlerUpdateSubscription(req, res, ctx); - assert(service.authenticator.required.called); + assert(service.authenticator.apiRequiredLocal.called); assert(service.manager.updateSubscription.called); }); }); // handlerUpdateSubscription + describe('handlerGetAdminLogin', function () { + it('covers', async function () { + await service.handlerGetAdminLogin(req, res, ctx); + assert(service.sessionManager.getAdminLogin.called); + }); + }); // handlerGetAdminLogin + + describe('handlerPostAdminLogin', function () { + it('covers', async function () { + sinon.stub(service, 'bodyData').resolves(); + await service.handlerPostAdminLogin(req, res, ctx); + assert(service.sessionManager.postAdminLogin.called); + }); + }); // handlerPostAdminLogin + + describe('handlerGetAdminLogout', function () { + it('covers', async function () { + await service.handlerGetAdminLogout(req, res, ctx); + assert(service.sessionManager.getAdminLogout.called); + }); +}); // handlerGetAdminLogout + + describe('handlerGetAdminIA', function () { + it('covers', async function () { + await service.handlerGetAdminIA(req, res, ctx); + assert(service.sessionManager.getAdminIA.called); + }); + }); // handlerGetAdminIA + }); \ No newline at end of file