Bug 1564730 [wpt PR 17417] - Split out the manual parts of webauthn idlharness test, a=testonly

Automatic update from web-platform-tests
Split out the manual parts of webauthn idlharness test (#17417)

* Remove manual parts of webauthn idlharness test

* Remove duplicated object

* Remove WebAuthentication interface

* Reinstate deleted challengeBytes

* Remove unneeded conditional

--

wpt-commits: cd18d4954c5184ecfb7a210aa939081c5e2552e8
wpt-pr: 17417
This commit is contained in:
Luke Bjerring 2019-07-19 19:41:44 +00:00 коммит произвёл James Graham
Родитель d3e9e92348
Коммит b34c280dc5
2 изменённых файлов: 59 добавлений и 33 удалений

Просмотреть файл

@ -0,0 +1,53 @@
// META: timeout=long
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
// META: script=helpers.js
// https://w3c.github.io/webauthn/
'use strict';
idl_test(
['webauthn'],
['credential-management'],
async idlArray => {
idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
idlArray.add_objects({
PublicKeyCredential: ['cred', 'assertion'],
AuthenticatorAttestationResponse: ['cred.response'],
AuthenticatorAssertionResponse: ['assertion.response']
});
const challengeBytes = new Uint8Array(16);
window.crypto.getRandomValues(challengeBytes);
self.cred = await Promise.race([
new Promise((_, reject) => window.setTimeout(() => {
reject('Timed out waiting for user to touch security key')
}, 3000)),
createCredential({
options: {
publicKey: {
timeout: 3000,
user: {
id: new Uint8Array(16),
},
}
}
}),
]);
self.assertion = await navigator.credentials.get({
publicKey: {
timeout: 3000,
allowCredentials: [{
id: cred.rawId,
transports: ["usb", "nfc", "ble"],
type: "public-key"
}],
challenge: challengeBytes,
}
});
}
);

Просмотреть файл

@ -11,38 +11,11 @@ idl_test(
['webauthn'],
['credential-management'],
async idlArray => {
idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
idlArray.add_objects({
WebAuthentication: ['navigator.authentication'],
PublicKeyCredential: ['cred', 'assertion'],
AuthenticatorAttestationResponse: ['cred.response'],
AuthenticatorAssertionResponse: ['assertion.response']
});
const challengeBytes = new Uint8Array(16);
window.crypto.getRandomValues(challengeBytes);
self.cred = await createCredential({
options: {
publicKey: {
timeout: 3000,
user: {
id: new Uint8Array(16),
},
}
}
});
self.assertion = await navigator.credentials.get({
publicKey: {
timeout: 3000,
allowCredentials: [{
id: cred.rawId,
transports: ["usb", "nfc", "ble"],
type: "public-key"
}],
challenge: challengeBytes,
}
});
// NOTE: The following are tested in idlharness-manual.https.window.js:
// idlArray.add_objects({
// PublicKeyCredential: ['cred', 'assertion'],
// AuthenticatorAttestationResponse: ['cred.response'],
// AuthenticatorAssertionResponse: ['assertion.response']
// });
}
);