home: add tests

This commit is contained in:
Stanislav Chzhen 2025-07-03 21:01:54 +03:00
parent 586b714daf
commit 4633c8991c

View File

@ -0,0 +1,52 @@
package home
import (
"path/filepath"
"testing"
"github.com/AdguardTeam/AdGuardHome/internal/aghuser"
"github.com/AdguardTeam/golibs/testutil"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/crypto/bcrypt"
)
func TestAuth_UsersList(t *testing.T) {
const (
userName = "name"
userPassword = "password"
)
passwordHash, err := bcrypt.GenerateFromPassword([]byte(userPassword), bcrypt.DefaultCost)
require.NoError(t, err)
sessionsDB := filepath.Join(t.TempDir(), "sessions.db")
user := webUser{
Name: userName,
PasswordHash: string(passwordHash),
UserID: aghuser.MustNewUserID(),
}
auth, err := newAuth(testutil.ContextWithTimeout(t, testTimeout), &authConfig{
baseLogger: testLogger,
rateLimiter: emptyRateLimiter{},
trustedProxies: nil,
dbFilename: sessionsDB,
users: nil,
sessionTTL: testTimeout,
isGLiNet: false,
})
require.NoError(t, err)
t.Cleanup(func() { auth.close(testutil.ContextWithTimeout(t, testTimeout)) })
ctx := testutil.ContextWithTimeout(t, testTimeout)
assert.Empty(t, auth.usersList(ctx))
err = auth.addUser(ctx, &user, userPassword)
require.NoError(t, err)
assert.Equal(t, []webUser{user}, auth.usersList(ctx))
}