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