-
Notifications
You must be signed in to change notification settings - Fork 122
Labels
Description
I've gone through the motions to update all references from Deno v1 to Deno v2. I've updated the dependencies and most things are working, but there is one issue that I wasn't able to fix within reasonable time.
The Deno bundler changed and the output now has a different format. When running deno task build, all tests pass. Then it bundles it and runs the test suite against the bundled result - for some reason, the following issues occur. It would be great if someone with more experience with the Deno bundler could take a look at this - maybe @Hexagon?
Fido2AttestationResult ...
is function ... ok (0ms)
throws if called with new ... ok (0ms)
passes with 'none' attestation ... ok (5ms)
passes with 'u2f' attestation ... FAILED (18ms)
passes with Hypersecu u2f attestation ... ok (5ms)
passes with Sam's first u2f attestation ... ok (0ms)
passes with Sam's second u2f attestation ... ok (5ms)
passes with 'packed' attestation ... FAILED (10ms)
passes with 'packed' attestation using Windows Hello ... ok (3ms)
passes with 'tpm' attestation ... ok (8ms)
Fido2AttestationResult ... FAILED (due to 2 failed steps) (58ms)
Fido2AssertionResult ...
is function ... ok (0ms)
throws if called with new ... ok (0ms)
returns Fido2AssertionResult object on success ... ok (1ms)
works with WindowsHello ... ok (1ms)
Fido2AssertionResult ... ok (3ms)
running 1 test from ./test/toolbox.test.js
toolbox ...
checkOrigin ...
throws on invalid eTLD+1 ... ok (1ms)
throws on undefined origin ... ok (0ms)
accepts android FacetID ... ok (0ms)
accepts ios FacetID ... ok (0ms)
throws invalid url ... ok (0ms)
allows localhost ... ok (0ms)
throws on non-https ... ok (0ms)
checkOrigin ... ok (5ms)
checkRpId ...
throws on invalid eTLD+1 ... ok (0ms)
throws on undefined rpId ... ok (0ms)
allows localhost ... ok (0ms)
allows fully qualified urls ... ok (1ms)
rejects http urls ... ok (0ms)
rejects urls that have pathes ... ok (0ms)
checkRpId ... ok (2ms)
checkUrl ...
exists ... ok (0ms)
should throw when name param is not specified ... ok (0ms)
should throw when value is not string ... ok (0ms)
should throw when value is not a valid url ... ok (1ms)
should throw when url is not http ... ok (0ms)
should throw when url is not https ... ok (0ms)
should throw when url has path ... ok (0ms)
should throw when url has hash ... ok (0ms)
should throw when url has credentials ... ok (1ms)
should throw when url has query string ... ok (0ms)
should return value when value is valid url ... ok (0ms)
should allow http when specified in rules ... ok (0ms)
should allow path when specified in rules ... ok (0ms)
should allow hash when specified in rules ... ok (0ms)
should allow credentials when specified in rules ... ok (0ms)
should allow query string when specified in rules ... ok (0ms)
checkUrl ... ok (3ms)
checkDomainOrUrl ...
exists ... ok (0ms)
should throw when name param is not specified ... ok (0ms)
should throw when value is not string ... ok (1ms)
should throw when value is not a valid domain or url ... ok (0ms)
should return value when value is valid domain ... ok (0ms)
should return value when value is valid url ... ok (0ms)
checkDomainOrUrl ... ok (2ms)
toolbox ... ok (15ms)
running 1 test from ./test/utils.test.js
utils ...
coerceToBase64Url ...
exists ... ok (1ms)
coerce ArrayBuffer to base64url ... ok (0ms)
coerce Uint8Array to base64url ... ok (0ms)
coerce Array to base64url ... ok (1ms)
coerce base64 to base64url ... ok (0ms)
coerce base64url to base64url ... ok (0ms)
throws on incompatible: number ... ok (0ms)
throws on incompatible: undefined ... ok (0ms)
throws if no name specified ... ok (0ms)
coerceToBase64Url ... ok (4ms)
coerceToBase64 ...
exists ... ok (0ms)
coerce ArrayBuffer to base64 ... ok (0ms)
coerce Uint8Array to base64 ... ok (0ms)
coerce Array to base64 ... ok (0ms)
coerce base64 to base64 ... ok (0ms)
throws on incompatible: number ... ok (0ms)
throws on incompatible: undefined ... ok (0ms)
throws if no name specified ... ok (0ms)
coerceToBase64 ... ok (2ms)
coerceToArrayBuffer ...
exists ... ok (0ms)
coerce base64url to ArrayBuffer ... ok (1ms)
coerce base64 to ArrayBuffer ... ok (0ms)
coerce Array to ArrayBuffer ... ok (0ms)
coerce Uint8Array to ArrayBuffer ... ok (0ms)
coerce ArrayBuffer to ArrayBuffer ... ok (0ms)
throws on incompatible: number ... ok (1ms)
throws on incompatible: undefined ... ok (0ms)
throws on incompatible: object ... ok (0ms)
throws if no name specified ... ok (0ms)
coerceToArrayBuffer ... ok (3ms)
ab2str ... ok (0ms)
str2ab ...
converts string to ArrayBuffer ... ok (0ms)
str2ab ... ok (0ms)
jsObjectToB64 ...
converts Object to base64 string ... ok (0ms)
removes non UTF-8 characters ... ok (0ms)
jsObjectToB64 ... ok (0ms)
arrayBufferEquals ...
compare ArrayBuffer with equal ArrayBuffer ... ok (1ms)
compare ArrayBuffer with non equal ArrayBuffer ... ok (0ms)
compare Uint8Array with ArrayBuffer ... ok (0ms)
arrayBufferEquals ... ok (1ms)
isPem ...
detects mdsSigningCert ... ok (1ms)
detects mdsRootCrl ... ok (0ms)
detects assnPublicKey ... ok (0ms)
returns false on undefined input ... ok (0ms)
returns false on bad string ... ok (0ms)
returns false on empty string ... ok (0ms)
isPem ... ok (2ms)
pemToBase64 ...
converts mdsSigningCert ... ok (0ms)
converts mdsRootCrl ... ok (0ms)
converts assnPublicKey ... ok (0ms)
throws on empty string ... ok (0ms)
throws on non-PEM string ... ok (0ms)
throws on undefined ... ok (0ms)
pemToBase64 ... ok (1ms)
isBase64Url ...
returns true for base64url string ... ok (0ms)
isBase64Url ... ok (0ms)
abToHex ...
should throw on string parameter ... ok (1ms)
should throw on Uint8Array parameter ... ok (0ms)
should not throw on ArrayBuffer parameter, and return correct hex string ... ok (0ms)
abToHex ... ok (1ms)
utils ... ok (19ms)
running 2 tests from ./test/validator.test.js
attestation validation ...
parsing attestation with parseAuthnrAttestationResponse ...
is attached ... ok (3ms)
validateExpectations ...
returns true on valid expectations ... ok (2ms)
throws if expectations aren't found ... ok (0ms)
throws if expectations aren't Map ... ok (0ms)
throws if optionalExpectations aren't Set ... ok (0ms)
should not throw if optionalExpectations are array ... ok (1ms)
throws if too many expectations ... ok (0ms)
throws if too many expectations, but expectations are valid ... ok (1ms)
throws if missing challenge ... ok (0ms)
throws if missing flags ... ok (1ms)
throws if missing origin ... ok (0ms)
throws if challenge is undefined ... ok (0ms)
throws if challenge isn't string ... ok (1ms)
throws if challenge isn't base64 encoded string ... ok (0ms)
returns true if flags is Set ... ok (0ms)
throws if Set contains non-string ... ok (0ms)
throws if Array contains non-string ... ok (0ms)
throws on unknown flag ... ok (1ms)
throws on undefined flag ... ok (0ms)
throws on invalid rpId type ... ok (0ms)
throws on invalid rpId ... ok (0ms)
works with valid rpId ... ok (0ms)
works with localhost rpId ... ok (0ms)
works with valid allowCredentials ... ok (0ms)
works with null allowCredentials ... ok (1ms)
throws on wrong allowCredentials type ... ok (0ms)
throws on missing id in allowCredentials ... ok (0ms)
throws on null id in allowCredentials ... ok (1ms)
throws on wrong type of id in allowCredentials ... ok (0ms)
throws on missing type in allowCredentials element ... ok (1ms)
throws on wrong type value in allowCredentials element ... ok (0ms)
throws on wrong transports type in allowCredentials element ... ok (1ms)
throws on wrong transports value in allowCredentials element ... ok (0ms)
works with all allowed transports in allowCredentials element ... ok (0ms)
works with null transports in allowCredentials element ... ok (0ms)
validateExpectations ... ok (18ms)
validateCreateRequest ...
returns true if request is valid ... ok (1ms)
returns true for U2F request ... ok (0ms)
throws if request is undefined ... ok (1ms)
throws if response field is undefined ... ok (0ms)
throws if response field is non-object ... ok (0ms)
throws if id field is undefined ... ok (1ms)
throws if id field is non-string ... ok (0ms)
throws if response.attestationObject is undefined ... ok (0ms)
throws if response.attestationObject is non-ArrayBuffer & non-String ... ok (0ms)
passes with response.attestationObject as ArrayBuffer ... ok (0ms)
passes with response.attestationObject as String ... ok (1ms)
throws if response.clientDataJSON is undefined ... ok (0ms)
throws if response.clientDataJSON is non-ArrayBuffer & non-String ... ok (1ms)
passes with response.clientDataJSON as ArrayBuffer ... ok (0ms)
passes with response.clientDataJSON as String ... ok (1ms)
validateCreateRequest ... ok (7ms)
validateRawClientDataJson ...
returns true if ArrayBuffer ... ok (0ms)
throws if missing ... ok (0ms)
throws if not ArrayBuffer ... ok (0ms)
validateRawClientDataJson ... ok (1ms)
validateId ...
returns true on ArrayBuffer ... ok (0ms)
throws on non-ArrayBuffer ... ok (0ms)
throws on undefined ... ok (1ms)
validateId ... ok (1ms)
validateTransports ...
returns true on array<string> ... ok (1ms)
returns true on null ... ok (0ms)
throws on non-Array ... ok (0ms)
throws on non-Array<string> ... ok (0ms)
validateTransports ... ok (2ms)
validateOrigin ...
accepts exact match ... ok (1ms)
throws on port mismatch ... ok (0ms)
throws on domain mismatch ... ok (0ms)
throws on protocol mismatch ... ok (0ms)
validateOrigin ... ok (2ms)
checkOrigin ... ok (1ms)
validateCreateType ...
returns true when 'webauthn.create' ... ok (0ms)
throws when undefined ... ok (0ms)
throws on 'webauthn.get' ... ok (0ms)
throws on unknown string ... ok (0ms)
validateCreateType ... ok (1ms)
validateGetType ...
returns true when 'webauthn.get' ... ok (0ms)
throws when undefined ... ok (0ms)
throws on 'webauthn.create' ... ok (0ms)
throws on unknown string ... ok (0ms)
validateGetType ... ok (1ms)
validateChallenge ...
returns true if challenges match ... ok (0ms)
accepts ending equal sign (1) ... ok (0ms)
accepts ending equal signs (2) ... ok (1ms)
throws on three equal signs ... ok (0ms)
does not remove equal sign from middle of string ... ok (0ms)
throws if challenge is not a string ... ok (0ms)
throws if challenge is base64url encoded ... ok (0ms)
throws if challenge is not base64 string ... ok (1ms)
throws on undefined challenge ... ok (0ms)
throws on challenge mismatch ... ok (0ms)
validateChallenge ... ok (4ms)
validateRawAuthnrData ...
returns true if ArrayBuffer ... ok (1ms)
throws if missing ... ok (0ms)
throws if not ArrayBuffer ... ok (0ms)
validateRawAuthnrData ... ok (1ms)
validateAttestation ...
accepts none ... ok (0ms)
throws on unknown fmt ... ok (1ms)
throws on undefined fmt ... ok (0ms)
validateAttestation ... ok (1ms)
validateRpIdHash ...
returns true when matches ... ok (0ms)
throws when it doesn't match ... ok (0ms)
throws when it doesn't match in case of invalid rpId ... ok (0ms)
throws when length mismatches ... ok (0ms)
validateRpIdHash ... ok (3ms)
validateAaguid ...
returns true on validation ... ok (1ms)
throws if too short ... ok (0ms)
validateAaguid ... ok (1ms)
validateCredId ...
returns true when ArrayBuffer of correct length ... ok (0ms)
throws if length is undefined ... ok (1ms)
throws if length is not number ... ok (0ms)
throws if length is wrong ... ok (0ms)
throws if credId is undefined ... ok (0ms)
throws if not array buffer ... ok (0ms)
validateCredId ... ok (3ms)
validatePublicKey ...
returns true on validation ... ok (0ms)
validatePublicKey ... ok (1ms)
validateExtensions ...
returns true on validation without extensions ... ok (0ms)
returns true on validation with extensions ... ok (1ms)
throws on invalid extensions ... ok (0ms)
throws on unexpected extensions ... ok (0ms)
validateExtensions ... ok (2ms)
validateTokenBinding ...
returns true if tokenBinding is undefined ... ok (0ms)
throws if tokenBinding is defined ... ok (1ms)
validateTokenBinding ... ok (1ms)
validateFlags ...
returns true on valid expectations ... ok (0ms)
throws on invalid expectations ... ok (0ms)
throws if UV is set but UP is not set ... ok (0ms)
throws if UV is not set ... ok (1ms)
throws if UV but only UP is set ... ok (0ms)
returns true on UP with UP-or-UV ... ok (0ms)
returns true on UV with UP-or-UV ... ok (0ms)
throws if UP-or-UV and UV is set but not UP ... ok (0ms)
throws if UP-or-UV and neither is set ... ok (0ms)
validateFlags ... ok (4ms)
validateInitialCounter ...
returns true if valid ... ok (0ms)
throws if not a number ... ok (1ms)
validateInitialCounter ... ok (1ms)
validateAudit for 'none' attestation ...
returns on all internal checks passed ... ok (1ms)
throws on untested verifies ... ok (0ms)
validateAudit for 'none' attestation ... ok (1ms)
validateAudit for assertion ... ok (0ms)
parsing attestation with parseAuthnrAttestationResponse ... ok (76ms)
parsing attestation with parseAttestationObject ...
is attached ... ok (0ms)
validateExpectations ...
returns true on valid expectations ... ok (1ms)
throws if expectations aren't found ... ok (0ms)
throws if expectations aren't Map ... ok (0ms)
throws if optionalExpectations aren't Set ... ok (0ms)
should not throw if optionalExpectations are array ... ok (0ms)
throws if too many expectations ... ok (0ms)
throws if too many expectations, but expectations are valid ... ok (0ms)
throws if missing challenge ... ok (0ms)
throws if missing flags ... ok (0ms)
throws if missing origin ... ok (0ms)
throws if challenge is undefined ... ok (0ms)
throws if challenge isn't string ... ok (0ms)
throws if challenge isn't base64 encoded string ... ok (1ms)
returns true if flags is Set ... ok (0ms)
throws if Set contains non-string ... ok (0ms)
throws if Array contains non-string ... ok (1ms)
throws on unknown flag ... ok (0ms)
throws on undefined flag ... ok (0ms)
throws on invalid rpId type ... ok (1ms)
throws on invalid rpId ... ok (0ms)
works with valid rpId ... ok (0ms)
works with localhost rpId ... ok (0ms)
works with valid allowCredentials ... ok (0ms)
works with null allowCredentials ... ok (0ms)
throws on wrong allowCredentials type ... ok (0ms)
throws on missing id in allowCredentials ... ok (0ms)
throws on null id in allowCredentials ... ok (0ms)
throws on wrong type of id in allowCredentials ... ok (0ms)
throws on missing type in allowCredentials element ... ok (0ms)
throws on wrong type value in allowCredentials element ... ok (0ms)
throws on wrong transports type in allowCredentials element ... ok (0ms)
throws on wrong transports value in allowCredentials element ... ok (0ms)
works with all allowed transports in allowCredentials element ... ok (0ms)
works with null transports in allowCredentials element ... ok (0ms)
validateExpectations ... ok (13ms)
validateCreateRequest ...
returns true if request is valid ... ok (0ms)
returns true for U2F request ... ok (0ms)
throws if request is undefined ... ok (1ms)
throws if response field is undefined ... ok (0ms)
throws if response field is non-object ... ok (0ms)
throws if id field is undefined ... ok (1ms)
throws if id field is non-string ... ok (0ms)
throws if response.attestationObject is undefined ... ok (0ms)
throws if response.attestationObject is non-ArrayBuffer & non-String ... ok (0ms)
passes with response.attestationObject as ArrayBuffer ... ok (0ms)
passes with response.attestationObject as String ... ok (0ms)
throws if response.clientDataJSON is undefined ... ok (0ms)
throws if response.clientDataJSON is non-ArrayBuffer & non-String ... ok (1ms)
passes with response.clientDataJSON as ArrayBuffer ... ok (0ms)
passes with response.clientDataJSON as String ... ok (0ms)
validateCreateRequest ... ok (5ms)
validateRawClientDataJson ...
returns true if ArrayBuffer ... ok (0ms)
throws if missing ... ok (1ms)
throws if not ArrayBuffer ... ok (0ms)
validateRawClientDataJson ... ok (2ms)
validateId ...
returns true on ArrayBuffer ... ok (0ms)
throws on non-ArrayBuffer ... ok (1ms)
throws on undefined ... ok (0ms)
validateId ... ok (1ms)
validateTransports ...
returns true on array<string> ... ok (0ms)
returns true on null ... ok (0ms)
throws on non-Array ... ok (0ms)
throws on non-Array<string> ... ok (1ms)
validateTransports ... ok (2ms)
validateOrigin ...
accepts exact match ... ok (1ms)
throws on port mismatch ... ok (0ms)
throws on domain mismatch ... ok (0ms)
throws on protocol mismatch ... ok (1ms)
validateOrigin ... ok (2ms)
checkOrigin ... ok (0ms)
validateCreateType ...
returns true when 'webauthn.create' ... ok (0ms)
throws when undefined ... ok (0ms)
throws on 'webauthn.get' ... ok (0ms)
throws on unknown string ... ok (0ms)
validateCreateType ... ok (2ms)
validateGetType ...
returns true when 'webauthn.get' ... ok (0ms)
throws when undefined ... ok (1ms)
throws on 'webauthn.create' ... ok (0ms)
throws on unknown string ... ok (0ms)
validateGetType ... ok (1ms)
validateChallenge ...
returns true if challenges match ... ok (0ms)
accepts ending equal sign (1) ... ok (0ms)
accepts ending equal signs (2) ... ok (0ms)
throws on three equal signs ... ok (0ms)
does not remove equal sign from middle of string ... ok (0ms)
throws if challenge is not a string ... ok (0ms)
throws if challenge is base64url encoded ... ok (1ms)
throws if challenge is not base64 string ... ok (0ms)
throws on undefined challenge ... ok (0ms)
throws on challenge mismatch ... ok (1ms)
validateChallenge ... ok (3ms)
validateRawAuthnrData ...
returns true if ArrayBuffer ... ok (0ms)
throws if missing ... ok (0ms)
throws if not ArrayBuffer ... ok (0ms)
validateRawAuthnrData ... ok (1ms)
validateAttestation ...
accepts none ... ok (1ms)
throws on unknown fmt ... ok (0ms)
throws on undefined fmt ... ok (0ms)
validateAttestation ... ok (1ms)
validateRpIdHash ...
returns true when matches ... ok (0ms)
throws when it doesn't match ... ok (0ms)
throws when it doesn't match in case of invalid rpId ... ok (0ms)
throws when length mismatches ... ok (0ms)
validateRpIdHash ... ok (2ms)
validateAaguid ...
returns true on validation ... ok (0ms)
throws if too short ... ok (1ms)
validateAaguid ... ok (1ms)
validateCredId ...
returns true when ArrayBuffer of correct length ... ok (0ms)
throws if length is undefined ... ok (1ms)
throws if length is not number ... ok (0ms)
throws if length is wrong ... ok (0ms)
throws if credId is undefined ... ok (1ms)
throws if not array buffer ... ok (0ms)
validateCredId ... ok (2ms)
validatePublicKey ...
returns true on validation ... ok (0ms)
validatePublicKey ... ok (0ms)
validateExtensions ...
returns true on validation without extensions ... ok (0ms)
returns true on validation with extensions ... ok (0ms)
throws on invalid extensions ... ok (0ms)
throws on unexpected extensions ... ok (0ms)
validateExtensions ... ok (2ms)
validateTokenBinding ...
returns true if tokenBinding is undefined ... ok (0ms)
throws if tokenBinding is defined ... ok (0ms)
validateTokenBinding ... ok (1ms)
validateFlags ...
returns true on valid expectations ... ok (0ms)
throws on invalid expectations ... ok (0ms)
throws if UV is set but UP is not set ... ok (1ms)
throws if UV is not set ... ok (0ms)
throws if UV but only UP is set ... ok (0ms)
returns true on UP with UP-or-UV ... ok (1ms)
returns true on UV with UP-or-UV ... ok (0ms)
throws if UP-or-UV and UV is set but not UP ... ok (0ms)
throws if UP-or-UV and neither is set ... ok (0ms)
validateFlags ... ok (3ms)
validateInitialCounter ...
returns true if valid ... ok (0ms)
throws if not a number ... ok (1ms)
validateInitialCounter ... ok (2ms)
validateAudit for 'none' attestation ...
returns on all internal checks passed ... ok (1ms)
throws on untested verifies ... ok (0ms)
validateAudit for 'none' attestation ... ok (1ms)
validateAudit for assertion ... ok (0ms)
parsing attestation with parseAttestationObject ... ok (62ms)
attestation validation ... ok (162ms)
assertion validation ...
validateUserHandle ...
returns true when undefined ... ok (1ms)
throws if not undefined ... ok (0ms)
validateUserHandle ... ok (1ms)
validateCounter ...
returns true if counter has advanced ... ok (0ms)
returns true if counter is not supported but do not add it to journal ... ok (0ms)
throws if counter is the same ... ok (0ms)
throws if counter has rolled back ... ok (1ms)
validateCounter ... ok (2ms)
validateExpectations ...
returns true on valid expectations ... ok (0ms)
validateExpectations ... ok (1ms)
validateId ...
returns true on ArrayBuffer ... ok (0ms)
throws on non-ArrayBuffer ... ok (0ms)
throws on undefined ... ok (0ms)
throws on allowCredentials not includes rawId ... ok (0ms)
validateId ... ok (1ms)
validateAssertionSignature ... ok (0ms)
validateAssertionResponse ...
returns true if request is valid ... ok (0ms)
returns true for U2F request ... ok (0ms)
throws if request is undefined ... ok (1ms)
throws if response field is undefined ... ok (0ms)
throws if response field is non-object ... ok (0ms)
throws if id field is undefined ... ok (0ms)
throws if rawId field is non-string ... ok (0ms)
throws if response.signature is undefined ... ok (0ms)
throws if response.signature is non-ArrayBuffer & non-String ... ok (0ms)
passes with response.signature as ArrayBuffer ... ok (0ms)
passes with response.signature as String ... ok (0ms)
throws if response.authenticatorData is undefined ... ok (0ms)
throws if response.authenticatorData is non-ArrayBuffer & non-String ... ok (0ms)
passes with response.authenticatorData as ArrayBuffer ... ok (1ms)
passes with response.authenticatorData as String ... ok (0ms)
returns true if response.userHandle is undefined ... ok (0ms)
throws if response.userHandle is non-ArrayBuffer & non-String ... ok (0ms)
passes with response.userHandle as ArrayBuffer ... ok (0ms)
passes with response.userHandle as String ... ok (0ms)
throws if response.clientDataJSON is undefined ... ok (0ms)
throws if response.clientDataJSON is non-ArrayBuffer & non-String ... ok (1ms)
passes with response.clientDataJSON as ArrayBuffer ... ok (0ms)
passes with response.clientDataJSON as String ... ok (0ms)
validateAssertionResponse ... ok (7ms)
assertion validation ... ok (16ms)
ERRORS
cert utils ... Certificate ... getExtensions ... returns correct extensions for attestation => ext:core/01_core.js:179:7
error: AssertionError: Values are not equal:
[Diff] Actual / Expected
- 1
+ 2
throw new AssertionError(message);
^
at assertEquals (https://deno.land/[email protected]/testing/asserts.ts:179:9)
at Function.strictEqual (file:///D:/Git/fido2-lib/test/helpers/chai-deno-shim.js:39:25)
at file:///D:/Git/fido2-lib/test/certUtils.test.js:179:12
at Object.<anonymous> (file:///D:/Git/fido2-lib/test/helpers/chai-deno-shim.js:23:12)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:349:16)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at fn (https://deno.land/x/[email protected]/test_suite.ts:308:37)
cert utils ... Certificate ... getSubject ... returns correct extensions for attestation => ext:core/01_core.js:179:7
error: TypeError: unknown value type when decoding certificate: LocalSimpleStringValueBlock2
throw new TypeError("unknown value type when decoding certificate: " + blockType);
^
at decodeValue (file:///D:/Git/fido2-lib/dist/main.js:42967:13)
at Certificate2.getSubject (file:///D:/Git/fido2-lib/dist/main.js:42785:43)
at file:///D:/Git/fido2-lib/test/certUtils.test.js:369:26
at Object.<anonymous> (file:///D:/Git/fido2-lib/test/helpers/chai-deno-shim.js:23:12)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:349:16)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at fn (https://deno.land/x/[email protected]/test_suite.ts:308:37)
cert utils ... Certificate ... getSubject ... returns correct extensions for root => ext:core/01_core.js:179:7
error: TypeError: unknown value type when decoding certificate: LocalSimpleStringValueBlock2
throw new TypeError("unknown value type when decoding certificate: " + blockType);
^
at decodeValue (file:///D:/Git/fido2-lib/dist/main.js:42967:13)
at Certificate2.getSubject (file:///D:/Git/fido2-lib/dist/main.js:42785:43)
at file:///D:/Git/fido2-lib/test/certUtils.test.js:380:26
at Object.<anonymous> (file:///D:/Git/fido2-lib/test/helpers/chai-deno-shim.js:23:12)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:349:16)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at fn (https://deno.land/x/[email protected]/test_suite.ts:308:37)
cert utils ... Certificate ... getSubject ... returns correct values for Feitian FIDO2 => ext:core/01_core.js:179:7
error: TypeError: unknown value type when decoding certificate: LocalSimpleStringValueBlock2
throw new TypeError("unknown value type when decoding certificate: " + blockType);
^
at decodeValue (file:///D:/Git/fido2-lib/dist/main.js:42967:13)
at Certificate2.getSubject (file:///D:/Git/fido2-lib/dist/main.js:42785:43)
at file:///D:/Git/fido2-lib/test/certUtils.test.js:391:26
at Object.<anonymous> (file:///D:/Git/fido2-lib/test/helpers/chai-deno-shim.js:23:12)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:349:16)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:33)
at fn (https://deno.land/x/[email protected]/test_suite.ts:308:37)
Fido2Lib ... attestationResult ... validates a credential request with 'android-safetynet' attestation => ext:core/01_core.js:179:7
error: TypeError: unknown value type when decoding certificate: LocalSimpleStringValueBlock2
throw new TypeError("unknown value type when decoding certificate: " + blockType);
^
at decodeValue (file:///D:/Git/fido2-lib/dist/main.js:42967:13)
at Certificate2.getSubject (file:///D:/Git/fido2-lib/dist/main.js:42785:43)
at _Fido2AttestationResult.androidSafetyNetValidateFn (file:///D:/Git/fido2-lib/dist/main.js:45739:52)
at eventLoopTick (ext:core/01_core.js:179:7)
at async _Fido2AttestationResult.validateAttestation (file:///D:/Git/fido2-lib/dist/main.js:46514:17)
at async _Fido2AttestationResult.validate (file:///D:/Git/fido2-lib/dist/main.js:44977:5)
at async _Fido2AttestationResult.create (file:///D:/Git/fido2-lib/dist/main.js:44950:5)
at async _Fido2AttestationResult.create (file:///D:/Git/fido2-lib/dist/main.js:44983:12)
at async Fido2Lib.attestationResult (file:///D:/Git/fido2-lib/dist/main.js:46623:12)
at async Object.<anonymous> (file:///D:/Git/fido2-lib/test/helpers/chai-deno-shim.js:23:6)
Fido2AttestationResult ... passes with 'u2f' attestation => ext:core/01_core.js:179:7
error: AssertionError: Values are not equal:
[Diff] Actual / Expected
- true
+ false
throw new AssertionError(message);
^
at assertEquals (https://deno.land/[email protected]/testing/asserts.ts:179:9)
at Function.isTrue (file:///D:/Git/fido2-lib/test/helpers/chai-deno-shim.js:48:17)
at file:///D:/Git/fido2-lib/test/response.test.js:61:10
at eventLoopTick (ext:core/01_core.js:179:7)
at async Object.<anonymous> (file:///D:/Git/fido2-lib/test/helpers/chai-deno-shim.js:23:6)
at async TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:349:7)
at async TestSuiteInternal.runTest (https://deno.land/x/[email protected]/test_suite.ts:337:9)
at async fn (https://deno.land/x/[email protected]/test_suite.ts:308:13)
Fido2AttestationResult ... passes with 'packed' attestation => ext:core/01_core.js:179:7
error: TypeError: unknown value type when decoding certificate: LocalSimpleStringValueBlock2
throw new TypeError("unknown value type when decoding certificate: " + blockType);
^
at decodeValue (file:///D:/Git/fido2-lib/dist/main.js:42967:13)
at Certificate2.getSubject (file:///D:/Git/fido2-lib/dist/main.js:42785:43)
at validateCerts (file:///D:/Git/fido2-lib/dist/main.js:45554:27)
at eventLoopTick (ext:core/01_core.js:179:7)
at async _Fido2AttestationResult.packedValidateBasic (file:///D:/Git/fido2-lib/dist/main.js:45513:3)
at async _Fido2AttestationResult.packedValidateFn (file:///D:/Git/fido2-lib/dist/main.js:45498:19)
at async _Fido2AttestationResult.validateAttestation (file:///D:/Git/fido2-lib/dist/main.js:46514:17)
at async _Fido2AttestationResult.validate (file:///D:/Git/fido2-lib/dist/main.js:44977:5)
at async _Fido2AttestationResult.create (file:///D:/Git/fido2-lib/dist/main.js:44950:5)
at async _Fido2AttestationResult.create (file:///D:/Git/fido2-lib/dist/main.js:44983:12)
FAILURES
cert utils ... Certificate ... getExtensions ... returns correct extensions for attestation => ext:core/01_core.js:179:7
cert utils ... Certificate ... getSubject ... returns correct extensions for attestation => ext:core/01_core.js:179:7
cert utils ... Certificate ... getSubject ... returns correct extensions for root => ext:core/01_core.js:179:7
cert utils ... Certificate ... getSubject ... returns correct values for Feitian FIDO2 => ext:core/01_core.js:179:7
Fido2Lib ... attestationResult ... validates a credential request with 'android-safetynet' attestation => ext:core/01_core.js:179:7
Fido2AttestationResult ... passes with 'u2f' attestation => ext:core/01_core.js:179:7
Fido2AttestationResult ... passes with 'packed' attestation => ext:core/01_core.js:179:7
FAILED | 124 passed (895 steps) | 3 failed (11 steps) (2s)
error: Test failed