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/profile_oauth2_token_service.h" | 10 #include "chrome/browser/signin/profile_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 19 matching lines...) Expand all Loading... |
115 } | 116 } |
116 | 117 |
117 MockProfileOAuth2TokenService::MockProfileOAuth2TokenService() | 118 MockProfileOAuth2TokenService::MockProfileOAuth2TokenService() |
118 : success_(true), | 119 : success_(true), |
119 oauth2_access_token_(std::string("success token")) { | 120 oauth2_access_token_(std::string("success token")) { |
120 } | 121 } |
121 | 122 |
122 MockProfileOAuth2TokenService::~MockProfileOAuth2TokenService() { | 123 MockProfileOAuth2TokenService::~MockProfileOAuth2TokenService() { |
123 } | 124 } |
124 | 125 |
125 void MockProfileOAuth2TokenService::SetExpectation(bool success, | 126 void MockProfileOAuth2TokenService::SetExpectation( |
126 std::string oauth2_access_token) { | 127 bool success, |
| 128 std::string oauth2_access_token) { |
127 success_ = success; | 129 success_ = success; |
128 oauth2_access_token_ = oauth2_access_token; | 130 oauth2_access_token_ = oauth2_access_token; |
129 } | 131 } |
130 | 132 |
131 // static | 133 // static |
132 void MockProfileOAuth2TokenService::InformConsumer( | 134 void MockProfileOAuth2TokenService::InformConsumer( |
133 base::WeakPtr<MockProfileOAuth2TokenService::Request> request) { | 135 base::WeakPtr<MockProfileOAuth2TokenService::Request> request) { |
134 if (request.get()) | 136 if (request.get()) |
135 request->InformConsumer(); | 137 request->InformConsumer(); |
136 } | 138 } |
137 | 139 |
138 scoped_ptr<OAuth2TokenService::Request> | 140 scoped_ptr<OAuth2TokenService::Request> |
139 MockProfileOAuth2TokenService::StartRequest( | 141 MockProfileOAuth2TokenService::StartRequest( |
140 const std::set<std::string>& scopes, | 142 const std::string& account_id, |
| 143 const OAuth2TokenService::ScopeSet& scopes, |
141 OAuth2TokenService::Consumer* consumer) { | 144 OAuth2TokenService::Consumer* consumer) { |
142 scoped_ptr<Request> request; | 145 scoped_ptr<Request> request; |
143 if (success_) { | 146 if (success_) { |
144 request.reset(new MockProfileOAuth2TokenService::Request( | 147 request.reset(new MockProfileOAuth2TokenService::Request( |
145 consumer, | 148 consumer, |
146 GoogleServiceAuthError(GoogleServiceAuthError::NONE), | 149 GoogleServiceAuthError(GoogleServiceAuthError::NONE), |
147 oauth2_access_token_)); | 150 oauth2_access_token_)); |
148 } else { | 151 } else { |
149 request.reset(new MockProfileOAuth2TokenService::Request( | 152 request.reset(new MockProfileOAuth2TokenService::Request( |
150 consumer, | 153 consumer, |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 oauth2_service_ = (MockProfileOAuth2TokenService*) | 192 oauth2_service_ = (MockProfileOAuth2TokenService*) |
190 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get()); | 193 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_.get()); |
191 } | 194 } |
192 | 195 |
193 TEST_F(ProfileOAuth2TokenServiceRequestTest, | 196 TEST_F(ProfileOAuth2TokenServiceRequestTest, |
194 Failure) { | 197 Failure) { |
195 oauth2_service_->SetExpectation(false, std::string()); | 198 oauth2_service_->SetExpectation(false, std::string()); |
196 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( | 199 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( |
197 ProfileOAuth2TokenServiceRequest::CreateAndStart( | 200 ProfileOAuth2TokenServiceRequest::CreateAndStart( |
198 profile_.get(), | 201 profile_.get(), |
199 std::set<std::string>(), | 202 std::string(), |
| 203 OAuth2TokenService::ScopeSet(), |
200 &consumer_)); | 204 &consumer_)); |
201 ui_loop_.RunUntilIdle(); | 205 ui_loop_.RunUntilIdle(); |
202 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); | 206 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); |
203 EXPECT_EQ(1, consumer_.number_of_errors_); | 207 EXPECT_EQ(1, consumer_.number_of_errors_); |
204 } | 208 } |
205 | 209 |
206 TEST_F(ProfileOAuth2TokenServiceRequestTest, | 210 TEST_F(ProfileOAuth2TokenServiceRequestTest, |
207 Success) { | 211 Success) { |
208 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( | 212 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( |
209 ProfileOAuth2TokenServiceRequest::CreateAndStart( | 213 ProfileOAuth2TokenServiceRequest::CreateAndStart( |
210 profile_.get(), | 214 profile_.get(), |
211 std::set<std::string>(), | 215 std::string(), |
| 216 OAuth2TokenService::ScopeSet(), |
212 &consumer_)); | 217 &consumer_)); |
213 ui_loop_.RunUntilIdle(); | 218 ui_loop_.RunUntilIdle(); |
214 EXPECT_EQ(1, consumer_.number_of_successful_tokens_); | 219 EXPECT_EQ(1, consumer_.number_of_successful_tokens_); |
215 EXPECT_EQ("success token", consumer_.last_token_); | 220 EXPECT_EQ("success token", consumer_.last_token_); |
216 EXPECT_EQ(0, consumer_.number_of_errors_); | 221 EXPECT_EQ(0, consumer_.number_of_errors_); |
217 } | 222 } |
218 | 223 |
219 TEST_F(ProfileOAuth2TokenServiceRequestTest, | 224 TEST_F(ProfileOAuth2TokenServiceRequestTest, |
220 RequestDeletionBeforeServiceComplete) { | 225 RequestDeletionBeforeServiceComplete) { |
221 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( | 226 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( |
222 ProfileOAuth2TokenServiceRequest::CreateAndStart( | 227 ProfileOAuth2TokenServiceRequest::CreateAndStart( |
223 profile_.get(), | 228 profile_.get(), |
224 std::set<std::string>(), | 229 std::string(), |
| 230 OAuth2TokenService::ScopeSet(), |
225 &consumer_)); | 231 &consumer_)); |
226 request.reset(); | 232 request.reset(); |
227 ui_loop_.RunUntilIdle(); | 233 ui_loop_.RunUntilIdle(); |
228 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); | 234 EXPECT_EQ(0, consumer_.number_of_successful_tokens_); |
229 EXPECT_EQ(0, consumer_.number_of_errors_); | 235 EXPECT_EQ(0, consumer_.number_of_errors_); |
230 } | 236 } |
231 | 237 |
232 TEST_F(ProfileOAuth2TokenServiceRequestTest, | 238 TEST_F(ProfileOAuth2TokenServiceRequestTest, |
233 RequestDeletionAfterServiceComplete) { | 239 RequestDeletionAfterServiceComplete) { |
234 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( | 240 scoped_ptr<ProfileOAuth2TokenServiceRequest> request( |
235 ProfileOAuth2TokenServiceRequest::CreateAndStart( | 241 ProfileOAuth2TokenServiceRequest::CreateAndStart( |
236 profile_.get(), | 242 profile_.get(), |
237 std::set<std::string>(), | 243 std::string(), |
| 244 OAuth2TokenService::ScopeSet(), |
238 &consumer_)); | 245 &consumer_)); |
239 ui_loop_.RunUntilIdle(); | 246 ui_loop_.RunUntilIdle(); |
240 request.reset(); | 247 request.reset(); |
241 EXPECT_EQ(1, consumer_.number_of_successful_tokens_); | 248 EXPECT_EQ(1, consumer_.number_of_successful_tokens_); |
242 EXPECT_EQ(0, consumer_.number_of_errors_); | 249 EXPECT_EQ(0, consumer_.number_of_errors_); |
243 } | 250 } |
244 | 251 |
245 } // namespace | 252 } // namespace |
OLD | NEW |