| 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 | 4 |
| 5 #include "base/stringprintf.h" | 5 #include "base/stringprintf.h" |
| 6 #include "chrome/browser/signin/oauth2_token_service.h" | 6 #include "chrome/browser/signin/oauth2_token_service.h" |
| 7 #include "chrome/browser/signin/oauth2_token_service_factory.h" | 7 #include "chrome/browser/signin/oauth2_token_service_factory.h" |
| 8 #include "chrome/browser/signin/token_service_factory.h" | 8 #include "chrome/browser/signin/token_service_factory.h" |
| 9 #include "chrome/browser/signin/token_service_unittest.h" | 9 #include "chrome/browser/signin/token_service_unittest.h" |
| 10 #include "chrome/common/chrome_notification_types.h" | 10 #include "chrome/common/chrome_notification_types.h" |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 "refreshToken"); | 131 "refreshToken"); |
| 132 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( | 132 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( |
| 133 std::set<std::string>(), &consumer_)); | 133 std::set<std::string>(), &consumer_)); |
| 134 message_loop_.RunUntilIdle(); | 134 message_loop_.RunUntilIdle(); |
| 135 | 135 |
| 136 EXPECT_EQ(0, consumer_.number_of_correct_tokens_); | 136 EXPECT_EQ(0, consumer_.number_of_correct_tokens_); |
| 137 EXPECT_EQ(0, consumer_.number_of_errors_); | 137 EXPECT_EQ(0, consumer_.number_of_errors_); |
| 138 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); | 138 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); |
| 139 EXPECT_TRUE(fetcher); | 139 EXPECT_TRUE(fetcher); |
| 140 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); | 140 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); |
| 141 fetcher->SetResponseString(""); | 141 fetcher->SetResponseString(std::string()); |
| 142 fetcher->delegate()->OnURLFetchComplete(fetcher); | 142 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| 143 EXPECT_EQ(0, consumer_.number_of_correct_tokens_); | 143 EXPECT_EQ(0, consumer_.number_of_correct_tokens_); |
| 144 EXPECT_EQ(1, consumer_.number_of_errors_); | 144 EXPECT_EQ(1, consumer_.number_of_errors_); |
| 145 EXPECT_EQ(fetcher, factory_.GetFetcherByID(0)); | 145 EXPECT_EQ(fetcher, factory_.GetFetcherByID(0)); |
| 146 } | 146 } |
| 147 | 147 |
| 148 TEST_F(OAuth2TokenServiceTest, SuccessWithoutCaching) { | 148 TEST_F(OAuth2TokenServiceTest, SuccessWithoutCaching) { |
| 149 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, | 149 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, |
| 150 "refreshToken"); | 150 "refreshToken"); |
| 151 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( | 151 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 scoped_ptr<OAuth2TokenService::Request> request2( | 244 scoped_ptr<OAuth2TokenService::Request> request2( |
| 245 oauth2_service_->StartRequest(std::set<std::string>(), &consumer_)); | 245 oauth2_service_->StartRequest(std::set<std::string>(), &consumer_)); |
| 246 message_loop_.RunUntilIdle(); | 246 message_loop_.RunUntilIdle(); |
| 247 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); | 247 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); |
| 248 EXPECT_EQ(0, consumer_.number_of_errors_); | 248 EXPECT_EQ(0, consumer_.number_of_errors_); |
| 249 | 249 |
| 250 // Network failure. | 250 // Network failure. |
| 251 fetcher = factory_.GetFetcherByID(0); | 251 fetcher = factory_.GetFetcherByID(0); |
| 252 EXPECT_TRUE(fetcher); | 252 EXPECT_TRUE(fetcher); |
| 253 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); | 253 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); |
| 254 fetcher->SetResponseString(""); | 254 fetcher->SetResponseString(std::string()); |
| 255 fetcher->delegate()->OnURLFetchComplete(fetcher); | 255 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| 256 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); | 256 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); |
| 257 EXPECT_EQ(1, consumer_.number_of_errors_); | 257 EXPECT_EQ(1, consumer_.number_of_errors_); |
| 258 } | 258 } |
| 259 | 259 |
| 260 TEST_F(OAuth2TokenServiceTest, SuccessAndExpirationAndSuccess) { | 260 TEST_F(OAuth2TokenServiceTest, SuccessAndExpirationAndSuccess) { |
| 261 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, | 261 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, |
| 262 "refreshToken"); | 262 "refreshToken"); |
| 263 | 263 |
| 264 // First request. | 264 // First request. |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); | 367 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); |
| 368 fetcher->set_response_code(net::HTTP_OK); | 368 fetcher->set_response_code(net::HTTP_OK); |
| 369 fetcher->SetResponseString(GetValidTokenResponse("token", 3600)); | 369 fetcher->SetResponseString(GetValidTokenResponse("token", 3600)); |
| 370 fetcher->delegate()->OnURLFetchComplete(fetcher); | 370 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| 371 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); | 371 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); |
| 372 EXPECT_EQ(0, consumer_.number_of_errors_); | 372 EXPECT_EQ(0, consumer_.number_of_errors_); |
| 373 EXPECT_EQ("token", consumer_.last_token_); | 373 EXPECT_EQ("token", consumer_.last_token_); |
| 374 | 374 |
| 375 // Signs out | 375 // Signs out |
| 376 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, | 376 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, |
| 377 ""); | 377 std::string()); |
| 378 service_->EraseTokensFromDB(); | 378 service_->EraseTokensFromDB(); |
| 379 | 379 |
| 380 request = oauth2_service_->StartRequest(std::set<std::string>(), &consumer_); | 380 request = oauth2_service_->StartRequest(std::set<std::string>(), &consumer_); |
| 381 message_loop_.RunUntilIdle(); | 381 message_loop_.RunUntilIdle(); |
| 382 EXPECT_EQ(fetcher, factory_.GetFetcherByID(0)); | 382 EXPECT_EQ(fetcher, factory_.GetFetcherByID(0)); |
| 383 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); | 383 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); |
| 384 EXPECT_EQ(1, consumer_.number_of_errors_); | 384 EXPECT_EQ(1, consumer_.number_of_errors_); |
| 385 } | 385 } |
| 386 | 386 |
| 387 TEST_F(OAuth2TokenServiceTest, SuccessAndSignOutAndSignInAndSuccess) { | 387 TEST_F(OAuth2TokenServiceTest, SuccessAndSignOutAndSignInAndSuccess) { |
| 388 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, | 388 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, |
| 389 "refreshToken"); | 389 "refreshToken"); |
| 390 std::set<std::string> scopes; | 390 std::set<std::string> scopes; |
| 391 scopes.insert("s1"); | 391 scopes.insert("s1"); |
| 392 scopes.insert("s2"); | 392 scopes.insert("s2"); |
| 393 | 393 |
| 394 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( | 394 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( |
| 395 scopes, &consumer_)); | 395 scopes, &consumer_)); |
| 396 message_loop_.RunUntilIdle(); | 396 message_loop_.RunUntilIdle(); |
| 397 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); | 397 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); |
| 398 fetcher->set_response_code(net::HTTP_OK); | 398 fetcher->set_response_code(net::HTTP_OK); |
| 399 fetcher->SetResponseString(GetValidTokenResponse("token", 3600)); | 399 fetcher->SetResponseString(GetValidTokenResponse("token", 3600)); |
| 400 fetcher->delegate()->OnURLFetchComplete(fetcher); | 400 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| 401 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); | 401 EXPECT_EQ(1, consumer_.number_of_correct_tokens_); |
| 402 EXPECT_EQ(0, consumer_.number_of_errors_); | 402 EXPECT_EQ(0, consumer_.number_of_errors_); |
| 403 EXPECT_EQ("token", consumer_.last_token_); | 403 EXPECT_EQ("token", consumer_.last_token_); |
| 404 | 404 |
| 405 // Signs out and signs in | 405 // Signs out and signs in |
| 406 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, | 406 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, |
| 407 ""); | 407 std::string()); |
| 408 service_->EraseTokensFromDB(); | 408 service_->EraseTokensFromDB(); |
| 409 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, | 409 service_->IssueAuthTokenForTest(GaiaConstants::kGaiaOAuth2LoginRefreshToken, |
| 410 "refreshToken"); | 410 "refreshToken"); |
| 411 | 411 |
| 412 request = oauth2_service_->StartRequest(scopes, &consumer_); | 412 request = oauth2_service_->StartRequest(scopes, &consumer_); |
| 413 message_loop_.RunUntilIdle(); | 413 message_loop_.RunUntilIdle(); |
| 414 fetcher = factory_.GetFetcherByID(0); | 414 fetcher = factory_.GetFetcherByID(0); |
| 415 fetcher->set_response_code(net::HTTP_OK); | 415 fetcher->set_response_code(net::HTTP_OK); |
| 416 fetcher->SetResponseString(GetValidTokenResponse("another token", 3600)); | 416 fetcher->SetResponseString(GetValidTokenResponse("another token", 3600)); |
| 417 fetcher->delegate()->OnURLFetchComplete(fetcher); | 417 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 479 RetryingTestingOAuth2TokenServiceConsumer consumer(oauth2_service_); | 479 RetryingTestingOAuth2TokenServiceConsumer consumer(oauth2_service_); |
| 480 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( | 480 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( |
| 481 std::set<std::string>(), &consumer)); | 481 std::set<std::string>(), &consumer)); |
| 482 message_loop_.RunUntilIdle(); | 482 message_loop_.RunUntilIdle(); |
| 483 EXPECT_EQ(0, consumer.number_of_correct_tokens_); | 483 EXPECT_EQ(0, consumer.number_of_correct_tokens_); |
| 484 EXPECT_EQ(0, consumer.number_of_errors_); | 484 EXPECT_EQ(0, consumer.number_of_errors_); |
| 485 | 485 |
| 486 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); | 486 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); |
| 487 EXPECT_TRUE(fetcher); | 487 EXPECT_TRUE(fetcher); |
| 488 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); | 488 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); |
| 489 fetcher->SetResponseString(""); | 489 fetcher->SetResponseString(std::string()); |
| 490 fetcher->delegate()->OnURLFetchComplete(fetcher); | 490 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| 491 EXPECT_EQ(0, consumer.number_of_correct_tokens_); | 491 EXPECT_EQ(0, consumer.number_of_correct_tokens_); |
| 492 EXPECT_EQ(1, consumer.number_of_errors_); | 492 EXPECT_EQ(1, consumer.number_of_errors_); |
| 493 | 493 |
| 494 fetcher = factory_.GetFetcherByID(0); | 494 fetcher = factory_.GetFetcherByID(0); |
| 495 EXPECT_TRUE(fetcher); | 495 EXPECT_TRUE(fetcher); |
| 496 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); | 496 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); |
| 497 fetcher->SetResponseString(""); | 497 fetcher->SetResponseString(std::string()); |
| 498 fetcher->delegate()->OnURLFetchComplete(fetcher); | 498 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| 499 EXPECT_EQ(0, consumer.number_of_correct_tokens_); | 499 EXPECT_EQ(0, consumer.number_of_correct_tokens_); |
| 500 EXPECT_EQ(2, consumer.number_of_errors_); | 500 EXPECT_EQ(2, consumer.number_of_errors_); |
| 501 } | 501 } |
| OLD | NEW |