diff options
| author | James Elliott <james-d-elliott@users.noreply.github.com> | 2025-03-02 15:04:09 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-02 04:04:09 +0000 |
| commit | c3fc3f94f7bb916faa8baebf313e259bcdd76ffb (patch) | |
| tree | 8c606b26e362086ec0d05a5c930702b41be1b78f /internal/handlers/func_test.go | |
| parent | 6759988ce044b5be7d74239405603bda993441f4 (diff) | |
refactor(webauthn): include all failures for passkeys (#8865)
This includes all failures for passkeys as a logged attempt in the auth logs.
Signed-off-by: James Elliott <james-d-elliott@users.noreply.github.com>
Diffstat (limited to 'internal/handlers/func_test.go')
| -rw-r--r-- | internal/handlers/func_test.go | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/internal/handlers/func_test.go b/internal/handlers/func_test.go index 75879e6d7..f231f7e90 100644 --- a/internal/handlers/func_test.go +++ b/internal/handlers/func_test.go @@ -1,7 +1,7 @@ package handlers import ( - "strings" + "regexp" "testing" "github.com/sirupsen/logrus" @@ -12,29 +12,51 @@ import ( "github.com/authelia/authelia/v4/internal/middlewares" ) -func AssertLogEntryMessageAndError(t *testing.T, entry *logrus.Entry, message, err string) { +func AssertLogEntryMessageAndError(t *testing.T, entry *logrus.Entry, message, err any) { require.NotNil(t, entry) - assert.Equal(t, message, entry.Message) + switch value := message.(type) { + case *regexp.Regexp: + assert.Regexp(t, value, entry.Message) + case string: + assert.Equal(t, value, entry.Message) + case nil: + break + default: + t.Fatal("Message should be a string, nil, or *regexp.Regex") + } v, ok := entry.Data["error"] - if err == "" { - assert.False(t, ok) - assert.Nil(t, v) - } else { + switch value := err.(type) { + case *regexp.Regexp: assert.True(t, ok) - require.NotNil(t, v) theErr, ok := v.(error) assert.True(t, ok) require.NotNil(t, theErr) - if strings.HasPrefix(err, "^") && strings.HasSuffix(err, "$") { - assert.Regexp(t, err, theErr.Error()) - } else { - assert.EqualError(t, theErr, err) + assert.Regexp(t, value, theErr.Error()) + case string: + if value == "" { + assert.False(t, ok) + assert.Nil(t, v) + + break } + + assert.True(t, ok) + + theErr, ok := v.(error) + assert.True(t, ok) + require.NotNil(t, theErr) + + assert.EqualError(t, theErr, value) + case nil: + assert.False(t, ok) + assert.Nil(t, v) + default: + t.Fatal("Err should be a string, nil, or *regexp.Regex") } } |
