tests: fix tests

This commit is contained in:
Stavros
2025-12-31 17:25:07 +02:00
parent 7c726cbcef
commit 8652659e83
5 changed files with 26 additions and 20 deletions

View File

@@ -108,7 +108,7 @@ func (app *BootstrapApp) Setup() error {
log.Trace().Str("redirectCookieName", app.context.redirectCookieName).Msg("Redirect cookie name")
// Database
db, err := app.setupDatabase(app.config.DatabasePath)
db, err := app.SetupDatabase(app.config.DatabasePath)
if err != nil {
return fmt.Errorf("failed to setup database: %w", err)

View File

@@ -14,7 +14,7 @@ import (
_ "modernc.org/sqlite"
)
func (app *BootstrapApp) setupDatabase(databasePath string) (*sql.DB, error) {
func (app *BootstrapApp) SetupDatabase(databasePath string) (*sql.DB, error) {
dir := filepath.Dir(databasePath)
if err := os.MkdirAll(dir, 0750); err != nil {

View File

@@ -4,8 +4,10 @@ import (
"net/http/httptest"
"testing"
"github.com/steveiliop56/tinyauth/internal/bootstrap"
"github.com/steveiliop56/tinyauth/internal/config"
"github.com/steveiliop56/tinyauth/internal/controller"
"github.com/steveiliop56/tinyauth/internal/repository"
"github.com/steveiliop56/tinyauth/internal/service"
"github.com/gin-gonic/gin"
@@ -26,14 +28,16 @@ func setupProxyController(t *testing.T, middlewares *[]gin.HandlerFunc) (*gin.En
group := router.Group("/api")
recorder := httptest.NewRecorder()
// Mock app
app := bootstrap.NewBootstrapApp(config.Config{})
// Database
databaseService := service.NewDatabaseService(service.DatabaseServiceConfig{
DatabasePath: "/tmp/tinyauth_test.db",
})
db, err := app.SetupDatabase(":memory:")
assert.NilError(t, databaseService.Init())
assert.NilError(t, err)
database := databaseService.GetDatabase()
// Queries
queries := repository.New(db)
// Docker
dockerService := service.NewDockerService()
@@ -60,7 +64,7 @@ func setupProxyController(t *testing.T, middlewares *[]gin.HandlerFunc) (*gin.En
LoginTimeout: 300,
LoginMaxRetries: 3,
SessionCookieName: "tinyauth-session",
}, dockerService, nil, database)
}, dockerService, nil, queries)
// Controller
ctrl := controller.NewProxyController(controller.ProxyControllerConfig{

View File

@@ -8,8 +8,10 @@ import (
"testing"
"time"
"github.com/steveiliop56/tinyauth/internal/bootstrap"
"github.com/steveiliop56/tinyauth/internal/config"
"github.com/steveiliop56/tinyauth/internal/controller"
"github.com/steveiliop56/tinyauth/internal/repository"
"github.com/steveiliop56/tinyauth/internal/service"
"github.com/gin-gonic/gin"
@@ -34,14 +36,16 @@ func setupUserController(t *testing.T, middlewares *[]gin.HandlerFunc) (*gin.Eng
group := router.Group("/api")
recorder := httptest.NewRecorder()
// Mock app
app := bootstrap.NewBootstrapApp(config.Config{})
// Database
databaseService := service.NewDatabaseService(service.DatabaseServiceConfig{
DatabasePath: "/tmp/tinyauth_test.db",
})
db, err := app.SetupDatabase(":memory:")
assert.NilError(t, databaseService.Init())
assert.NilError(t, err)
database := databaseService.GetDatabase()
// Queries
queries := repository.New(db)
// Auth service
authService := service.NewAuthService(service.AuthServiceConfig{
@@ -63,7 +67,7 @@ func setupUserController(t *testing.T, middlewares *[]gin.HandlerFunc) (*gin.Eng
LoginTimeout: 300,
LoginMaxRetries: 3,
SessionCookieName: "tinyauth-session",
}, nil, nil, database)
}, nil, nil, queries)
// Controller
ctrl := controller.NewUserController(controller.UserControllerConfig{

View File

@@ -1,7 +1,6 @@
package service
import (
"context"
"database/sql"
"errors"
"fmt"
@@ -44,7 +43,6 @@ type AuthService struct {
loginMutex sync.RWMutex
ldap *LdapService
queries *repository.Queries
ctx context.Context
}
func NewAuthService(config AuthServiceConfig, docker *DockerService, ldap *LdapService, queries *repository.Queries) *AuthService {
@@ -236,7 +234,7 @@ func (auth *AuthService) RefreshSessionCookie(c *gin.Context) error {
return err
}
session, err := auth.queries.GetSession(auth.ctx, cookie)
session, err := auth.queries.GetSession(c, cookie)
if err != nil {
return err
@@ -279,7 +277,7 @@ func (auth *AuthService) DeleteSessionCookie(c *gin.Context) error {
return err
}
err = auth.queries.DeleteSession(auth.ctx, cookie)
err = auth.queries.DeleteSession(c, cookie)
if err != nil {
return err
@@ -297,7 +295,7 @@ func (auth *AuthService) GetSessionCookie(c *gin.Context) (config.SessionCookie,
return config.SessionCookie{}, err
}
session, err := auth.queries.GetSession(auth.ctx, cookie)
session, err := auth.queries.GetSession(c, cookie)
if err != nil {
return config.SessionCookie{}, err
@@ -310,7 +308,7 @@ func (auth *AuthService) GetSessionCookie(c *gin.Context) (config.SessionCookie,
currentTime := time.Now().Unix()
if currentTime > session.Expiry {
err = auth.queries.DeleteSession(auth.ctx, cookie)
err = auth.queries.DeleteSession(c, cookie)
if err != nil {
log.Error().Err(err).Msg("Failed to delete expired session")
}