@@ -15,7 +15,7 @@ import (
15
15
"time"
16
16
17
17
"golang.org/x/oauth2"
18
- "golang.org/x/oauth2/google/internal/sts_exchange "
18
+ "golang.org/x/oauth2/google/internal/stsexchange "
19
19
)
20
20
21
21
const expiryDelta = 10 * time .Second
@@ -33,59 +33,11 @@ type testRefreshTokenServer struct {
33
33
Authorization string
34
34
ContentType string
35
35
Body string
36
- ResponsePayload * sts_exchange .Response
36
+ ResponsePayload * stsexchange .Response
37
37
Response string
38
38
server * httptest.Server
39
39
}
40
40
41
- func (trts * testRefreshTokenServer ) Run (t * testing.T ) (string , error ) {
42
- if trts .server != nil {
43
- return "" , errors .New ("Server is already running" )
44
- }
45
- trts .server = httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
46
- if got , want := r .URL .String (), trts .URL ; got != want {
47
- t .Errorf ("URL.String(): got %v but want %v" , got , want )
48
- }
49
- headerAuth := r .Header .Get ("Authorization" )
50
- if got , want := headerAuth , trts .Authorization ; got != want {
51
- t .Errorf ("got %v but want %v" , got , want )
52
- }
53
- headerContentType := r .Header .Get ("Content-Type" )
54
- if got , want := headerContentType , trts .ContentType ; got != want {
55
- t .Errorf ("got %v but want %v" , got , want )
56
- }
57
- body , err := ioutil .ReadAll (r .Body )
58
- if err != nil {
59
- t .Fatalf ("Failed reading request body: %s." , err )
60
- }
61
- if got , want := string (body ), trts .Body ; got != want {
62
- t .Errorf ("Unexpected exchange payload: got %v but want %v" , got , want )
63
- }
64
- w .Header ().Set ("Content-Type" , "application/json" )
65
- if trts .ResponsePayload != nil {
66
- content , err := json .Marshal (trts .ResponsePayload )
67
- if err != nil {
68
- t .Fatalf ("unable to marshall response JSON" )
69
- }
70
- w .Write (content )
71
- } else {
72
- w .Write ([]byte (trts .Response ))
73
- }
74
- }))
75
- return trts .server .URL , nil
76
- }
77
-
78
- func (trts * testRefreshTokenServer ) Close () error {
79
- if trts .server == nil {
80
- return errors .New ("No server is running" )
81
- }
82
- trts .server .Close ()
83
- trts .server = nil
84
- return nil
85
- }
86
-
87
- // Tests
88
-
89
41
func TestExernalAccountAuthorizedUser_JustToken (t * testing.T ) {
90
42
config := & Config {
91
43
Token : "AAAAAAA" ,
@@ -111,18 +63,18 @@ func TestExernalAccountAuthorizedUser_TokenRefreshWithRefreshTokenInRespondse(t
111
63
Authorization : "Basic Q0xJRU5UX0lEOkNMSUVOVF9TRUNSRVQ=" ,
112
64
ContentType : "application/x-www-form-urlencoded" ,
113
65
Body : "grant_type=refresh_token&refresh_token=BBBBBBBBB" ,
114
- ResponsePayload : & sts_exchange .Response {
66
+ ResponsePayload : & stsexchange .Response {
115
67
ExpiresIn : 3600 ,
116
68
AccessToken : "AAAAAAA" ,
117
69
RefreshToken : "CCCCCCC" ,
118
70
},
119
71
}
120
72
121
- url , err := server .Run (t )
73
+ url , err := server .run (t )
122
74
if err != nil {
123
75
t .Fatalf ("Error starting server" )
124
76
}
125
- defer server .Close ( )
77
+ defer server .close ( t )
126
78
127
79
config := & Config {
128
80
RefreshToken : "BBBBBBBBB" ,
@@ -153,17 +105,17 @@ func TestExernalAccountAuthorizedUser_MinimumFieldsRequiredForRefresh(t *testing
153
105
Authorization : "Basic Q0xJRU5UX0lEOkNMSUVOVF9TRUNSRVQ=" ,
154
106
ContentType : "application/x-www-form-urlencoded" ,
155
107
Body : "grant_type=refresh_token&refresh_token=BBBBBBBBB" ,
156
- ResponsePayload : & sts_exchange .Response {
108
+ ResponsePayload : & stsexchange .Response {
157
109
ExpiresIn : 3600 ,
158
110
AccessToken : "AAAAAAA" ,
159
111
},
160
112
}
161
113
162
- url , err := server .Run (t )
114
+ url , err := server .run (t )
163
115
if err != nil {
164
116
t .Fatalf ("Error starting server" )
165
117
}
166
- defer server .Close ( )
118
+ defer server .close ( t )
167
119
168
120
config := & Config {
169
121
RefreshToken : "BBBBBBBBB" ,
@@ -191,17 +143,17 @@ func TestExternalAccountAuthorizedUser_MissingRefreshFields(t *testing.T) {
191
143
Authorization : "Basic Q0xJRU5UX0lEOkNMSUVOVF9TRUNSRVQ=" ,
192
144
ContentType : "application/x-www-form-urlencoded" ,
193
145
Body : "grant_type=refresh_token&refresh_token=BBBBBBBBB" ,
194
- ResponsePayload : & sts_exchange .Response {
146
+ ResponsePayload : & stsexchange .Response {
195
147
ExpiresIn : 3600 ,
196
148
AccessToken : "AAAAAAA" ,
197
149
},
198
150
}
199
151
200
- url , err := server .Run (t )
152
+ url , err := server .run (t )
201
153
if err != nil {
202
154
t .Fatalf ("Error starting server" )
203
155
}
204
- defer server .Close ( )
156
+ defer server .close ( t )
205
157
testCases := []struct {
206
158
name string
207
159
config Config
@@ -257,3 +209,51 @@ func TestExternalAccountAuthorizedUser_MissingRefreshFields(t *testing.T) {
257
209
})
258
210
}
259
211
}
212
+
213
+ func (trts * testRefreshTokenServer ) run (t * testing.T ) (string , error ) {
214
+ t .Helper ()
215
+ if trts .server != nil {
216
+ return "" , errors .New ("Server is already running" )
217
+ }
218
+ trts .server = httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
219
+ if got , want := r .URL .String (), trts .URL ; got != want {
220
+ t .Errorf ("URL.String(): got %v but want %v" , got , want )
221
+ }
222
+ headerAuth := r .Header .Get ("Authorization" )
223
+ if got , want := headerAuth , trts .Authorization ; got != want {
224
+ t .Errorf ("got %v but want %v" , got , want )
225
+ }
226
+ headerContentType := r .Header .Get ("Content-Type" )
227
+ if got , want := headerContentType , trts .ContentType ; got != want {
228
+ t .Errorf ("got %v but want %v" , got , want )
229
+ }
230
+ body , err := ioutil .ReadAll (r .Body )
231
+ if err != nil {
232
+ t .Fatalf ("Failed reading request body: %s." , err )
233
+ }
234
+ if got , want := string (body ), trts .Body ; got != want {
235
+ t .Errorf ("Unexpected exchange payload: got %v but want %v" , got , want )
236
+ }
237
+ w .Header ().Set ("Content-Type" , "application/json" )
238
+ if trts .ResponsePayload != nil {
239
+ content , err := json .Marshal (trts .ResponsePayload )
240
+ if err != nil {
241
+ t .Fatalf ("unable to marshall response JSON" )
242
+ }
243
+ w .Write (content )
244
+ } else {
245
+ w .Write ([]byte (trts .Response ))
246
+ }
247
+ }))
248
+ return trts .server .URL , nil
249
+ }
250
+
251
+ func (trts * testRefreshTokenServer ) close (t * testing.T ) error {
252
+ t .Helper ()
253
+ if trts .server == nil {
254
+ return errors .New ("No server is running" )
255
+ }
256
+ trts .server .Close ()
257
+ trts .server = nil
258
+ return nil
259
+ }
0 commit comments