X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=test%2Flib%2Fauthenticator.js;fp=test%2Flib%2Fauthenticator.js;h=84ee1c5332564cec56b6b6e616c1f5b743a18475;hb=8e6eeb4ff8fa853f200d3ed8a61ac31932371851;hp=71420810f3e878edc841c7c243976fc19e24b677;hpb=9c8e775e5ab96a1788f535760bfa72205c430d15;p=squeep-authentication-module diff --git a/test/lib/authenticator.js b/test/lib/authenticator.js index 7142081..84ee1c5 100644 --- a/test/lib/authenticator.js +++ b/test/lib/authenticator.js @@ -140,13 +140,14 @@ describe('Authenticator', function () { }); // _validateAuthDataCredential describe('isValidBasic', function () { + const b64 = (x) => Buffer.from(x).toString('base64'); it('succeeds', async function () { _authMechanismRequired(authenticator, 'argon2'); authenticator.db.authenticationGet.resolves({ identifier, credential, }); - const authString = `${identifier}:${password}`; + const authString = b64(`${identifier}:${password}`); const result = await authenticator.isValidBasic(authString, ctx); assert.strictEqual(result, true); assert.strictEqual(ctx.authenticationId, identifier); @@ -157,14 +158,14 @@ describe('Authenticator', function () { identifier, credential, }); - const authString = `${identifier}:wrongPassword}`; + const authString = b64(`${identifier}:wrongPassword}`); const result = await authenticator.isValidBasic(authString, ctx); assert.strictEqual(result, false); assert.strictEqual(ctx.authenticationId, undefined); }); it('covers no entry', async function() { authenticator.db.authenticationGet.resolves(); - const authString = `${identifier}:wrongPassword}`; + const authString = b64(`${identifier}:wrongPassword}`); const result = await authenticator.isValidBasic(authString, ctx); assert.strictEqual(result, false); assert.strictEqual(ctx.authenticationId, undefined); @@ -174,7 +175,7 @@ describe('Authenticator', function () { identifier, credential: '$other$kind_of_credential', }); - const authString = `${identifier}:wrongPassword}`; + const authString = b64(`${identifier}:wrongPassword}`); const result = await authenticator.isValidBasic(authString, ctx); assert.strictEqual(result, false); assert.strictEqual(ctx.authenticationId, undefined); @@ -577,7 +578,7 @@ describe('Authenticator', function () { it('covers missing basic auth, ignores session', async function () { req.getHeader.returns(); sinon.stub(authenticator, 'isValidAuthorization').resolves(true); - assert.rejects(authenticator.apiRequiredLocal(req, res, ctx, false), { + assert.rejects(() => authenticator.apiRequiredLocal(req, res, ctx, false), { name: 'ResponseError', statusCode: 401, }); @@ -585,6 +586,11 @@ describe('Authenticator', function () { assert(!authenticator.isValidAuthorization.called); assert(res.setHeader.called); }); + it('covers errors', async function () { + sinon.stub(authenticator, 'isValidAuthorization').rejects(); + req.getHeader.returns('Basic Zm9vOmJhcg=='); + assert.rejects(() => authenticator.apiRequiredLocal(req, res, ctx)); + }); }); // apiRequiredLocal }); // Authenticator