MCPcopy Create free account
hub / github.com/PaperDebugger/paperdebugger / TestTokenService_CRUD

Function TestTokenService_CRUD

internal/services/token_test.go:27–59  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

25}
26
27func TestTokenService_CRUD(t *testing.T) {
28 ts := setupTestTokenService(t)
29 ctx := context.Background()
30
31 userID := bson.NewObjectID()
32
33 // Create
34 tk, err := ts.CreateRefreshToken(ctx, userID)
35 assert.NoError(t, err)
36 assert.Equal(t, userID, tk.UserID)
37 assert.Equal(t, "refreshToken", tk.Type)
38 assert.NotEmpty(t, tk.Token)
39 assert.WithinDuration(t, time.Now().Add(30*24*time.Hour), tk.ExpiresAt, 2*time.Hour)
40
41 // Get
42 got, err := ts.GetTokenByToken(ctx, tk.Token)
43 assert.NoError(t, err)
44 assert.Equal(t, tk.ID, got.ID)
45
46 // Update
47 tk.ExpiresAt = time.Now().Add(60 * 24 * time.Hour)
48 updated, err := ts.UpdateToken(ctx, tk)
49 assert.NoError(t, err)
50 assert.Equal(t, tk.ExpiresAt.Unix(), updated.ExpiresAt.Unix())
51
52 // Delete
53 err = ts.DeleteToken(ctx, tk)
54 assert.NoError(t, err)
55
56 // Get after delete
57 _, err = ts.GetTokenByToken(ctx, tk.Token)
58 assert.Error(t, err)
59}

Callers

nothing calls this directly

Calls 5

setupTestTokenServiceFunction · 0.85
CreateRefreshTokenMethod · 0.80
GetTokenByTokenMethod · 0.80
UpdateTokenMethod · 0.80
DeleteTokenMethod · 0.80

Tested by

no test coverage detected