Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Side by Side Diff: chrome/browser/signin/oauth2_token_service_unittest.cc

Issue 16173008: Reland 203015 "Add ManagedUserTokenFetcher to fetch scoped-down ..." (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/signin/oauth2_token_service.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <string> 5 #include <string>
6 6
7 #include "base/stringprintf.h" 7 #include "base/stringprintf.h"
8 #include "chrome/browser/signin/oauth2_token_service.h" 8 #include "chrome/browser/signin/oauth2_token_service.h"
9 #include "chrome/browser/signin/oauth2_token_service_test_util.h" 9 #include "chrome/browser/signin/oauth2_token_service_test_util.h"
10 #include "chrome/browser/signin/token_service_factory.h" 10 #include "chrome/browser/signin/token_service_factory.h"
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 TEST_F(OAuth2TokenServiceTest, RetryingConsumer) { 398 TEST_F(OAuth2TokenServiceTest, RetryingConsumer) {
399 oauth2_service_->set_refresh_token("refreshToken"); 399 oauth2_service_->set_refresh_token("refreshToken");
400 RetryingTestingOAuth2TokenServiceConsumer consumer(oauth2_service_.get()); 400 RetryingTestingOAuth2TokenServiceConsumer consumer(oauth2_service_.get());
401 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( 401 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest(
402 std::set<std::string>(), &consumer)); 402 std::set<std::string>(), &consumer));
403 message_loop_.RunUntilIdle(); 403 message_loop_.RunUntilIdle();
404 EXPECT_EQ(0, consumer.number_of_successful_tokens_); 404 EXPECT_EQ(0, consumer.number_of_successful_tokens_);
405 EXPECT_EQ(0, consumer.number_of_errors_); 405 EXPECT_EQ(0, consumer.number_of_errors_);
406 406
407 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 407 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
408 EXPECT_TRUE(fetcher); 408 ASSERT_TRUE(fetcher);
409 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); 409 fetcher->set_response_code(net::HTTP_UNAUTHORIZED);
410 fetcher->SetResponseString(std::string()); 410 fetcher->SetResponseString(std::string());
411 fetcher->delegate()->OnURLFetchComplete(fetcher); 411 fetcher->delegate()->OnURLFetchComplete(fetcher);
412 EXPECT_EQ(0, consumer.number_of_successful_tokens_); 412 EXPECT_EQ(0, consumer.number_of_successful_tokens_);
413 EXPECT_EQ(1, consumer.number_of_errors_); 413 EXPECT_EQ(1, consumer.number_of_errors_);
414 414
415 fetcher = factory_.GetFetcherByID(0); 415 fetcher = factory_.GetFetcherByID(0);
416 EXPECT_TRUE(fetcher); 416 ASSERT_TRUE(fetcher);
417 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); 417 fetcher->set_response_code(net::HTTP_UNAUTHORIZED);
418 fetcher->SetResponseString(std::string()); 418 fetcher->SetResponseString(std::string());
419 fetcher->delegate()->OnURLFetchComplete(fetcher); 419 fetcher->delegate()->OnURLFetchComplete(fetcher);
420 EXPECT_EQ(0, consumer.number_of_successful_tokens_); 420 EXPECT_EQ(0, consumer.number_of_successful_tokens_);
421 EXPECT_EQ(2, consumer.number_of_errors_); 421 EXPECT_EQ(2, consumer.number_of_errors_);
422 } 422 }
423
424 TEST_F(OAuth2TokenServiceTest, InvalidateToken) {
425 std::set<std::string> scopes;
426 oauth2_service_->set_refresh_token("refreshToken");
427
428 // First request.
429 scoped_ptr<OAuth2TokenService::Request> request(
430 oauth2_service_->StartRequest(scopes, &consumer_));
431 message_loop_.RunUntilIdle();
432
433 EXPECT_EQ(0, consumer_.number_of_successful_tokens_);
434 EXPECT_EQ(0, consumer_.number_of_errors_);
435 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
436 EXPECT_TRUE(fetcher);
437 fetcher->set_response_code(net::HTTP_OK);
438 fetcher->SetResponseString(GetValidTokenResponse("token", 3600));
439 fetcher->delegate()->OnURLFetchComplete(fetcher);
440 EXPECT_EQ(1, consumer_.number_of_successful_tokens_);
441 EXPECT_EQ(0, consumer_.number_of_errors_);
442 EXPECT_EQ("token", consumer_.last_token_);
443
444 // Second request, should return the same token without needing a network
445 // request.
446 scoped_ptr<OAuth2TokenService::Request> request2(
447 oauth2_service_->StartRequest(scopes, &consumer_));
448 message_loop_.RunUntilIdle();
449
450 // No new network fetcher.
451 EXPECT_EQ(fetcher, factory_.GetFetcherByID(0));
452 EXPECT_EQ(2, consumer_.number_of_successful_tokens_);
453 EXPECT_EQ(0, consumer_.number_of_errors_);
454 EXPECT_EQ("token", consumer_.last_token_);
455
456 // Invalidating the token should return a new token on the next request.
457 oauth2_service_->InvalidateToken(scopes, consumer_.last_token_);
458 scoped_ptr<OAuth2TokenService::Request> request3(
459 oauth2_service_->StartRequest(scopes, &consumer_));
460 message_loop_.RunUntilIdle();
461 EXPECT_EQ(2, consumer_.number_of_successful_tokens_);
462 EXPECT_EQ(0, consumer_.number_of_errors_);
463 fetcher = factory_.GetFetcherByID(0);
464 EXPECT_TRUE(fetcher);
465 fetcher->set_response_code(net::HTTP_OK);
466 fetcher->SetResponseString(GetValidTokenResponse("token2", 3600));
467 fetcher->delegate()->OnURLFetchComplete(fetcher);
468 EXPECT_EQ(3, consumer_.number_of_successful_tokens_);
469 EXPECT_EQ(0, consumer_.number_of_errors_);
470 EXPECT_EQ("token2", consumer_.last_token_);
471 }
OLDNEW
« no previous file with comments | « chrome/browser/signin/oauth2_token_service.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698