Skip to content

Commit 217097d

Browse files
committed
Address PR comments related to token tests
Removed unused functionality. Introduced getter for TTL. Improved tests to use defined time.Time.
1 parent 9d087bc commit 217097d

File tree

2 files changed

+49
-87
lines changed

2 files changed

+49
-87
lines changed

token/token.go

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -64,26 +64,16 @@ func (t *Token) ExpirationOn() time.Time {
6464
return t.expiresOn
6565
}
6666

67+
// TTL returns the time to live of the token.
68+
func (t *Token) TTL() int64 {
69+
return t.ttl
70+
}
71+
6772
// Copy creates a copy of the token.
6873
func (t *Token) Copy() *Token {
6974
return copyToken(t)
7075
}
7176

72-
// compareCredentials two tokens if they are the same credentials
73-
func (t *Token) compareCredentials(token *Token) bool {
74-
return t.username == token.username && t.password == token.password
75-
}
76-
77-
// compareRawCredentials two tokens if they are the same raw credentials
78-
func (t *Token) compareRawCredentials(token *Token) bool {
79-
return t.rawToken == token.rawToken
80-
}
81-
82-
// compareToken compares two tokens if they are the same token
83-
func (t *Token) compareToken(token *Token) bool {
84-
return t.compareCredentials(token) && t.compareRawCredentials(token)
85-
}
86-
8777
// copyToken creates a copy of the token.
8878
func copyToken(token *Token) *Token {
8979
if token == nil {

token/token_test.go

Lines changed: 44 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package token
22

33
import (
4+
"fmt"
45
"testing"
56
"time"
67

@@ -9,51 +10,71 @@ import (
910

1011
func TestNew(t *testing.T) {
1112
t.Parallel()
12-
token := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
13+
expiration := time.Now().Add(1 * time.Hour)
14+
receivedAt := time.Now()
15+
ttl := expiration.Unix() - receivedAt.Unix()
16+
token := New("username", "password", "rawToken", expiration, receivedAt, ttl)
1317
assert.Equal(t, "username", token.username)
1418
assert.Equal(t, "password", token.password)
1519
assert.Equal(t, "rawToken", token.rawToken)
16-
assert.Equal(t, int64(3600), token.ttl)
20+
assert.Equal(t, expiration, token.expiresOn)
21+
assert.Equal(t, receivedAt, token.receivedAt)
22+
assert.Equal(t, ttl, token.ttl)
1723
}
1824

1925
func TestBasicAuth(t *testing.T) {
2026
t.Parallel()
21-
token := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
22-
username, password := token.BasicAuth()
23-
assert.Equal(t, "username", username)
24-
assert.Equal(t, "password", password)
27+
username := "username12"
28+
password := "password32"
29+
rawToken := fmt.Sprintf("%s:%s", username, password)
30+
expiration := time.Now().Add(1 * time.Hour)
31+
receivedAt := time.Now()
32+
ttl := expiration.Unix() - receivedAt.Unix()
33+
token := New(username, password, rawToken, expiration, receivedAt, ttl)
34+
baUsername, baPassword := token.BasicAuth()
35+
assert.Equal(t, username, baUsername)
36+
assert.Equal(t, password, baPassword)
2537
}
2638

2739
func TestRawCredentials(t *testing.T) {
2840
t.Parallel()
29-
token := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
41+
username := "username12"
42+
password := "password32"
43+
rawToken := fmt.Sprintf("%s:%s", username, password)
44+
expiration := time.Now().Add(1 * time.Hour)
45+
receivedAt := time.Now()
46+
ttl := expiration.Unix() - receivedAt.Unix()
47+
token := New(username, password, rawToken, expiration, receivedAt, ttl)
3048
rawCredentials := token.RawCredentials()
31-
assert.Equal(t, "rawToken", rawCredentials)
49+
assert.Equal(t, rawToken, rawCredentials)
50+
assert.Contains(t, rawCredentials, username)
51+
assert.Contains(t, rawCredentials, password)
3252
}
3353

3454
func TestExpirationOn(t *testing.T) {
3555
t.Parallel()
36-
token := New("username", "password", "rawToken", time.Now().Add(1*time.Hour), time.Now(), 3600)
56+
username := "username12"
57+
password := "password32"
58+
rawToken := fmt.Sprintf("%s:%s", username, password)
59+
expiration := time.Now().Add(1 * time.Hour)
60+
receivedAt := time.Now()
61+
ttl := expiration.Unix() - receivedAt.Unix()
62+
token := New(username, password, rawToken, expiration, receivedAt, ttl)
3763
expirationOn := token.ExpirationOn()
3864
assert.True(t, expirationOn.After(time.Now()))
39-
}
40-
41-
func TestTokenExpiration(t *testing.T) {
42-
t.Parallel()
43-
token := New("username", "password", "rawToken", time.Now().Add(1*time.Hour), time.Now(), 3600)
44-
assert.True(t, token.ExpirationOn().After(time.Now()))
45-
46-
token.expiresOn = time.Now().Add(-1 * time.Hour)
47-
assert.False(t, token.ExpirationOn().After(time.Now()))
65+
assert.Equal(t, expiration, expirationOn)
4866
}
4967

5068
func TestTokenTTL(t *testing.T) {
5169
t.Parallel()
52-
token := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
53-
assert.Equal(t, int64(3600), token.ttl)
54-
55-
token.ttl = 7200
56-
assert.Equal(t, int64(7200), token.ttl)
70+
username := "username12"
71+
password := "password32"
72+
rawToken := fmt.Sprintf("%s:%s", username, password)
73+
expiration := time.Now().Add(1 * time.Hour)
74+
receivedAt := time.Now()
75+
ttl := expiration.Unix() - receivedAt.Unix()
76+
token := New(username, password, rawToken, expiration, receivedAt, ttl)
77+
assert.Equal(t, ttl, token.TTL())
5778
}
5879

5980
func TestCopyToken(t *testing.T) {
@@ -83,28 +104,6 @@ func TestCopyToken(t *testing.T) {
83104
assert.NotEqual(t, copiedToken, anotherCopy)
84105
}
85106

86-
func TestTokenCompare(t *testing.T) {
87-
t.Parallel()
88-
// Create two tokens with the same credentials
89-
token1 := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
90-
token2 := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
91-
assert.True(t, token1.compareCredentials(token2))
92-
assert.True(t, token1.compareRawCredentials(token2))
93-
assert.True(t, token1.compareToken(token2))
94-
95-
// Create two tokens with different credentials and different raw credentials
96-
token3 := New("username", "differentPassword", "differentRawToken", time.Now(), time.Now(), 3600)
97-
assert.False(t, token1.compareCredentials(token3))
98-
assert.False(t, token1.compareRawCredentials(token3))
99-
assert.False(t, token1.compareToken(token3))
100-
101-
// Create token with same credentials but different rawCredentials
102-
token4 := New("username", "password", "differentRawToken", time.Now(), time.Now(), 3600)
103-
assert.False(t, token1.compareRawCredentials(token4))
104-
assert.False(t, token1.compareToken(token4))
105-
assert.True(t, token1.compareCredentials(token4))
106-
}
107-
108107
func TestTokenReceivedAt(t *testing.T) {
109108
t.Parallel()
110109
// Create a token with a specific receivedAt time
@@ -165,30 +164,3 @@ func BenchmarkCopyToken(b *testing.B) {
165164
token.Copy()
166165
}
167166
}
168-
169-
func BenchmarkCompareCredentials(b *testing.B) {
170-
token1 := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
171-
token2 := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
172-
b.ResetTimer()
173-
for i := 0; i < b.N; i++ {
174-
token1.compareCredentials(token2)
175-
}
176-
}
177-
178-
func BenchmarkCompareRawCredentials(b *testing.B) {
179-
token1 := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
180-
token2 := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
181-
b.ResetTimer()
182-
for i := 0; i < b.N; i++ {
183-
token1.compareRawCredentials(token2)
184-
}
185-
}
186-
187-
func BenchmarkCompareToken(b *testing.B) {
188-
token1 := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
189-
token2 := New("username", "password", "rawToken", time.Now(), time.Now(), 3600)
190-
b.ResetTimer()
191-
for i := 0; i < b.N; i++ {
192-
token1.compareToken(token2)
193-
}
194-
}

0 commit comments

Comments
 (0)