WIP: Adding tests to the token controller
Some checks failed
ci/woodpecker/push/build Pipeline failed

Signed-off-by: Nikolai Rodionov <iam@allanger.xyz>
This commit is contained in:
2026-05-17 21:02:17 +02:00
parent 14ad203f63
commit 1d377b916c
2 changed files with 67 additions and 1 deletions

View File

@@ -22,7 +22,6 @@ import (
type TokenController struct {
DB *sql.DB
HashCost int16
ServiceInfo map[string]grpc.ServiceInfo
rules []rule
Redis *redis.Client

View File

@@ -0,0 +1,67 @@
package controllers_test
import (
"context"
"testing"
"time"
"gitea.badhouseplants.net/softplayer/softplayer-backend/internal/controllers"
"github.com/stretchr/testify/assert"
)
func newTestTokensController(ctx context.Context) *controllers.TokenController {
return &controllers.TokenController{
DB: newTestDbConnection(ctx),
Redis: newTestRedisConnection(),
}
}
func TestCreateToken_Success(t *testing.T) {
// Create a user for the token
ctrlAccount := newTestAccountController(t.Context())
accountData := &controllers.AccountData{
Password: "qwertyu9",
Email: newTestUniqueEmail("accounts"),
}
id, err := ctrlAccount.Create(t.Context(), accountData)
assert.NoError(t, err)
tokenData := &controllers.TokenData{
Name: "Test Token",
UserID: id,
ExpiresAt: time.Now().Add(time.Second * 5),
Scopes: map[string][]string{
"Test": {"test", "test2"},
},
}
ctrl := newTestTokensController(t.Context())
tokenID, err := ctrl.Create(t.Context(), tokenData)
assert.NoError(t, err)
assert.NotEmpty(t, tokenID)
}
func TestCreateToken_Success(t *testing.T) {
// Create a user for the token
ctrlAccount := newTestAccountController(t.Context())
accountData := &controllers.AccountData{
Password: "qwertyu9",
Email: newTestUniqueEmail("accounts"),
}
id, err := ctrlAccount.Create(t.Context(), accountData)
assert.NoError(t, err)
tokenData := &controllers.TokenData{
Name: "Test Token",
UserID: id,
ExpiresAt: time.Now().Add(time.Second * 5),
Scopes: map[string][]string{
"Test": {"test", "test2"},
},
}
ctrl := newTestTokensController(t.Context())
tokenID, err := ctrl.Create(t.Context(), tokenData)
assert.NoError(t, err)
assert.NotEmpty(t, tokenID)
}