mirror of
https://github.com/gravitational/teleport
synced 2024-10-20 01:03:40 +00:00
Drop subtests from addOneOfEachMFADevice
helper (#30002)
This commit is contained in:
parent
f79906ba2e
commit
20c8b5cb0c
|
@ -471,7 +471,7 @@ func (d *mfaDevices) webAuthHandler(t *testing.T, challenge *proto.MFAAuthentica
|
|||
func addOneOfEachMFADevice(t *testing.T, cl *Client, clock clockwork.Clock, origin string) mfaDevices {
|
||||
const totpName = "totp-dev"
|
||||
const webName = "webauthn-dev"
|
||||
devs := mfaDevices{
|
||||
mfaDevs := mfaDevices{
|
||||
clock: clock,
|
||||
webOrigin: origin,
|
||||
TOTPName: totpName,
|
||||
|
@ -479,13 +479,13 @@ func addOneOfEachMFADevice(t *testing.T, cl *Client, clock clockwork.Clock, orig
|
|||
}
|
||||
|
||||
var err error
|
||||
devs.WebKey, err = mocku2f.Create()
|
||||
mfaDevs.WebKey, err = mocku2f.Create()
|
||||
require.NoError(t, err)
|
||||
devs.WebKey.PreferRPID = true
|
||||
mfaDevs.WebKey.PreferRPID = true
|
||||
|
||||
// Add MFA devices of all kinds.
|
||||
ctx := context.Background()
|
||||
for _, test := range []struct {
|
||||
|
||||
devs := []struct {
|
||||
name string
|
||||
opts mfaAddTestOpts
|
||||
}{
|
||||
|
@ -505,8 +505,8 @@ func addOneOfEachMFADevice(t *testing.T, cl *Client, clock clockwork.Clock, orig
|
|||
require.NotEmpty(t, challenge.GetTOTP())
|
||||
require.Equal(t, challenge.GetTOTP().Algorithm, otp.AlgorithmSHA1.String())
|
||||
|
||||
devs.TOTPSecret = challenge.GetTOTP().Secret
|
||||
code, err := totp.GenerateCodeCustom(devs.TOTPSecret, clock.Now(), totp.ValidateOpts{
|
||||
mfaDevs.TOTPSecret = challenge.GetTOTP().Secret
|
||||
code, err := totp.GenerateCodeCustom(mfaDevs.TOTPSecret, clock.Now(), totp.ValidateOpts{
|
||||
Period: uint(challenge.GetTOTP().PeriodSeconds),
|
||||
Digits: otp.Digits(challenge.GetTOTP().Digits),
|
||||
Algorithm: otp.AlgorithmSHA1,
|
||||
|
@ -523,7 +523,7 @@ func addOneOfEachMFADevice(t *testing.T, cl *Client, clock clockwork.Clock, orig
|
|||
},
|
||||
checkRegisterErr: require.NoError,
|
||||
assertRegisteredDev: func(t *testing.T, got *types.MFADevice) {
|
||||
want, err := services.NewTOTPDevice(totpName, devs.TOTPSecret, clock.Now())
|
||||
want, err := services.NewTOTPDevice(totpName, mfaDevs.TOTPSecret, clock.Now())
|
||||
want.Id = got.Id
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, cmp.Diff(want, got))
|
||||
|
@ -537,12 +537,12 @@ func addOneOfEachMFADevice(t *testing.T, cl *Client, clock clockwork.Clock, orig
|
|||
DeviceName: webName,
|
||||
DeviceType: proto.DeviceType_DEVICE_TYPE_WEBAUTHN,
|
||||
},
|
||||
authHandler: devs.totpAuthHandler,
|
||||
authHandler: mfaDevs.totpAuthHandler,
|
||||
checkAuthErr: require.NoError,
|
||||
registerHandler: func(t *testing.T, challenge *proto.MFARegisterChallenge) *proto.MFARegisterResponse {
|
||||
require.NotNil(t, challenge.GetWebauthn())
|
||||
|
||||
ccr, err := devs.WebKey.SignCredentialCreation(origin, wanlib.CredentialCreationFromProto(challenge.GetWebauthn()))
|
||||
ccr, err := mfaDevs.WebKey.SignCredentialCreation(origin, wanlib.CredentialCreationFromProto(challenge.GetWebauthn()))
|
||||
require.NoError(t, err)
|
||||
return &proto.MFARegisterResponse{
|
||||
Response: &proto.MFARegisterResponse_Webauthn{
|
||||
|
@ -554,16 +554,17 @@ func addOneOfEachMFADevice(t *testing.T, cl *Client, clock clockwork.Clock, orig
|
|||
assertRegisteredDev: func(t *testing.T, got *types.MFADevice) {
|
||||
// MFADevice device asserted in its entirety by lib/auth/webauthn
|
||||
// tests, a simple check suffices here.
|
||||
require.Equal(t, devs.WebKey.KeyHandle, got.GetWebauthn().CredentialId)
|
||||
require.Equal(t, mfaDevs.WebKey.KeyHandle, got.GetWebauthn().CredentialId)
|
||||
},
|
||||
},
|
||||
},
|
||||
} {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
testAddMFADevice(ctx, t, cl, test.opts)
|
||||
})
|
||||
}
|
||||
return devs
|
||||
|
||||
for _, dev := range devs {
|
||||
testAddMFADevice(ctx, t, cl, dev.opts)
|
||||
}
|
||||
|
||||
return mfaDevs
|
||||
}
|
||||
|
||||
type mfaAddTestOpts struct {
|
||||
|
|
Loading…
Reference in a new issue