diff options
Diffstat (limited to 'internal/db/access_tokens_test.go')
-rw-r--r-- | internal/db/access_tokens_test.go | 118 |
1 files changed, 49 insertions, 69 deletions
diff --git a/internal/db/access_tokens_test.go b/internal/db/access_tokens_test.go index 9c0d7759..7c3024b1 100644 --- a/internal/db/access_tokens_test.go +++ b/internal/db/access_tokens_test.go @@ -5,10 +5,12 @@ package db import ( + "context" "testing" "time" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "gorm.io/gorm" "gogs.io/gogs/internal/errutil" @@ -77,105 +79,87 @@ func TestAccessTokens(t *testing.T) { } func accessTokensCreate(t *testing.T, db *accessTokens) { + ctx := context.Background() + // Create first access token with name "Test" - token, err := db.Create(1, "Test") - if err != nil { - t.Fatal(err) - } + token, err := db.Create(ctx, 1, "Test") + require.NoError(t, err) assert.Equal(t, int64(1), token.UserID) assert.Equal(t, "Test", token.Name) assert.Equal(t, 40, len(token.Sha1), "sha1 length") // Get it back and check the Created field - token, err = db.GetBySHA1(token.Sha1) - if err != nil { - t.Fatal(err) - } + token, err = db.GetBySHA1(ctx, token.Sha1) + require.NoError(t, err) assert.Equal(t, db.NowFunc().Format(time.RFC3339), token.Created.UTC().Format(time.RFC3339)) // Try create second access token with same name should fail - _, err = db.Create(token.UserID, token.Name) - expErr := ErrAccessTokenAlreadyExist{args: errutil.Args{"userID": token.UserID, "name": token.Name}} - assert.Equal(t, expErr, err) + _, err = db.Create(ctx, token.UserID, token.Name) + wantErr := ErrAccessTokenAlreadyExist{args: errutil.Args{"userID": token.UserID, "name": token.Name}} + assert.Equal(t, wantErr, err) } func accessTokensDeleteByID(t *testing.T, db *accessTokens) { + ctx := context.Background() + // Create an access token with name "Test" - token, err := db.Create(1, "Test") - if err != nil { - t.Fatal(err) - } + token, err := db.Create(ctx, 1, "Test") + require.NoError(t, err) // Delete a token with mismatched user ID is noop - err = db.DeleteByID(2, token.ID) - if err != nil { - t.Fatal(err) - } + err = db.DeleteByID(ctx, 2, token.ID) + require.NoError(t, err) // We should be able to get it back - _, err = db.GetBySHA1(token.Sha1) - if err != nil { - t.Fatal(err) - } - _, err = db.GetBySHA1(token.Sha1) - if err != nil { - t.Fatal(err) - } + _, err = db.GetBySHA1(ctx, token.Sha1) + require.NoError(t, err) + _, err = db.GetBySHA1(ctx, token.Sha1) + require.NoError(t, err) // Now delete this token with correct user ID - err = db.DeleteByID(token.UserID, token.ID) - if err != nil { - t.Fatal(err) - } + err = db.DeleteByID(ctx, token.UserID, token.ID) + require.NoError(t, err) // We should get token not found error - _, err = db.GetBySHA1(token.Sha1) + _, err = db.GetBySHA1(ctx, token.Sha1) expErr := ErrAccessTokenNotExist{args: errutil.Args{"sha": token.Sha1}} assert.Equal(t, expErr, err) } func accessTokensGetBySHA(t *testing.T, db *accessTokens) { + ctx := context.Background() + // Create an access token with name "Test" - token, err := db.Create(1, "Test") - if err != nil { - t.Fatal(err) - } + token, err := db.Create(ctx, 1, "Test") + require.NoError(t, err) // We should be able to get it back - _, err = db.GetBySHA1(token.Sha1) - if err != nil { - t.Fatal(err) - } + _, err = db.GetBySHA1(ctx, token.Sha1) + require.NoError(t, err) // Try to get a non-existent token - _, err = db.GetBySHA1("bad_sha") + _, err = db.GetBySHA1(ctx, "bad_sha") expErr := ErrAccessTokenNotExist{args: errutil.Args{"sha": "bad_sha"}} assert.Equal(t, expErr, err) } func accessTokensList(t *testing.T, db *accessTokens) { + ctx := context.Background() + // Create two access tokens for user 1 - _, err := db.Create(1, "user1_1") - if err != nil { - t.Fatal(err) - } - _, err = db.Create(1, "user1_2") - if err != nil { - t.Fatal(err) - } + _, err := db.Create(ctx, 1, "user1_1") + require.NoError(t, err) + _, err = db.Create(ctx, 1, "user1_2") + require.NoError(t, err) // Create one access token for user 2 - _, err = db.Create(2, "user2_1") - if err != nil { - t.Fatal(err) - } + _, err = db.Create(ctx, 2, "user2_1") + require.NoError(t, err) // List all access tokens for user 1 - tokens, err := db.List(1) - if err != nil { - t.Fatal(err) - } + tokens, err := db.List(ctx, 1) + require.NoError(t, err) assert.Equal(t, 2, len(tokens), "number of tokens") assert.Equal(t, int64(1), tokens[0].UserID) @@ -186,24 +170,20 @@ func accessTokensList(t *testing.T, db *accessTokens) { } func accessTokensSave(t *testing.T, db *accessTokens) { + ctx := context.Background() + // Create an access token with name "Test" - token, err := db.Create(1, "Test") - if err != nil { - t.Fatal(err) - } + token, err := db.Create(ctx, 1, "Test") + require.NoError(t, err) // Updated field is zero now assert.True(t, token.Updated.IsZero()) - err = db.Save(token) - if err != nil { - t.Fatal(err) - } + err = db.Save(ctx, token) + require.NoError(t, err) // Get back from DB should have Updated set - token, err = db.GetBySHA1(token.Sha1) - if err != nil { - t.Fatal(err) - } + token, err = db.GetBySHA1(ctx, token.Sha1) + require.NoError(t, err) assert.Equal(t, db.NowFunc().Format(time.RFC3339), token.Updated.UTC().Format(time.RFC3339)) } |