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

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

Issue 136723009: Move UbertokenFetcher from //chrome to //google_apis. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 11 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
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/signin/ubertoken_fetcher.h"
6
7 #include "base/memory/scoped_ptr.h"
8 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
9 #include "chrome/browser/signin/fake_signin_manager.h"
10 #include "chrome/browser/signin/profile_oauth2_token_service.h"
11 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
12 #include "chrome/test/base/testing_profile.h"
13 #include "content/public/test/test_browser_thread_bundle.h"
14 #include "google_apis/gaia/gaia_constants.h"
15 #include "net/url_request/test_url_fetcher_factory.h"
16 #include "testing/gtest/include/gtest/gtest.h"
17
18 namespace {
19
20 const char kTestAccountId[] = "test@gmail.com";
21
22 class MockUbertokenConsumer : public UbertokenConsumer {
23 public:
24 MockUbertokenConsumer()
25 : nb_correct_token_(0),
26 last_error_(GoogleServiceAuthError::AuthErrorNone()),
27 nb_error_(0) {
28 }
29 virtual ~MockUbertokenConsumer() {}
30
31 virtual void OnUbertokenSuccess(const std::string& token) OVERRIDE {
32 last_token_ = token;
33 ++ nb_correct_token_;
34 }
35
36 virtual void OnUbertokenFailure(const GoogleServiceAuthError& error)
37 OVERRIDE {
38 last_error_ = error;
39 ++nb_error_;
40 }
41
42 std::string last_token_;
43 int nb_correct_token_;
44 GoogleServiceAuthError last_error_;
45 int nb_error_;
46 };
47
48 } // namespace
49
50 class UbertokenFetcherTest : public testing::Test {
51 public:
52 virtual void SetUp() OVERRIDE {
53 profile_ = CreateProfile();
54 fetcher_.reset(new UbertokenFetcher(profile(), &consumer_));
55 }
56
57 scoped_ptr<TestingProfile> CreateProfile() {
58 TestingProfile::Builder builder;
59 builder.AddTestingFactory(ProfileOAuth2TokenServiceFactory::GetInstance(),
60 &FakeProfileOAuth2TokenService::Build);
61 return builder.Build().Pass();
62 }
63
64 virtual void TearDown() OVERRIDE {
65 fetcher_.reset();
66 }
67
68 TestingProfile* profile() { return profile_.get(); }
69
70 protected:
71 content::TestBrowserThreadBundle thread_bundle_;
72 scoped_ptr<TestingProfile> profile_;
73 net::TestURLFetcherFactory factory_;
74 MockUbertokenConsumer consumer_;
75 scoped_ptr<UbertokenFetcher> fetcher_;
76 };
77
78 TEST_F(UbertokenFetcherTest, Basic) {
79 }
80
81 TEST_F(UbertokenFetcherTest, Success) {
82 ProfileOAuth2TokenServiceFactory::GetForProfile(profile())->
83 UpdateCredentials(kTestAccountId, "refreshToken");
84 fetcher_->StartFetchingToken(kTestAccountId);
85 fetcher_->OnGetTokenSuccess(NULL, "accessToken", base::Time());
86 fetcher_->OnUberAuthTokenSuccess("uberToken");
87 EXPECT_EQ(0, consumer_.nb_error_);
88 EXPECT_EQ(1, consumer_.nb_correct_token_);
89 EXPECT_EQ("uberToken", consumer_.last_token_);
90 }
91
92 TEST_F(UbertokenFetcherTest, NoRefreshToken) {
93 fetcher_->StartFetchingToken(kTestAccountId);
94 GoogleServiceAuthError error(GoogleServiceAuthError::USER_NOT_SIGNED_UP);
95 fetcher_->OnGetTokenFailure(NULL, error);
96 EXPECT_EQ(1, consumer_.nb_error_);
97 EXPECT_EQ(0, consumer_.nb_correct_token_);
98 }
99
100 TEST_F(UbertokenFetcherTest, FailureToGetAccessToken) {
101 GoogleServiceAuthError error(GoogleServiceAuthError::USER_NOT_SIGNED_UP);
102
103 ProfileOAuth2TokenServiceFactory::GetForProfile(profile())->
104 UpdateCredentials(kTestAccountId, "refreshToken");
105 fetcher_->StartFetchingToken(kTestAccountId);
106 fetcher_->OnGetTokenFailure(NULL, error);
107
108 EXPECT_EQ(1, consumer_.nb_error_);
109 EXPECT_EQ(0, consumer_.nb_correct_token_);
110 EXPECT_EQ("", consumer_.last_token_);
111 }
112
113 TEST_F(UbertokenFetcherTest, FailureToGetUberToken) {
114 GoogleServiceAuthError error(GoogleServiceAuthError::USER_NOT_SIGNED_UP);
115
116 ProfileOAuth2TokenServiceFactory::GetForProfile(profile())->
117 UpdateCredentials(kTestAccountId, "refreshToken");
118 fetcher_->StartFetchingToken(kTestAccountId);
119 fetcher_->OnGetTokenSuccess(NULL, "accessToken", base::Time());
120 fetcher_->OnUberAuthTokenFailure(error);
121
122 EXPECT_EQ(1, consumer_.nb_error_);
123 EXPECT_EQ(0, consumer_.nb_correct_token_);
124 EXPECT_EQ("", consumer_.last_token_);
125 }
OLDNEW
« no previous file with comments | « chrome/browser/signin/ubertoken_fetcher.cc ('k') | chrome/browser/sync/fake_oauth2_token_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698