diff options
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") } } |
