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

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

Issue 15977002: Add ManagedUserTokenFetcher to fetch scoped-down tokens. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: test 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 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 TEST_F(OAuth2TokenServiceTest, RetryingConsumer) { 397 TEST_F(OAuth2TokenServiceTest, RetryingConsumer) {
398 oauth2_service_->set_refresh_token("refreshToken"); 398 oauth2_service_->set_refresh_token("refreshToken");
399 RetryingTestingOAuth2TokenServiceConsumer consumer(oauth2_service_.get()); 399 RetryingTestingOAuth2TokenServiceConsumer consumer(oauth2_service_.get());
400 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest( 400 scoped_ptr<OAuth2TokenService::Request> request(oauth2_service_->StartRequest(
401 std::set<std::string>(), &consumer)); 401 std::set<std::string>(), &consumer));
402 message_loop_.RunUntilIdle(); 402 message_loop_.RunUntilIdle();
403 EXPECT_EQ(0, consumer.number_of_successful_tokens_); 403 EXPECT_EQ(0, consumer.number_of_successful_tokens_);
404 EXPECT_EQ(0, consumer.number_of_errors_); 404 EXPECT_EQ(0, consumer.number_of_errors_);
405 405
406 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0); 406 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
407 EXPECT_TRUE(fetcher); 407 ASSERT_TRUE(fetcher);
408 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); 408 fetcher->set_response_code(net::HTTP_UNAUTHORIZED);
409 fetcher->SetResponseString(std::string()); 409 fetcher->SetResponseString(std::string());
410 fetcher->delegate()->OnURLFetchComplete(fetcher); 410 fetcher->delegate()->OnURLFetchComplete(fetcher);
411 EXPECT_EQ(0, consumer.number_of_successful_tokens_); 411 EXPECT_EQ(0, consumer.number_of_successful_tokens_);
412 EXPECT_EQ(1, consumer.number_of_errors_); 412 EXPECT_EQ(1, consumer.number_of_errors_);
413 413
414 fetcher = factory_.GetFetcherByID(0); 414 fetcher = factory_.GetFetcherByID(0);
415 EXPECT_TRUE(fetcher); 415 ASSERT_TRUE(fetcher);
416 fetcher->set_response_code(net::HTTP_UNAUTHORIZED); 416 fetcher->set_response_code(net::HTTP_UNAUTHORIZED);
417 fetcher->SetResponseString(std::string()); 417 fetcher->SetResponseString(std::string());
418 fetcher->delegate()->OnURLFetchComplete(fetcher); 418 fetcher->delegate()->OnURLFetchComplete(fetcher);
419 EXPECT_EQ(0, consumer.number_of_successful_tokens_); 419 EXPECT_EQ(0, consumer.number_of_successful_tokens_);
420 EXPECT_EQ(2, consumer.number_of_errors_); 420 EXPECT_EQ(2, consumer.number_of_errors_);
421 } 421 }
422
423 TEST_F(OAuth2TokenServiceTest, InvalidateToken) {
424 std::set<std::string> scopes;
425 oauth2_service_->set_refresh_token("refreshToken");
426
427 // First request.
428 scoped_ptr<OAuth2TokenService::Request> request(
429 oauth2_service_->StartRequest(scopes, &consumer_));
430 message_loop_.RunUntilIdle();
431
432 EXPECT_EQ(0, consumer_.number_of_successful_tokens_);
433 EXPECT_EQ(0, consumer_.number_of_errors_);
434 net::TestURLFetcher* fetcher = factory_.GetFetcherByID(0);
435 EXPECT_TRUE(fetcher);
436 fetcher->set_response_code(net::HTTP_OK);
437 fetcher->SetResponseString(GetValidTokenResponse("token", 3600));
438 fetcher->delegate()->OnURLFetchComplete(fetcher);
439 EXPECT_EQ(1, consumer_.number_of_successful_tokens_);
440 EXPECT_EQ(0, consumer_.number_of_errors_);
441 EXPECT_EQ("token", consumer_.last_token_);
442
443 // Second request, should return the same token without needing a network
444 // request.
445 scoped_ptr<OAuth2TokenService::Request> request2(
446 oauth2_service_->StartRequest(scopes, &consumer_));
447 message_loop_.RunUntilIdle();
448
449 // No new network fetcher.
450 EXPECT_EQ(fetcher, factory_.GetFetcherByID(0));
451 EXPECT_EQ(2, consumer_.number_of_successful_tokens_);
452 EXPECT_EQ(0, consumer_.number_of_errors_);
453 EXPECT_EQ("token", consumer_.last_token_);
454
455 // Invalidating the token should return a new token on the next request.
456 oauth2_service_->InvalidateToken(scopes, consumer_.last_token_);
457 scoped_ptr<OAuth2TokenService::Request> request3(
458 oauth2_service_->StartRequest(scopes, &consumer_));
459 message_loop_.RunUntilIdle();
460 EXPECT_EQ(2, consumer_.number_of_successful_tokens_);
461 EXPECT_EQ(0, consumer_.number_of_errors_);
462 fetcher = factory_.GetFetcherByID(0);
463 EXPECT_TRUE(fetcher);
464 fetcher->set_response_code(net::HTTP_OK);
465 fetcher->SetResponseString(GetValidTokenResponse("token2", 3600));
466 fetcher->delegate()->OnURLFetchComplete(fetcher);
467 EXPECT_EQ(3, consumer_.number_of_successful_tokens_);
468 EXPECT_EQ(0, consumer_.number_of_errors_);
469 EXPECT_EQ("token2", consumer_.last_token_);
470 }
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