🎨 Format CodeChallengeMethod tests

This commit is contained in:
Maxim Lebedev 2022-01-08 15:49:38 +05:00
parent 2094363c11
commit a8ba34b905
Signed by: toby3d
GPG Key ID: 1F14E25B7C119FC5
1 changed files with 15 additions and 17 deletions

View File

@ -17,7 +17,7 @@ import (
"source.toby3d.me/website/indieauth/internal/random" "source.toby3d.me/website/indieauth/internal/random"
) )
func TestCodeChallengeMethod_Parse(t *testing.T) { func TestParseCodeChallengeMethod(t *testing.T) {
t.Parallel() t.Parallel()
for _, testCase := range []struct { for _, testCase := range []struct {
@ -72,47 +72,47 @@ func TestCodeChallengeMethod_Parse(t *testing.T) {
func TestCodeChallengeMethod_Validate(t *testing.T) { func TestCodeChallengeMethod_Validate(t *testing.T) {
t.Parallel() t.Parallel()
verifier, err := random.String(gofakeit.Number(42, 128)) verifier, err := random.String(gofakeit.Number(43, 128))
require.NoError(t, err) require.NoError(t, err)
for _, testCase := range []struct { for _, testCase := range []struct {
hash hash.Hash hash hash.Hash
name string name string
method string method domain.CodeChallengeMethod
isValid bool isValid bool
}{{ }{{
name: "invalid", name: "invalid",
method: domain.CodeChallengeMethodS256.String(), method: domain.CodeChallengeMethodS256,
hash: md5.New(), hash: md5.New(),
isValid: false, isValid: false,
}, { }, {
name: "MD5", name: "MD5",
method: domain.CodeChallengeMethodMD5.String(), method: domain.CodeChallengeMethodMD5,
hash: md5.New(), hash: md5.New(),
isValid: true, isValid: true,
}, { }, {
name: "plain", name: "plain",
method: domain.CodeChallengeMethodPLAIN.String(), method: domain.CodeChallengeMethodPLAIN,
hash: nil, hash: nil,
isValid: true, isValid: true,
}, { }, {
name: "S1", name: "S1",
method: domain.CodeChallengeMethodS1.String(), method: domain.CodeChallengeMethodS1,
hash: sha1.New(), hash: sha1.New(),
isValid: true, isValid: true,
}, { }, {
name: "S256", name: "S256",
method: domain.CodeChallengeMethodS256.String(), method: domain.CodeChallengeMethodS256,
hash: sha256.New(), hash: sha256.New(),
isValid: true, isValid: true,
}, { }, {
name: "S512", name: "S512",
method: domain.CodeChallengeMethodS512.String(), method: domain.CodeChallengeMethodS512,
hash: sha512.New(), hash: sha512.New(),
isValid: true, isValid: true,
}, { }, {
name: "undefined", name: "undefined",
method: "und", method: domain.CodeChallengeMethodUndefined,
hash: nil, hash: nil,
isValid: false, isValid: false,
}} { }} {
@ -121,17 +121,15 @@ func TestCodeChallengeMethod_Validate(t *testing.T) {
t.Run(testCase.name, func(t *testing.T) { t.Run(testCase.name, func(t *testing.T) {
t.Parallel() t.Parallel()
method, _ := domain.ParseCodeChallengeMethod(testCase.method) if testCase.method == domain.CodeChallengeMethodPLAIN ||
if method == domain.CodeChallengeMethodPLAIN || testCase.method == domain.CodeChallengeMethodUndefined {
method == domain.CodeChallengeMethodUndefined { assert.Equal(t, testCase.isValid, testCase.method.Validate(verifier, verifier))
assert.Equal(t, testCase.isValid, method.Validate(verifier, verifier))
return return
} }
assert.Equal(t, testCase.isValid, method.Validate(base64.RawURLEncoding.EncodeToString( assert.Equal(t, testCase.isValid, testCase.method.Validate(base64.RawURLEncoding.EncodeToString(
testCase.hash.Sum([]byte(verifier)), testCase.hash.Sum([]byte(verifier))), verifier))
), verifier))
}) })
} }
} }