mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2026-05-07 21:08:12 +00:00
1382ab41e7
* wip * fix: fix util imports * fix: fix bootstrap import issues * fix: fix cli imports * fix: context controller * fix: use new context in user controller * fix: fix imports and context in proxy controller * fix: fix oauth and oidc controller imports and context * feat: finalize context functionality * refactor: simplify acls checking logic by passing the entire acl struct * chore: rename get basic auth to encode basic auth for clarity * fix: fix controller tests * tests: fix service tests * tests: fix utils tests * tests: move to testify for testing in utils * fix: fix config reference generator * tests: add tests for context parsing * tests: add tests for context middleware * tests: remove error wrapper from context tests * tests: fix log wrapper tests * fix: fix verion setting in cd and dockerfiles * fix: review comments batch 1 * fix: review comments batch 2 * fix: review comments batch 3 * fix: delete totp pending session cookie on totp success * tests: fix user controller tests * fix: don't audit login too early * fix: own comments
59 lines
1.6 KiB
Go
59 lines
1.6 KiB
Go
package utils_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/tinyauthapp/tinyauth/internal/utils"
|
|
)
|
|
|
|
func TestCapitalize(t *testing.T) {
|
|
// Test empty string
|
|
assert.Equal(t, "", utils.Capitalize(""))
|
|
|
|
// Test single character
|
|
assert.Equal(t, "A", utils.Capitalize("a"))
|
|
|
|
// Test multiple characters
|
|
assert.Equal(t, "Hello", utils.Capitalize("hello"))
|
|
|
|
// Test already capitalized
|
|
assert.Equal(t, "World", utils.Capitalize("World"))
|
|
|
|
// Test non-alphabetic first character
|
|
assert.Equal(t, "1number", utils.Capitalize("1number"))
|
|
|
|
// Test Unicode characters
|
|
assert.Equal(t, "Γειά", utils.Capitalize("γειά"))
|
|
assert.Equal(t, "Привет", utils.Capitalize("привет"))
|
|
|
|
}
|
|
|
|
func TestCoalesceToString(t *testing.T) {
|
|
// Test with []any containing strings
|
|
assert.Equal(t, "a,b,c", utils.CoalesceToString([]any{"a", "b", "c"}))
|
|
|
|
// Test with []any containing mixed types
|
|
assert.Equal(t, "a,c", utils.CoalesceToString([]any{"a", 1, "c", true}))
|
|
|
|
// Test with []any containing no strings
|
|
assert.Equal(t, "", utils.CoalesceToString([]any{1, 2, 3}))
|
|
|
|
// Test with string input
|
|
assert.Equal(t, "hello", utils.CoalesceToString("hello"))
|
|
|
|
// Test with non-string, non-[]any input
|
|
assert.Equal(t, "", utils.CoalesceToString(123))
|
|
|
|
// Test with nil input
|
|
assert.Equal(t, "", utils.CoalesceToString(nil))
|
|
}
|
|
|
|
func TestCompileUserEmail(t *testing.T) {
|
|
// Test with valid email
|
|
assert.Equal(t, "user@example.com", utils.CompileUserEmail("user@example.com", "example.com"))
|
|
|
|
// Test with invalid email
|
|
assert.Equal(t, "user@example.com", utils.CompileUserEmail("user", "example.com"))
|
|
}
|