| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>WebAuthn credential.get() Passing Tests</title> |
| <meta name="timeout" content="long"> |
| <link rel="author" title="Adam Powers" href="mailto:adam@fidoalliance.org"> |
| <link rel="help" href="https://w3c.github.io/webauthn/#iface-credential"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src=helpers.js></script> |
| <body></body> |
| <script> |
| standardSetup(function() { |
| "use strict"; |
| |
| var credPromise = createCredential(); |
| |
| // GetCredentialsTest with default args |
| new GetCredentialsTest() |
| .addCredential(credPromise) |
| .runTest("passing credentials.get() with default args"); |
| |
| // timeout |
| new GetCredentialsTest({path: "options.publicKey.timeout", value: undefined}) |
| .addCredential(credPromise) |
| .runTest("passing credentials.create() with no timeout"); |
| |
| // rpId |
| new GetCredentialsTest({path: "options.publicKey.rpId", value: undefined}) |
| .addCredential(credPromise) |
| .runTest("rpId undefined"); |
| new GetCredentialsTest({path: "options.publicKey.rpId", value: window.location.hostname}) |
| .addCredential(credPromise) |
| .runTest("passing credentials.get() with rpId (hostname)"); |
| |
| // authnr selection user verification |
| new GetCredentialsTest({path: "options.publicKey.userVerification", value: undefined}) |
| .addCredential(credPromise) |
| .runTest("authenticatorSelection userVerification undefined"); |
| new GetCredentialsTest("options.publicKey.userVerification", "preferred") |
| .addCredential(credPromise) |
| .runTest("authenticatorSelection userVerification preferred"); |
| new GetCredentialsTest("options.publicKey.userVerification", "discouraged") |
| .addCredential(credPromise) |
| .runTest("authenticatorSelection userVerification discouraged"); |
| new GetCredentialsTest("options.publicKey.userVerification", "") |
| .addCredential(credPromise) |
| .runTest("authenticatorSelection userVerification empty string"); |
| new GetCredentialsTest("options.publicKey.userVerification", {}) |
| .addCredential(credPromise) |
| .runTest("authenticatorSelection userVerification empty object"); |
| new GetCredentialsTest("options.publicKey.userVerification", "requiredshirtshoestshirt") |
| .addCredential(credPromise) |
| .runTest("authenticatorSelection userVerification unknown value"); |
| new GetCredentialsTest("options.publicKey.userVerification", null) |
| .addCredential(credPromise) |
| .runTest("authenticatorSelection userVerification null"); |
| |
| // good extension values |
| new GetCredentialsTest({path: "options.publicKey.extensions", value: undefined}) |
| .addCredential(credPromise) |
| .runTest("extensions undefined"); |
| new GetCredentialsTest("options.publicKey.extensions", {}) |
| .addCredential(credPromise) |
| .runTest("extensions are empty object"); |
| new GetCredentialsTest("options.publicKey.extensions", {foo: "", bar: "", bat: ""}) |
| .addCredential(credPromise) |
| .runTest("extensions are dict of empty strings"); |
| }); |
| |
| /* JSHINT */ |
| /* globals standardSetup, GetCredentialsTest, createCredential */ |
| </script> |