summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/assertion/generateAssertionOptions.test.ts
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2020-07-30 17:56:51 -0700
committerMatthew Miller <matthew@millerti.me>2020-07-30 17:56:51 -0700
commitc2e54e75ec1f6476bc8cd46c749da6d04626d92e (patch)
tree389319366e81905b69cc6079a249272f7cfd2008 /packages/server/src/assertion/generateAssertionOptions.test.ts
parent773a3849c051adf326d70235ac812cca8d920676 (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.ts15
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: [