| // Copyright 2015 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. |
| |
| #ifndef REMOTING_TEST_MOCK_ACCESS_TOKEN_FETCHER_H_ |
| #define REMOTING_TEST_MOCK_ACCESS_TOKEN_FETCHER_H_ |
| |
| #include "remoting/test/access_token_fetcher.h" |
| |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace remoting { |
| namespace test { |
| |
| // Used for testing classes which rely on the AccessTokenFetcher and want to |
| // simulate success and failure scenarios without using the actual class and |
| // network connection. |
| class MockAccessTokenFetcher : public AccessTokenFetcher { |
| public: |
| MockAccessTokenFetcher(); |
| ~MockAccessTokenFetcher() override; |
| |
| MOCK_METHOD2(GetAccessTokenFromAuthCode, |
| void(const std::string& auth_code, |
| const AccessTokenCallback& callback)); |
| |
| MOCK_METHOD2(GetAccessTokenFromRefreshToken, |
| void(const std::string& refresh_token, |
| const AccessTokenCallback& callback)); |
| |
| // Stores an access token fetcher object and wires up the mock methods to call |
| // through to the appropriate method on it. This method is typically used to |
| // pass a FakeAccessTokenFetcher. |
| void SetAccessTokenFetcher(scoped_ptr<AccessTokenFetcher> fetcher); |
| |
| private: |
| scoped_ptr<AccessTokenFetcher> internal_access_token_fetcher_; |
| |
| DISALLOW_COPY_AND_ASSIGN(MockAccessTokenFetcher); |
| }; |
| |
| } // namespace test |
| } // namespace remoting |
| |
| #endif // REMOTING_TEST_MOCK_ACCESS_TOKEN_FETCHER_H_ |