Chromium Code Reviews| Index: google_apis/gaia/fake_gaia.h |
| diff --git a/google_apis/gaia/fake_gaia.h b/google_apis/gaia/fake_gaia.h |
| index de4201f73372e5f5436a903955a99444441f79f8..7be3f4f9911b26de058eb4002d7786da9edfeb5a 100644 |
| --- a/google_apis/gaia/fake_gaia.h |
| +++ b/google_apis/gaia/fake_gaia.h |
| @@ -10,6 +10,7 @@ |
| #include <string> |
| #include "base/basictypes.h" |
| +#include "base/callback.h" |
| #include "base/memory/scoped_ptr.h" |
| namespace base { |
| @@ -48,6 +49,18 @@ class FakeGaia { |
| FakeGaia(); |
| ~FakeGaia(); |
| + // Sets the initial |auth_code| and OAuth2 |refresh_token| and |access_token|. |
|
Roger Tawa OOO till Jul 10th
2013/12/16 20:44:37
Nit: not not want to refer to the arg names direct
zel
2013/12/16 21:27:38
Done.
|
| + void SetAuthTokens(const std::string& auth_code, |
| + const std::string& refresh_token, |
| + const std::string& access_token, |
| + const std::string& gaia_uber_token, |
| + const std::string& session_sid_cookie, |
| + const std::string& session_lsid_cookie); |
| + |
| + // Initializes HTTP request handlers. Should be called after switches |
| + // for tweaking GaiaUrls are in place. |
| + void Initialize(); |
| + |
| // Handles a request and returns a response if the request was recognized as a |
| // GAIA request. Note that this respects the switches::kGaiaUrl and friends so |
| // that this can used with EmbeddedTestServer::RegisterRequestHandler(). |
| @@ -64,26 +77,69 @@ class FakeGaia { |
| private: |
| typedef std::multimap<std::string, AccessTokenInfo> AccessTokenInfoMap; |
| - // Formats a JSON response with the data in |response_dict|. |
| + // Formats a JSON response with the data in |response_dict|. |
|
xiyuan
2013/12/16 21:04:55
nit: change seems unintentional. revert?
zel
2013/12/16 21:27:38
Done.
|
| void FormatJSONResponse(const base::DictionaryValue& response_dict, |
| net::test_server::BasicHttpResponse* http_response); |
| + typedef base::Callback<void( |
| + const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response)> |
| + HttpRequestHandlerCallback; |
| + typedef std::map<std::string, HttpRequestHandlerCallback> RequestHandlerMap; |
| + |
| + // HTTP request handlers. |
| + void HandleProgramaticAuth( |
| + const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response); |
| + void HandleServiceLogin(const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response); |
| + void HandleOAuthLogin(const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response); |
| + void HandleMergeSession(const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response); |
| + void HandleServiceLoginAuth( |
| + const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response); |
| + void HandleAuthToken(const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response); |
| + void HandleTokenInfo(const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response); |
| + void HandleIssueToken(const net::test_server::HttpRequest& request, |
| + net::test_server::BasicHttpResponse* http_response); |
| + |
| // Returns the access token associated with |auth_token| that matches the |
| // given |client_id| and |scope_string|. If |scope_string| is empty, the first |
| // token satisfying the other criteria is returned. Returns NULL if no token |
| // matches. |
| - const AccessTokenInfo* GetAccessTokenInfo(const std::string& auth_token, |
| - const std::string& client_id, |
| - const std::string& scope_string) |
| + const AccessTokenInfo* FindAccessTokenInfo(const std::string& auth_token, |
| + const std::string& client_id, |
| + const std::string& scope_string) |
| const; |
| + // Extracts the |access_token| from authorization header of |request|. |
| + static bool GetAccessToken(const net::test_server::HttpRequest& request, |
| + const char* auth_token_prefix, |
| + std::string* access_token); |
| + |
| // Extracts the parameter named |key| from |query| and places it in |value|. |
| // Returns false if no parameter is found. |
| static bool GetQueryParameter(const std::string& query, |
| const std::string& key, |
| std::string* value); |
| + // auth_code cookie value response for /o/oauth2/programmatic_auth call. |
| + std::string fake_auth_code_; |
| + |
| + // refresh_token field value response for the initial /o/oauth2/token call |
| + // with ...&grant_type=authorization_code. |
| + std::string fake_refresh_token_; |
| + std::string fake_access_token_; |
| + std::string fake_gaia_uber_token_; |
| + std::string fake_session_sid_cookie_; |
| + std::string fake_session_lsid_cookie_; |
| + |
| AccessTokenInfoMap access_token_info_map_; |
| + RequestHandlerMap request_handlers_; |
| std::string service_login_response_; |
| DISALLOW_COPY_AND_ASSIGN(FakeGaia); |