MCPcopy Index your code
hub / github.com/apache/devlake / TestNeedsRefresh

Function TestNeedsRefresh

backend/plugins/github/token/token_provider_test.go:47–74  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

45}
46
47func TestNeedsRefresh(t *testing.T) {
48 tp := &TokenProvider{
49 conn: &models.GithubConnection{
50 GithubConn: models.GithubConn{
51 RefreshToken: "refresh_token",
52 },
53 },
54 }
55
56 // Not expired, outside buffer
57 expiry1 := time.Now().Add(10 * time.Minute)
58 tp.conn.TokenExpiresAt = &expiry1
59 assert.False(t, tp.needsRefresh())
60
61 // Inside buffer
62 expiry2 := time.Now().Add(1 * time.Minute)
63 tp.conn.TokenExpiresAt = &expiry2
64 assert.True(t, tp.needsRefresh())
65
66 // Expired
67 expiry3 := time.Now().Add(-1 * time.Minute)
68 tp.conn.TokenExpiresAt = &expiry3
69 assert.True(t, tp.needsRefresh())
70
71 // No refresh token
72 tp.conn.RefreshToken = ""
73 assert.False(t, tp.needsRefresh())
74}
75
76func TestTokenProviderConcurrency(t *testing.T) {
77 mockRT := new(MockRoundTripper)

Callers

nothing calls this directly

Calls 2

needsRefreshMethod · 0.95
AddMethod · 0.45

Tested by

no test coverage detected