| // Copyright 2022 The ChromiumOS Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef LIBBRILLO_BRILLO_FAKE_CRYPTOHOME_H_ |
| #define LIBBRILLO_BRILLO_FAKE_CRYPTOHOME_H_ |
| |
| #include <string> |
| |
| #include <base/files/file_path.h> |
| |
| #include "brillo/cryptohome.h" |
| |
| namespace brillo::cryptohome::home { |
| |
| // Allows to inject fake system salt in tests. On creation, initializes the |
| // global singleton returned by `SystemSaltLoader::GetInstance()`. |
| class BRILLO_EXPORT FakeSystemSaltLoader : public SystemSaltLoader { |
| public: |
| // Creates a loader with the specified injected salt. No file operations are |
| // performed by the loader in this case. |
| explicit FakeSystemSaltLoader(std::string value); |
| // Creates a loader with the specified overridden file path. |
| explicit FakeSystemSaltLoader(base::FilePath file_path); |
| |
| ~FakeSystemSaltLoader() override; |
| }; |
| |
| } // namespace brillo::cryptohome::home |
| |
| #endif // LIBBRILLO_BRILLO_FAKE_CRYPTOHOME_H_ |