OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 #include "chrome/browser/signin/profile_oauth2_token_service_request.h" | 4 #include "chrome/browser/signin/profile_oauth2_token_service_request.h" |
5 | 5 |
6 #include <set> | 6 #include <set> |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 #include "base/threading/thread.h" | 9 #include "base/threading/thread.h" |
10 #include "chrome/browser/signin/oauth2_token_service.h" | 10 #include "chrome/browser/signin/oauth2_token_service.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 OAuth2TokenService::Consumer* consumer_; | 75 OAuth2TokenService::Consumer* consumer_; |
76 GoogleServiceAuthError error_; | 76 GoogleServiceAuthError error_; |
77 std::string access_token_; | 77 std::string access_token_; |
78 base::Time expiration_date_; | 78 base::Time expiration_date_; |
79 }; | 79 }; |
80 | 80 |
81 MockProfileOAuth2TokenService(); | 81 MockProfileOAuth2TokenService(); |
82 virtual ~MockProfileOAuth2TokenService(); | 82 virtual ~MockProfileOAuth2TokenService(); |
83 | 83 |
84 virtual scoped_ptr<OAuth2TokenService::Request> StartRequest( | 84 virtual scoped_ptr<OAuth2TokenService::Request> StartRequest( |
85 const std::set<std::string>& scopes, | 85 const std::string& account_id, |
| 86 const OAuth2TokenService::ScopeSet& scopes, |
86 OAuth2TokenService::Consumer* consumer) OVERRIDE; | 87 OAuth2TokenService::Consumer* consumer) OVERRIDE; |
87 | 88 |
88 void SetExpectation(bool success, std::string oauth2_access_token); | 89 void SetExpectation(bool success, std::string oauth2_access_token); |
89 | 90 |
90 private: | 91 private: |
91 static void InformConsumer( | 92 static void InformConsumer( |
92 base::WeakPtr<MockProfileOAuth2TokenService::Request> request); | 93 base::WeakPtr<MockProfileOAuth2TokenService::Request> request); |
93 | 94 |
94 bool success_; | 95 bool success_; |
95 std::string oauth2_access_token_; | 96 std::string oauth2_access_token_; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 | 131 |
131 // static | 132 // static |
132 void MockProfileOAuth2TokenService::InformConsumer( | 133 void MockProfileOAuth2TokenService::InformConsumer( |
133 base::WeakPtr<MockProfileOAuth2TokenService::Request> request) { | 134 base::WeakPtr<MockProfileOAuth2TokenService::Request> request) { |
134 if (request.get()) | 135 if (request.get()) |
135 request->InformConsumer(); | 136 request->InformConsumer(); |
136 } | 137 } |
137 | 138 |
138 scoped_ptr<OAuth2TokenService::Request> | 139 scoped_ptr<OAuth2TokenService::Request> |
139 MockProfileOAuth2TokenService::StartRequest( | 140 MockProfileOAuth2TokenService::StartRequest( |
140 const std::set<std::string>& scopes, | 141 const std::string& account_id, |
| 142 const OAuth2TokenService::ScopeSet& scopes, |
141 OAuth2TokenService::Consumer* consumer) { | 143 OAuth2TokenService::Consumer* consumer) { |
142 scoped_ptr<Request> request; | 144 scoped_ptr<Request> request; |
143 if (success_) { | 145 if (success_) { |
144 request.reset(new MockProfileOAuth2TokenService::Request( | 146 request.reset(new MockProfileOAuth2TokenService::Request( |
145 consumer, | 147 consumer, |
146 GoogleServiceAuthError(GoogleServiceAuthError::NONE), | 148 GoogleServiceAuthError(GoogleServiceAuthError::NONE), |
147 oauth2_access_token_)); | 149 oauth2_access_token_)); |
148 } else { | 150 } else { |
149 request.reset(new MockProfileOAuth2TokenService::Request( | 151 request.reset(new MockProfileOAuth2TokenService::Request( |
150 consumer, | 152 consumer, |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 oauth2_service_ = (MockProfileOAuth2TokenService*) | 189 oauth2_service_ = (MockProfileOAuth2TokenService*) |
188 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get()); | 190 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get()); |
189 } | 191 } |
190 | 192 |
191 TEST_F(ProfileOAuth2TokenServiceRequestTest, | 193 TEST_F(ProfileOAuth2TokenServiceRequestTest, |
192 Failure) { | 194 Failure) { |
193 oauth2_service_->SetExpectation(false, std::string()); | 195 oauth2_service_->SetExpectation(false, std::string()); |
194 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( | 196 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( |
195 ProfileOAuth2TokenServiceRequest::CreateAndStart( | 197 ProfileOAuth2TokenServiceRequest::CreateAndStart( |
196 profile_.get(), | 198 profile_.get(), |
197 std::set<std::string>(), | 199 std::string(), |
| 200 OAuth2TokenService::ScopeSet(), |
198 &consumer_)); | 201 &consumer_)); |
199 ui_loop_.RunUntilIdle(); | 202 ui_loop_.RunUntilIdle(); |
200 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); | 203 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); |
201 EXPECT_EQ(1, consumer_.number_of_errors_); | 204 EXPECT_EQ(1, consumer_.number_of_errors_); |
202 } | 205 } |
203 | 206 |
204 TEST_F(ProfileOAuth2TokenServiceRequestTest, | 207 TEST_F(ProfileOAuth2TokenServiceRequestTest, |
205 Success) { | 208 Success) { |
206 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( | 209 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( |
207 ProfileOAuth2TokenServiceRequest::CreateAndStart( | 210 ProfileOAuth2TokenServiceRequest::CreateAndStart( |
208 profile_.get(), | 211 profile_.get(), |
209 std::set<std::string>(), | 212 std::string(), |
| 213 OAuth2TokenService::ScopeSet(), |
210 &consumer_)); | 214 &consumer_)); |
211 ui_loop_.RunUntilIdle(); | 215 ui_loop_.RunUntilIdle(); |
212 EXPECT_EQ(1, consumer_.number_of_successful_tokens_); | 216 EXPECT_EQ(1, consumer_.number_of_successful_tokens_); |
213 EXPECT_EQ("success token", consumer_.last_token_); | 217 EXPECT_EQ("success token", consumer_.last_token_); |
214 EXPECT_EQ(0, consumer_.number_of_errors_); | 218 EXPECT_EQ(0, consumer_.number_of_errors_); |
215 } | 219 } |
216 | 220 |
217 TEST_F(ProfileOAuth2TokenServiceRequestTest, | 221 TEST_F(ProfileOAuth2TokenServiceRequestTest, |
218 RequestDeletionBeforeServiceComplete) { | 222 RequestDeletionBeforeServiceComplete) { |
219 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( | 223 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( |
220 ProfileOAuth2TokenServiceRequest::CreateAndStart( | 224 ProfileOAuth2TokenServiceRequest::CreateAndStart( |
221 profile_.get(), | 225 profile_.get(), |
222 std::set<std::string>(), | 226 std::string(), |
| 227 OAuth2TokenService::ScopeSet(), |
223 &consumer_)); | 228 &consumer_)); |
224 request.reset(); | 229 request.reset(); |
225 ui_loop_.RunUntilIdle(); | 230 ui_loop_.RunUntilIdle(); |
226 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); | 231 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); |
227 EXPECT_EQ(0, consumer_.number_of_errors_); | 232 EXPECT_EQ(0, consumer_.number_of_errors_); |
228 } | 233 } |
229 | 234 |
230 TEST_F(ProfileOAuth2TokenServiceRequestTest, | 235 TEST_F(ProfileOAuth2TokenServiceRequestTest, |
231 RequestDeletionAfterServiceComplete) { | 236 RequestDeletionAfterServiceComplete) { |
232 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( | 237 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( |
233 ProfileOAuth2TokenServiceRequest::CreateAndStart( | 238 ProfileOAuth2TokenServiceRequest::CreateAndStart( |
234 profile_.get(), | 239 profile_.get(), |
235 std::set<std::string>(), | 240 std::string(), |
| 241 OAuth2TokenService::ScopeSet(), |
236 &consumer_)); | 242 &consumer_)); |
237 ui_loop_.RunUntilIdle(); | 243 ui_loop_.RunUntilIdle(); |
238 request.reset(); | 244 request.reset(); |
239 EXPECT_EQ(1, consumer_.number_of_successful_tokens_); | 245 EXPECT_EQ(1, consumer_.number_of_successful_tokens_); |
240 EXPECT_EQ(0, consumer_.number_of_errors_); | 246 EXPECT_EQ(0, consumer_.number_of_errors_); |
241 } | 247 } |
242 | 248 |
243 } // namespace | 249 } // namespace |
OLD | NEW |