OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 // A complete set of unit tests for OAuth2AccessTokenFetcher. | 5 // A complete set of unit tests for OAuth2AccessTokenFetcher. |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 using content::BrowserThread; | 28 using content::BrowserThread; |
29 using content::URLFetcher; | 29 using content::URLFetcher; |
30 using content::URLFetcherDelegate; | 30 using content::URLFetcherDelegate; |
31 using content::URLFetcherFactory; | 31 using content::URLFetcherFactory; |
32 using net::ResponseCookies; | 32 using net::ResponseCookies; |
33 using net::URLRequestStatus; | 33 using net::URLRequestStatus; |
34 using testing::_; | 34 using testing::_; |
35 using testing::Return; | 35 using testing::Return; |
36 | 36 |
37 namespace { | 37 namespace { |
| 38 |
38 typedef std::vector<std::string> ScopeList; | 39 typedef std::vector<std::string> ScopeList; |
39 | 40 |
40 static const char kValidTokenResponse[] = | 41 static const char kValidTokenResponse[] = |
41 "{" | 42 "{" |
42 " \"access_token\": \"at1\"," | 43 " \"access_token\": \"at1\"," |
43 " \"expires_in\": 3600," | 44 " \"expires_in\": 3600," |
44 " \"token_type\": \"Bearer\"" | 45 " \"token_type\": \"Bearer\"" |
45 "}"; | 46 "}"; |
46 static const char kTokenResponseNoAccessToken[] = | 47 static const char kTokenResponseNoAccessToken[] = |
47 "{" | 48 "{" |
48 " \"expires_in\": 3600," | 49 " \"expires_in\": 3600," |
49 " \"token_type\": \"Bearer\"" | 50 " \"token_type\": \"Bearer\"" |
50 "}"; | 51 "}"; |
51 } | |
52 | 52 |
53 class MockUrlFetcherFactory : public ScopedURLFetcherFactory, | 53 class MockUrlFetcherFactory : public ScopedURLFetcherFactory, |
54 public URLFetcherFactory { | 54 public URLFetcherFactory { |
55 public: | 55 public: |
56 MockUrlFetcherFactory() | 56 MockUrlFetcherFactory() |
57 : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { | 57 : ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { |
58 } | 58 } |
59 virtual ~MockUrlFetcherFactory() {} | 59 virtual ~MockUrlFetcherFactory() {} |
60 | 60 |
61 MOCK_METHOD4( | 61 MOCK_METHOD4( |
62 CreateURLFetcher, | 62 CreateURLFetcher, |
63 URLFetcher* (int id, | 63 URLFetcher* (int id, |
64 const GURL& url, | 64 const GURL& url, |
65 URLFetcher::RequestType request_type, | 65 URLFetcher::RequestType request_type, |
66 URLFetcherDelegate* d)); | 66 URLFetcherDelegate* d)); |
67 }; | 67 }; |
68 | 68 |
69 class MockOAuth2AccessTokenConsumer : public OAuth2AccessTokenConsumer { | 69 class MockOAuth2AccessTokenConsumer : public OAuth2AccessTokenConsumer { |
70 public: | 70 public: |
71 MockOAuth2AccessTokenConsumer() {} | 71 MockOAuth2AccessTokenConsumer() {} |
72 ~MockOAuth2AccessTokenConsumer() {} | 72 ~MockOAuth2AccessTokenConsumer() {} |
73 | 73 |
74 MOCK_METHOD1(OnGetTokenSuccess, void(const std::string& access_token)); | 74 MOCK_METHOD1(OnGetTokenSuccess, void(const std::string& access_token)); |
75 MOCK_METHOD1(OnGetTokenFailure, | 75 MOCK_METHOD1(OnGetTokenFailure, |
76 void(const GoogleServiceAuthError& error)); | 76 void(const GoogleServiceAuthError& error)); |
77 }; | 77 }; |
78 | 78 |
| 79 } // namespace |
| 80 |
79 class OAuth2AccessTokenFetcherTest : public testing::Test { | 81 class OAuth2AccessTokenFetcherTest : public testing::Test { |
80 public: | 82 public: |
81 OAuth2AccessTokenFetcherTest() | 83 OAuth2AccessTokenFetcherTest() |
82 : ui_thread_(BrowserThread::UI, &message_loop_), | 84 : ui_thread_(BrowserThread::UI, &message_loop_), |
83 fetcher_(&consumer_, profile_.GetRequestContext()) { | 85 fetcher_(&consumer_, profile_.GetRequestContext()) { |
84 } | 86 } |
85 | 87 |
86 virtual ~OAuth2AccessTokenFetcherTest() { } | 88 virtual ~OAuth2AccessTokenFetcherTest() { } |
87 | 89 |
88 virtual TestURLFetcher* SetupGetAccessToken( | 90 virtual TestURLFetcher* SetupGetAccessToken( |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 { // Valid json: all good. | 218 { // Valid json: all good. |
217 TestURLFetcher url_fetcher(0, GURL("www.google.com"), NULL); | 219 TestURLFetcher url_fetcher(0, GURL("www.google.com"), NULL); |
218 url_fetcher.SetResponseString(kValidTokenResponse); | 220 url_fetcher.SetResponseString(kValidTokenResponse); |
219 | 221 |
220 std::string at; | 222 std::string at; |
221 EXPECT_TRUE(OAuth2AccessTokenFetcher::ParseGetAccessTokenResponse( | 223 EXPECT_TRUE(OAuth2AccessTokenFetcher::ParseGetAccessTokenResponse( |
222 &url_fetcher, &at)); | 224 &url_fetcher, &at)); |
223 EXPECT_EQ("at1", at); | 225 EXPECT_EQ("at1", at); |
224 } | 226 } |
225 } | 227 } |
OLD | NEW |