1 // Copyright 2021 The Chromium Authors 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 "crypto/scoped_mock_unexportable_key_provider.h" 6 7 #include <vector> 8 9 #include "crypto/unexportable_key.h" 10 11 namespace crypto { 12 13 namespace { 14 GetUnexportableKeyProviderMock()15std::unique_ptr<UnexportableKeyProvider> GetUnexportableKeyProviderMock() { 16 return GetSoftwareUnsecureUnexportableKeyProvider(); 17 } 18 GetUnexportableKeyProviderNull()19std::unique_ptr<UnexportableKeyProvider> GetUnexportableKeyProviderNull() { 20 return nullptr; 21 } 22 23 } // namespace 24 ScopedMockUnexportableKeyProvider()25ScopedMockUnexportableKeyProvider::ScopedMockUnexportableKeyProvider() { 26 internal::SetUnexportableKeyProviderForTesting( 27 GetUnexportableKeyProviderMock); 28 } 29 ~ScopedMockUnexportableKeyProvider()30ScopedMockUnexportableKeyProvider::~ScopedMockUnexportableKeyProvider() { 31 internal::SetUnexportableKeyProviderForTesting(nullptr); 32 } 33 ScopedNullUnexportableKeyProvider()34ScopedNullUnexportableKeyProvider::ScopedNullUnexportableKeyProvider() { 35 internal::SetUnexportableKeyProviderForTesting( 36 GetUnexportableKeyProviderNull); 37 } 38 ~ScopedNullUnexportableKeyProvider()39ScopedNullUnexportableKeyProvider::~ScopedNullUnexportableKeyProvider() { 40 internal::SetUnexportableKeyProviderForTesting(nullptr); 41 } 42 43 } // namespace crypto 44