Skip to content

Commit 36a7019

Browse files
committed
oauth2: deflake test relying on time.Now values
It was particularly flaky on Windows where time.Now doesn't advance as fast as elsewhere. Change-Id: Ic0b7c3e4c69389009d1e28750be0cd203fa770aa Reviewed-on: https://go-review.googlesource.com/c/157578 Run-TryBot: Brad Fitzpatrick <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]>
1 parent fd3eaa1 commit 36a7019

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

token.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,16 @@ func (t *Token) Extra(key string) interface{} {
118118
return v
119119
}
120120

121+
// timeNow is time.Now but pulled out as a variable for tests.
122+
var timeNow = time.Now
123+
121124
// expired reports whether the token is expired.
122125
// t must be non-nil.
123126
func (t *Token) expired() bool {
124127
if t.Expiry.IsZero() {
125128
return false
126129
}
127-
return t.Expiry.Round(0).Add(-expiryDelta).Before(time.Now())
130+
return t.Expiry.Round(0).Add(-expiryDelta).Before(timeNow())
128131
}
129132

130133
// Valid reports whether t is non-nil, has an AccessToken, and is not expired.

token_test.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,17 @@ func TestTokenExtra(t *testing.T) {
3434

3535
func TestTokenExpiry(t *testing.T) {
3636
now := time.Now()
37+
timeNow = func() time.Time { return now }
38+
defer func() { timeNow = time.Now }()
39+
3740
cases := []struct {
3841
name string
3942
tok *Token
4043
want bool
4144
}{
4245
{name: "12 seconds", tok: &Token{Expiry: now.Add(12 * time.Second)}, want: false},
43-
{name: "10 seconds", tok: &Token{Expiry: now.Add(expiryDelta)}, want: true},
46+
{name: "10 seconds", tok: &Token{Expiry: now.Add(expiryDelta)}, want: false},
47+
{name: "10 seconds-1ns", tok: &Token{Expiry: now.Add(expiryDelta - 1*time.Nanosecond)}, want: true},
4448
{name: "-1 hour", tok: &Token{Expiry: now.Add(-1 * time.Hour)}, want: true},
4549
}
4650
for _, tc := range cases {

0 commit comments

Comments
 (0)