diff options
author | Matthew Miller <matthew@millerti.me> | 2020-05-21 18:20:41 -0700 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2020-05-21 18:20:41 -0700 |
commit | 0b37a9be7bcead032ba91c03d979c097c65d70bd (patch) | |
tree | d8466994be219dd7aa33b17bf5332b8c325c3ea7 /packages/server/src/assertion/generateAssertionOptions.test.ts | |
parent | 8e3b0122538765979110b92bafbd9943d695752d (diff) |
Add tests for generateAssertionOptions in browser
Diffstat (limited to 'packages/server/src/assertion/generateAssertionOptions.test.ts')
-rw-r--r-- | packages/server/src/assertion/generateAssertionOptions.test.ts | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/packages/server/src/assertion/generateAssertionOptions.test.ts b/packages/server/src/assertion/generateAssertionOptions.test.ts new file mode 100644 index 0000000..54d10f9 --- /dev/null +++ b/packages/server/src/assertion/generateAssertionOptions.test.ts @@ -0,0 +1,45 @@ +import generateAssertionOptions from './generateAssertionOptions'; + +test('should generate credential request options suitable for sending via JSON', () => { + const challenge = 'totallyrandomvalue'; + + const options = generateAssertionOptions( + challenge, + [ + Buffer.from('1234', 'ascii').toString('base64'), + Buffer.from('5678', 'ascii').toString('base64'), + ], + 1, + ); + + expect(options).toEqual({ + publicKey: { + challenge, + allowCredentials: [ + { + id: 'MTIzNA==', + type: 'public-key', + transports: ['usb', 'ble', 'nfc'], + }, + { + id: 'NTY3OA==', + type: 'public-key', + transports: ['usb', 'ble', 'nfc'], + }, + ], + timeout: 1, + }, + }); +}); + +test('defaults to 60 seconds if no timeout is specified', () => { + const options = generateAssertionOptions( + 'totallyrandomvalue', + [ + Buffer.from('1234', 'ascii').toString('base64'), + Buffer.from('5678', 'ascii').toString('base64'), + ], + ); + + expect(options.publicKey.timeout).toEqual(60000); +}); |