summaryrefslogtreecommitdiff
path: root/internal/handlers/func_test.go
diff options
context:
space:
mode:
authorJames Elliott <james-d-elliott@users.noreply.github.com>2025-03-02 15:04:09 +1100
committerGitHub <noreply@github.com>2025-03-02 04:04:09 +0000
commitc3fc3f94f7bb916faa8baebf313e259bcdd76ffb (patch)
tree8c606b26e362086ec0d05a5c930702b41be1b78f /internal/handlers/func_test.go
parent6759988ce044b5be7d74239405603bda993441f4 (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.go46
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")
}
}