From 1d377b916c6cd62a05796c45f7c790be6724e256 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Sun, 17 May 2026 21:02:17 +0200 Subject: [PATCH] WIP: Adding tests to the token controller Signed-off-by: Nikolai Rodionov --- internal/controllers/tokens.go | 1 - internal/controllers/tokens_test.go | 67 +++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 internal/controllers/tokens_test.go diff --git a/internal/controllers/tokens.go b/internal/controllers/tokens.go index 7a4d772..5fdfb11 100644 --- a/internal/controllers/tokens.go +++ b/internal/controllers/tokens.go @@ -22,7 +22,6 @@ import ( type TokenController struct { DB *sql.DB - HashCost int16 ServiceInfo map[string]grpc.ServiceInfo rules []rule Redis *redis.Client diff --git a/internal/controllers/tokens_test.go b/internal/controllers/tokens_test.go new file mode 100644 index 0000000..d1ad446 --- /dev/null +++ b/internal/controllers/tokens_test.go @@ -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) +}