X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fsrc%2Fservice.js;h=62c0059553a0cbce037a75909d01902063e9178d;hb=3839577f7cdab67b4591bc827e037d6c173c9dae;hp=a00b2cea49d882790e8be6e427d913be467af6ff;hpb=9696c012e6b9a6c58904baa397ca0ebf78112316;p=websub-hub diff --git a/test/src/service.js b/test/src/service.js index a00b2ce..62c0059 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,14 +61,6 @@ describe('Service', function () { }); }); // maybeIngestBody - describe('handlerRedirect', function () { - it('covers', async function () { - await service.handlerRedirect(req, res, ctx, '/'); - assert(res.end.called); - assert.strictEqual(res.statusCode, 307); - }); - }); // handlerRedirect - describe('handlerPostRoot', function () { it('covers public mode', async function () { await service.handlerPostRoot(req, res, ctx); @@ -101,41 +94,54 @@ describe('Service', function () { }); // handlerGetHealthcheck describe('handlerGetInfo', function () { - it('covers', async function() { + it('covers', async function () { await service.handlerGetInfo(req, res, ctx); assert(service.manager.getInfo.called); }); }); // handlerGetInfo - describe('handlerGetAdminOverview', function () { + describe('handlerGetHistorySVG', function () { it('covers', async function () { + await service.handlerGetHistorySVG(req, res, ctx); + assert(service.manager.getHistorySVG.called); + }); + }); // handlerGetHistorySVG + + describe('handlerGetAdminOverview', function () { + it('covers authenticated', async function () { + service.authenticator.sessionRequired.resolves(false); await service.handlerGetAdminOverview(req, res, ctx); - assert(service.authenticator.required.called); + assert(service.authenticator.sessionRequired.called); + assert(service.manager.getAdminOverview.notCalled); + }); + it('covers unauthenticated', async function () { + service.authenticator.sessionRequired.resolves(true); + await service.handlerGetAdminOverview(req, res, ctx); + assert(service.authenticator.sessionRequired.called); assert(service.manager.getAdminOverview.called); - }) + }); }); // handlerGetAdminOverview describe('handlerGetAdminTopicDetails', function () { - it('covers', async function () { + it('covers unauthenticated', async function () { + service.authenticator.sessionRequired.resolves(false); await service.handlerGetAdminTopicDetails(req, res, ctx); - assert(service.authenticator.required.called); + assert(service.authenticator.sessionRequired.called); + assert(service.manager.getTopicDetails.notCalled); + }); + it('covers authenticated', async function () { + service.authenticator.sessionRequired.resolves(true); + await service.handlerGetAdminTopicDetails(req, res, ctx); + assert(service.authenticator.sessionRequired.called); assert(service.manager.getTopicDetails.called); - }) - }); // handlerGetAdminTopicDetails - - describe('handlerGetStaticFile', function () { - it('covers', async function () { - service.serveFile.resolves(); - await service.handlerGetStaticFile(req, res, ctx); - assert(service.serveFile.called); }); - }); // handlerGetStaticFile + }); // handlerGetAdminTopicDetails describe('handlerPostAdminProcess', 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 @@ -144,7 +150,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 @@ -153,9 +159,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