blob: 224b6a5b0c5e577928023fb0b64589de6f19b837 [file] [log] [blame]
cfroussios3b5a4e42016-05-31 11:02:181// Copyright 2016 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "components/os_crypt/os_crypt_mocker_linux.h"
6
Christos Froussios494196d2017-07-14 10:10:047#include <memory>
8
cfroussios3b5a4e42016-05-31 11:02:189#include "base/base64.h"
Pawel Baran1e2ce632022-04-19 16:31:1910#include "base/bind.h"
cfroussios3b5a4e42016-05-31 11:02:1811#include "base/lazy_instance.h"
12#include "base/rand_util.h"
Christos Froussios494196d2017-07-14 10:10:0413#include "components/os_crypt/key_storage_config_linux.h"
cfroussios3b5a4e42016-05-31 11:02:1814#include "components/os_crypt/os_crypt.h"
15
16namespace {
17
Christos Froussios2d15a8e2017-07-21 16:30:3418std::unique_ptr<KeyStorageLinux> CreateNewMock() {
edchin3398a8152022-05-16 17:23:1819 return std::make_unique<OSCryptMockerLinux>();
cfroussios3b5a4e42016-05-31 11:02:1820}
21
edchin3398a8152022-05-16 17:23:1822}
cfroussios3b5a4e42016-05-31 11:02:1823
edchin3398a8152022-05-16 17:23:1824absl::optional<std::string> OSCryptMockerLinux::GetKeyImpl() {
25 return key_;
26}
27
28std::string* OSCryptMockerLinux::GetKeyPtr() {
29 return &key_;
30}
31
32// static
Christos Froussios2d15a8e2017-07-21 16:30:3433void OSCryptMockerLinux::SetUp() {
edchin3398a8152022-05-16 17:23:1834 OSCrypt::UseMockKeyStorageForTesting(base::BindOnce(&CreateNewMock));
cfroussios3b5a4e42016-05-31 11:02:1835}
36
edchin3398a8152022-05-16 17:23:1837// static
cfroussios3b5a4e42016-05-31 11:02:1838void OSCryptMockerLinux::TearDown() {
edchin3398a8152022-05-16 17:23:1839 OSCrypt::UseMockKeyStorageForTesting(base::NullCallback());
40 OSCrypt::ClearCacheForTesting();
41}
42
43bool OSCryptMockerLinux::Init() {
44 key_ = "the_encryption_key";
45 return true;
Christos Froussios2d15a8e2017-07-21 16:30:3446}