diff options
author | Matthew Miller <matthew@millerti.me> | 2020-07-30 17:56:51 -0700 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2020-07-30 17:56:51 -0700 |
commit | c2e54e75ec1f6476bc8cd46c749da6d04626d92e (patch) | |
tree | 389319366e81905b69cc6079a249272f7cfd2008 /packages/server/src/assertion/generateAssertionOptions.test.ts | |
parent | 773a3849c051adf326d70235ac812cca8d920676 (diff) |
Add tests for challenge generation
Diffstat (limited to 'packages/server/src/assertion/generateAssertionOptions.test.ts')
-rw-r--r-- | packages/server/src/assertion/generateAssertionOptions.test.ts | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/packages/server/src/assertion/generateAssertionOptions.test.ts b/packages/server/src/assertion/generateAssertionOptions.test.ts index 2567b48..f689445 100644 --- a/packages/server/src/assertion/generateAssertionOptions.test.ts +++ b/packages/server/src/assertion/generateAssertionOptions.test.ts @@ -1,4 +1,4 @@ -import base64url from 'base64url'; +jest.mock('../helpers/generateChallenge'); import generateAssertionOptions from './generateAssertionOptions'; @@ -12,7 +12,8 @@ test('should generate credential request options suitable for sending via JSON', }); expect(options).toEqual({ - challenge: base64url.encode(challenge), + // base64url-encoded + challenge: 'dG90YWxseXJhbmRvbXZhbHVl', allowCredentials: [ { id: 'MTIzNA==', @@ -61,6 +62,16 @@ test('should set extensions if specified', () => { }); }); +test('should generate a challenge if one is not provided', () => { + const opts = { ...goodOpts1 }; + delete opts.challenge; + + const options = generateAssertionOptions(opts); + + // base64url-encoded 16-byte buffer from mocked `generateChallenge()` + expect(options.challenge).toEqual('AQIDBAUGBwgJCgsMDQ4PEA'); +}); + const goodOpts1 = { challenge: 'totallyrandomvalue', allowedCredentialIDs: [ |