| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library credentials_test; | 5 library credentials_test; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:io'; | 8 import 'dart:io'; |
| 9 import 'dart:json' as JSON; | 9 import 'dart:json' as JSON; |
| 10 import 'dart:uri'; | 10 import 'dart:uri'; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 expect(request.method, equals('POST')); | 69 expect(request.method, equals('POST')); |
| 70 expect(request.url.toString(), equals(tokenEndpoint.toString())); | 70 expect(request.url.toString(), equals(tokenEndpoint.toString())); |
| 71 expect(request.bodyFields, equals({ | 71 expect(request.bodyFields, equals({ |
| 72 "grant_type": "refresh_token", | 72 "grant_type": "refresh_token", |
| 73 "refresh_token": "refresh token", | 73 "refresh_token": "refresh token", |
| 74 "scope": "scope1 scope2", | 74 "scope": "scope1 scope2", |
| 75 "client_id": "identifier", | 75 "client_id": "identifier", |
| 76 "client_secret": "secret" | 76 "client_secret": "secret" |
| 77 })); | 77 })); |
| 78 | 78 |
| 79 return new Future.immediate(new http.Response(JSON.stringify({ | 79 return new Future.value(new http.Response(JSON.stringify({ |
| 80 'access_token': 'new access token', | 80 'access_token': 'new access token', |
| 81 'token_type': 'bearer', | 81 'token_type': 'bearer', |
| 82 'refresh_token': 'new refresh token' | 82 'refresh_token': 'new refresh token' |
| 83 }), 200, headers: {'content-type': 'application/json'})); | 83 }), 200, headers: {'content-type': 'application/json'})); |
| 84 }); | 84 }); |
| 85 | 85 |
| 86 | 86 |
| 87 expect(credentials.refresh('identifier', 'secret', httpClient: httpClient) | 87 expect(credentials.refresh('identifier', 'secret', httpClient: httpClient) |
| 88 .then((credentials) { | 88 .then((credentials) { |
| 89 expect(credentials.accessToken, equals('new access token')); | 89 expect(credentials.accessToken, equals('new access token')); |
| 90 expect(credentials.refreshToken, equals('new refresh token')); | 90 expect(credentials.refreshToken, equals('new refresh token')); |
| 91 }), completes); | 91 }), completes); |
| 92 }); | 92 }); |
| 93 | 93 |
| 94 test("uses the old refresh token if a new one isn't provided", () { | 94 test("uses the old refresh token if a new one isn't provided", () { |
| 95 var credentials = new oauth2.Credentials( | 95 var credentials = new oauth2.Credentials( |
| 96 'access token', 'refresh token', tokenEndpoint); | 96 'access token', 'refresh token', tokenEndpoint); |
| 97 expect(credentials.canRefresh, true); | 97 expect(credentials.canRefresh, true); |
| 98 | 98 |
| 99 httpClient.expectRequest((request) { | 99 httpClient.expectRequest((request) { |
| 100 expect(request.method, equals('POST')); | 100 expect(request.method, equals('POST')); |
| 101 expect(request.url.toString(), equals(tokenEndpoint.toString())); | 101 expect(request.url.toString(), equals(tokenEndpoint.toString())); |
| 102 expect(request.bodyFields, equals({ | 102 expect(request.bodyFields, equals({ |
| 103 "grant_type": "refresh_token", | 103 "grant_type": "refresh_token", |
| 104 "refresh_token": "refresh token", | 104 "refresh_token": "refresh token", |
| 105 "client_id": "identifier", | 105 "client_id": "identifier", |
| 106 "client_secret": "secret" | 106 "client_secret": "secret" |
| 107 })); | 107 })); |
| 108 | 108 |
| 109 return new Future.immediate(new http.Response(JSON.stringify({ | 109 return new Future.value(new http.Response(JSON.stringify({ |
| 110 'access_token': 'new access token', | 110 'access_token': 'new access token', |
| 111 'token_type': 'bearer' | 111 'token_type': 'bearer' |
| 112 }), 200, headers: {'content-type': 'application/json'})); | 112 }), 200, headers: {'content-type': 'application/json'})); |
| 113 }); | 113 }); |
| 114 | 114 |
| 115 | 115 |
| 116 expect(credentials.refresh('identifier', 'secret', httpClient: httpClient) | 116 expect(credentials.refresh('identifier', 'secret', httpClient: httpClient) |
| 117 .then((credentials) { | 117 .then((credentials) { |
| 118 expect(credentials.accessToken, equals('new access token')); | 118 expect(credentials.accessToken, equals('new access token')); |
| 119 expect(credentials.refreshToken, equals('refresh token')); | 119 expect(credentials.refreshToken, equals('refresh token')); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 expect(() => fromMap({"accessToken": "foo", "scopes": 12}), | 171 expect(() => fromMap({"accessToken": "foo", "scopes": 12}), |
| 172 throwsFormatException); | 172 throwsFormatException); |
| 173 }); | 173 }); |
| 174 | 174 |
| 175 test("should throw a FormatException if expiration is not an int", () { | 175 test("should throw a FormatException if expiration is not an int", () { |
| 176 expect(() => fromMap({"accessToken": "foo", "expiration": "12"}), | 176 expect(() => fromMap({"accessToken": "foo", "expiration": "12"}), |
| 177 throwsFormatException); | 177 throwsFormatException); |
| 178 }); | 178 }); |
| 179 }); | 179 }); |
| 180 } | 180 } |
| OLD | NEW |