12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // Copyright 2019 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_TEST_TOKEN_STORAGE_H_
- #define REMOTING_TEST_TEST_TOKEN_STORAGE_H_
- #include <memory>
- #include <string>
- #include "remoting/test/test_device_id_provider.h"
- namespace base {
- class FilePath;
- }
- namespace remoting {
- namespace test {
- // Used to store and retrieve tokens for test. This interface is provided to
- // allow for stubbing out the storage mechanism for testing.
- class TestTokenStorage : public TestDeviceIdProvider::TokenStorage {
- public:
- TestTokenStorage() = default;
- ~TestTokenStorage() override = default;
- virtual std::string FetchRefreshToken() = 0;
- virtual bool StoreRefreshToken(const std::string& refresh_token) = 0;
- virtual std::string FetchUserEmail() = 0;
- virtual bool StoreUserEmail(const std::string& user_email) = 0;
- virtual std::string FetchAccessToken() = 0;
- virtual bool StoreAccessToken(const std::string& access_token) = 0;
- // Returns a TestTokenStorage which reads/writes to a user specific token
- // file on the local disk.
- static std::unique_ptr<TestTokenStorage> OnDisk(
- const std::string& user_name,
- const base::FilePath& tokens_file_path);
- };
- } // namespace test
- } // namespace remoting
- #endif // REMOTING_TEST_TEST_TOKEN_STORAGE_H_
|