| 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 |