summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/assertion/generateAssertionOptions.test.ts
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2020-05-22 10:34:40 -0700
committerGitHub <noreply@github.com>2020-05-22 10:34:40 -0700
commit27d2104bfd297ac6e6e6ffe17ad12ad9dcd1bd3d (patch)
treec6c005074f78ef079d1195acbf03f6abd31bc562 /packages/server/src/assertion/generateAssertionOptions.test.ts
parentd9074ec54935aa2155151d2dd9dea0974f33da29 (diff)
parent1038e1a9bb04a1b638248ff6cf7d57c21304a668 (diff)
Merge pull request #1 from MasterKale/feature/lerna
feature/monorepo
Diffstat (limited to 'packages/server/src/assertion/generateAssertionOptions.test.ts')
-rw-r--r--packages/server/src/assertion/generateAssertionOptions.test.ts45
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);
+});