auth: publish passkey foundations preview
verify / verify (push) Successful in 3m40s

This commit is contained in:
2026-08-21 17:33:00 -04:00
parent fb6bbd0dad
commit bfe6cfd29e
230 changed files with 44547 additions and 17 deletions
+88
View File
@@ -0,0 +1,88 @@
package metadata
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestValidateStatusReports(t *testing.T) {
testCases := []struct {
name string
reports []StatusReport
desired []AuthenticatorStatus
undesired []AuthenticatorStatus
err string
}{
{
name: "ShouldReturnNilForEmptyDesiredAndUndesired",
reports: []StatusReport{{Status: FidoCertified}},
desired: nil,
undesired: nil,
},
{
name: "ShouldReturnNilForEmptyDesiredAndEmptyReports",
reports: nil,
desired: nil,
undesired: []AuthenticatorStatus{Revoked},
},
{
name: "ShouldReturnNilWhenAllDesiredPresent",
reports: []StatusReport{{Status: FidoCertified}, {Status: FidoCertifiedL1}},
desired: []AuthenticatorStatus{FidoCertified},
},
{
name: "ShouldReturnNilWhenNoUndesiredPresent",
reports: []StatusReport{{Status: FidoCertified}},
desired: []AuthenticatorStatus{FidoCertified},
undesired: []AuthenticatorStatus{Revoked},
},
{
name: "ShouldFailWhenUndesiredPresent",
reports: []StatusReport{{Status: Revoked}},
desired: nil,
undesired: []AuthenticatorStatus{Revoked},
err: "The following undesired status reports were present: REVOKED",
},
{
name: "ShouldFailWhenDesiredAbsent",
reports: []StatusReport{{Status: NotFidoCertified}},
desired: []AuthenticatorStatus{FidoCertified},
err: "The following desired status reports were absent: FIDO_CERTIFIED",
},
{
name: "ShouldFailWhenBothUndesiredPresentAndDesiredAbsent",
reports: []StatusReport{{Status: Revoked}},
desired: []AuthenticatorStatus{FidoCertified},
undesired: []AuthenticatorStatus{Revoked},
err: "The following undesired status reports were present: REVOKED; the following desired status reports were absent: FIDO_CERTIFIED",
},
{
name: "ShouldReturnNilWithMultipleDesiredAllPresent",
reports: []StatusReport{{Status: FidoCertified}, {Status: FidoCertifiedL1}},
desired: []AuthenticatorStatus{FidoCertified, FidoCertifiedL1},
undesired: []AuthenticatorStatus{Revoked},
},
{
name: "ShouldFailWithMultipleUndesiredPresent",
reports: []StatusReport{{Status: Revoked}, {Status: AttestationKeyCompromise}},
desired: nil,
undesired: []AuthenticatorStatus{Revoked, AttestationKeyCompromise},
err: "The following undesired status reports were present: REVOKED, ATTESTATION_KEY_COMPROMISE",
},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
err := ValidateStatusReports(tc.reports, tc.desired, tc.undesired)
if tc.err != "" {
require.Error(t, err)
assert.EqualError(t, err, tc.err)
} else {
assert.NoError(t, err)
}
})
}
}