| Index: chrome/common/net/gaia/gaia_oauth_client_unittest.cc
|
| diff --git a/chrome/common/net/gaia/gaia_oauth_client_unittest.cc b/chrome/common/net/gaia/gaia_oauth_client_unittest.cc
|
| deleted file mode 100644
|
| index df49161846b4ecfe3da442d795169bcda39e8cbb..0000000000000000000000000000000000000000
|
| --- a/chrome/common/net/gaia/gaia_oauth_client_unittest.cc
|
| +++ /dev/null
|
| @@ -1,243 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -//
|
| -// A complete set of unit tests for GaiaOAuthClient.
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/message_loop.h"
|
| -#include "base/string_number_conversions.h"
|
| -#include "base/string_util.h"
|
| -#include "chrome/common/net/gaia/gaia_oauth_client.h"
|
| -#include "chrome/test/base/testing_profile.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "net/base/net_errors.h"
|
| -#include "net/http/http_status_code.h"
|
| -#include "net/url_request/test_url_fetcher_factory.h"
|
| -#include "net/url_request/url_fetcher_delegate.h"
|
| -#include "net/url_request/url_request_status.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -using ::testing::_;
|
| -
|
| -namespace {
|
| -// Responds as though OAuth returned from the server.
|
| -class MockOAuthFetcher : public net::TestURLFetcher {
|
| - public:
|
| - MockOAuthFetcher(int response_code,
|
| - int max_failure_count,
|
| - const GURL& url,
|
| - const std::string& results,
|
| - net::URLFetcher::RequestType request_type,
|
| - net::URLFetcherDelegate* d)
|
| - : net::TestURLFetcher(0, url, d),
|
| - max_failure_count_(max_failure_count),
|
| - current_failure_count_(0) {
|
| - set_url(url);
|
| - set_response_code(response_code);
|
| - SetResponseString(results);
|
| - }
|
| -
|
| - virtual ~MockOAuthFetcher() { }
|
| -
|
| - virtual void Start() {
|
| - if ((GetResponseCode() != net::HTTP_OK) && (max_failure_count_ != -1) &&
|
| - (current_failure_count_ == max_failure_count_)) {
|
| - set_response_code(net::HTTP_OK);
|
| - }
|
| -
|
| - net::URLRequestStatus::Status code = net::URLRequestStatus::SUCCESS;
|
| - if (GetResponseCode() != net::HTTP_OK) {
|
| - code = net::URLRequestStatus::FAILED;
|
| - current_failure_count_++;
|
| - }
|
| - set_status(net::URLRequestStatus(code, 0));
|
| -
|
| - delegate()->OnURLFetchComplete(this);
|
| - }
|
| -
|
| - private:
|
| - int max_failure_count_;
|
| - int current_failure_count_;
|
| - DISALLOW_COPY_AND_ASSIGN(MockOAuthFetcher);
|
| -};
|
| -
|
| -class MockOAuthFetcherFactory : public net::URLFetcherFactory,
|
| - public net::ScopedURLFetcherFactory {
|
| - public:
|
| - MockOAuthFetcherFactory()
|
| - : net::ScopedURLFetcherFactory(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
|
| - response_code_(net::HTTP_OK) {
|
| - }
|
| - ~MockOAuthFetcherFactory() {}
|
| - virtual net::URLFetcher* CreateURLFetcher(
|
| - int id,
|
| - const GURL& url,
|
| - net::URLFetcher::RequestType request_type,
|
| - net::URLFetcherDelegate* d) {
|
| - return new MockOAuthFetcher(
|
| - response_code_,
|
| - max_failure_count_,
|
| - url,
|
| - results_,
|
| - request_type,
|
| - d);
|
| - }
|
| - void set_response_code(int response_code) {
|
| - response_code_ = response_code;
|
| - }
|
| - void set_max_failure_count(int count) {
|
| - max_failure_count_ = count;
|
| - }
|
| - void set_results(const std::string& results) {
|
| - results_ = results;
|
| - }
|
| - private:
|
| - int response_code_;
|
| - int max_failure_count_;
|
| - std::string results_;
|
| - DISALLOW_COPY_AND_ASSIGN(MockOAuthFetcherFactory);
|
| -};
|
| -
|
| -const std::string kTestAccessToken = "1/fFAGRNJru1FTz70BzhT3Zg";
|
| -const std::string kTestRefreshToken =
|
| - "1/6BMfW9j53gdGImsixUH6kU5RsR4zwI9lUVX-tqf8JXQ";
|
| -const int kTestExpiresIn = 3920;
|
| -
|
| -const std::string kDummyGetTokensResult =
|
| - "{\"access_token\":\"" + kTestAccessToken + "\","
|
| - "\"expires_in\":" + base::IntToString(kTestExpiresIn) + ","
|
| - "\"refresh_token\":\"" + kTestRefreshToken + "\"}";
|
| -
|
| -const std::string kDummyRefreshTokenResult =
|
| - "{\"access_token\":\"" + kTestAccessToken + "\","
|
| - "\"expires_in\":" + base::IntToString(kTestExpiresIn) + "}";
|
| -}
|
| -
|
| -namespace gaia {
|
| -
|
| -class GaiaOAuthClientTest : public testing::Test {
|
| - public:
|
| - GaiaOAuthClientTest() {}
|
| -
|
| - TestingProfile profile_;
|
| - protected:
|
| - MessageLoop message_loop_;
|
| -};
|
| -
|
| -class MockGaiaOAuthClientDelegate : public gaia::GaiaOAuthClient::Delegate {
|
| - public:
|
| - MockGaiaOAuthClientDelegate() {}
|
| - ~MockGaiaOAuthClientDelegate() {}
|
| -
|
| - MOCK_METHOD3(OnGetTokensResponse, void(const std::string& refresh_token,
|
| - const std::string& access_token, int expires_in_seconds));
|
| - MOCK_METHOD2(OnRefreshTokenResponse, void(const std::string& access_token,
|
| - int expires_in_seconds));
|
| - MOCK_METHOD0(OnOAuthError, void());
|
| - MOCK_METHOD1(OnNetworkError, void(int response_code));
|
| -};
|
| -
|
| -TEST_F(GaiaOAuthClientTest, NetworkFailure) {
|
| - int response_code = net::HTTP_INTERNAL_SERVER_ERROR;
|
| -
|
| - MockGaiaOAuthClientDelegate delegate;
|
| - EXPECT_CALL(delegate, OnNetworkError(response_code))
|
| - .Times(1);
|
| -
|
| - TestingProfile profile;
|
| -
|
| - MockOAuthFetcherFactory factory;
|
| - factory.set_response_code(response_code);
|
| - factory.set_max_failure_count(4);
|
| -
|
| - OAuthClientInfo client_info;
|
| - client_info.client_id = "test_client_id";
|
| - client_info.client_secret = "test_client_secret";
|
| - GaiaOAuthClient auth(kGaiaOAuth2Url,
|
| - profile_.GetRequestContext());
|
| - auth.GetTokensFromAuthCode(client_info, "auth_code", 2, &delegate);
|
| -}
|
| -
|
| -TEST_F(GaiaOAuthClientTest, NetworkFailureRecover) {
|
| - int response_code = net::HTTP_INTERNAL_SERVER_ERROR;
|
| -
|
| - MockGaiaOAuthClientDelegate delegate;
|
| - EXPECT_CALL(delegate, OnGetTokensResponse(kTestRefreshToken, kTestAccessToken,
|
| - kTestExpiresIn)).Times(1);
|
| -
|
| - TestingProfile profile;
|
| -
|
| - MockOAuthFetcherFactory factory;
|
| - factory.set_response_code(response_code);
|
| - factory.set_max_failure_count(4);
|
| - factory.set_results(kDummyGetTokensResult);
|
| -
|
| - OAuthClientInfo client_info;
|
| - client_info.client_id = "test_client_id";
|
| - client_info.client_secret = "test_client_secret";
|
| - GaiaOAuthClient auth(kGaiaOAuth2Url,
|
| - profile_.GetRequestContext());
|
| - auth.GetTokensFromAuthCode(client_info, "auth_code", -1, &delegate);
|
| -}
|
| -
|
| -TEST_F(GaiaOAuthClientTest, OAuthFailure) {
|
| - int response_code = net::HTTP_BAD_REQUEST;
|
| -
|
| - MockGaiaOAuthClientDelegate delegate;
|
| - EXPECT_CALL(delegate, OnOAuthError()).Times(1);
|
| -
|
| - TestingProfile profile;
|
| -
|
| - MockOAuthFetcherFactory factory;
|
| - factory.set_response_code(response_code);
|
| - factory.set_max_failure_count(-1);
|
| - factory.set_results(kDummyGetTokensResult);
|
| -
|
| - OAuthClientInfo client_info;
|
| - client_info.client_id = "test_client_id";
|
| - client_info.client_secret = "test_client_secret";
|
| - GaiaOAuthClient auth(kGaiaOAuth2Url,
|
| - profile_.GetRequestContext());
|
| - auth.GetTokensFromAuthCode(client_info, "auth_code", -1, &delegate);
|
| -}
|
| -
|
| -
|
| -TEST_F(GaiaOAuthClientTest, GetTokensSuccess) {
|
| - MockGaiaOAuthClientDelegate delegate;
|
| - EXPECT_CALL(delegate, OnGetTokensResponse(kTestRefreshToken, kTestAccessToken,
|
| - kTestExpiresIn)).Times(1);
|
| -
|
| - TestingProfile profile;
|
| -
|
| - MockOAuthFetcherFactory factory;
|
| - factory.set_results(kDummyGetTokensResult);
|
| -
|
| - OAuthClientInfo client_info;
|
| - client_info.client_id = "test_client_id";
|
| - client_info.client_secret = "test_client_secret";
|
| - GaiaOAuthClient auth(kGaiaOAuth2Url,
|
| - profile_.GetRequestContext());
|
| - auth.GetTokensFromAuthCode(client_info, "auth_code", -1, &delegate);
|
| -}
|
| -
|
| -TEST_F(GaiaOAuthClientTest, RefreshTokenSuccess) {
|
| - MockGaiaOAuthClientDelegate delegate;
|
| - EXPECT_CALL(delegate, OnRefreshTokenResponse(kTestAccessToken,
|
| - kTestExpiresIn)).Times(1);
|
| -
|
| - TestingProfile profile;
|
| -
|
| - MockOAuthFetcherFactory factory;
|
| - factory.set_results(kDummyRefreshTokenResult);
|
| -
|
| - OAuthClientInfo client_info;
|
| - client_info.client_id = "test_client_id";
|
| - client_info.client_secret = "test_client_secret";
|
| - GaiaOAuthClient auth(kGaiaOAuth2Url,
|
| - profile_.GetRequestContext());
|
| - auth.GetTokensFromAuthCode(client_info, "auth_code", -1, &delegate);
|
| -}
|
| -} // namespace gaia
|
|
|