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

Function TestAuthServer

internal/api/auth/auth_test.go:18–110  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

16)
17
18func TestAuthServer(t *testing.T) {
19 os.Setenv("PD_MONGO_URI", "mongodb://localhost:27017")
20 cfg := cfg.GetCfg()
21 logger := logger.GetLogger()
22 db, err := db.NewDB(cfg, logger)
23 if err != nil {
24 t.Fatalf("Failed to create db: %v", err)
25 }
26 tokenService := services.NewTokenService(db, cfg, logger)
27 userService := services.NewUserService(db, cfg, logger)
28 authServer := NewAuthServer(tokenService, userService, cfg, logger)
29 assert.NotNil(t, authServer)
30
31 t.Run("refresh token not exist", func(t *testing.T) {
32 // test refresh token
33 resp, err := authServer.RefreshToken(context.Background(),
34 &authv1.RefreshTokenRequest{
35 RefreshToken: "refreshToken",
36 },
37 )
38 assert.Error(t, err)
39 assert.Nil(t, resp)
40 })
41
42 t.Run("refresh token expired", func(t *testing.T) {
43 userId := bson.NewObjectID()
44 timeNow := time.Now()
45 token, err := tokenService.CreateRefreshToken(context.Background(), userId)
46 if err != nil {
47 t.Fatalf("Failed to create refresh token: %v", err)
48 }
49 assert.Equal(t, token.UserID, userId)
50
51 token.ExpiresAt = timeNow.Add(-time.Hour * 24)
52 token, err = tokenService.UpdateToken(context.Background(), token)
53 if err != nil {
54 t.Fatalf("Failed to update refresh token: %v", err)
55 }
56 assert.True(t, token.ExpiresAt.Before(timeNow))
57
58 // Now Token expiration should be 24 hours ago
59 token, err = tokenService.GetTokenByToken(context.Background(), token.Token)
60 if err != nil {
61 t.Fatalf("Failed to get refresh token: %v", err)
62 }
63 assert.True(t, token.ExpiresAt.Before(timeNow))
64
65 // At this point RefreshToken should be invalid
66 resp, err := authServer.RefreshToken(context.Background(),
67 &authv1.RefreshTokenRequest{
68 RefreshToken: token.Token,
69 },
70 )
71 assert.Error(t, err)
72 assert.Nil(t, resp)
73
74 // Update Token expiration to 24 hours later
75 token.ExpiresAt = timeNow.Add(time.Hour * 24)

Callers

nothing calls this directly

Calls 11

RefreshTokenMethod · 0.95
CreateRefreshTokenMethod · 0.95
UpdateTokenMethod · 0.95
GetTokenByTokenMethod · 0.95
LogoutMethod · 0.95
GetCfgFunction · 0.92
GetLoggerFunction · 0.92
NewTokenServiceFunction · 0.92
NewUserServiceFunction · 0.92
NewAuthServerFunction · 0.85
RunMethod · 0.80

Tested by

no test coverage detected