diff options
Diffstat (limited to 'chrome/browser/chromeos/settings/mock_owner_key_utils.h')
-rw-r--r-- | chrome/browser/chromeos/settings/mock_owner_key_utils.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/settings/mock_owner_key_utils.h b/chrome/browser/chromeos/settings/mock_owner_key_utils.h new file mode 100644 index 0000000..1a55179 --- /dev/null +++ b/chrome/browser/chromeos/settings/mock_owner_key_utils.h @@ -0,0 +1,61 @@ +// Copyright (c) 2012 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 CHROME_BROWSER_CHROMEOS_SETTINGS_MOCK_OWNER_KEY_UTILS_H_ +#define CHROME_BROWSER_CHROMEOS_SETTINGS_MOCK_OWNER_KEY_UTILS_H_ + +#include <vector> + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "base/file_path.h" +#include "chrome/browser/chromeos/settings/owner_key_utils.h" +#include "crypto/rsa_private_key.h" +#include "testing/gmock/include/gmock/gmock.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace chromeos { + +class MockKeyUtils : public OwnerKeyUtils { + public: + MockKeyUtils(); + + MOCK_METHOD2(ImportPublicKey, bool(const FilePath& key_file, + std::vector<uint8>* output)); + MOCK_METHOD3(Verify, bool(const std::string& data, + const std::vector<uint8> signature, + const std::vector<uint8> public_key)); + MOCK_METHOD3(Sign, bool(const std::string& data, + std::vector<uint8>* OUT_signature, + crypto::RSAPrivateKey* key)); + MOCK_METHOD1(FindPrivateKey, + crypto::RSAPrivateKey*(const std::vector<uint8>& key)); + MOCK_METHOD0(GetOwnerKeyFilePath, FilePath()); + MOCK_METHOD2(ExportPublicKeyToFile, bool(crypto::RSAPrivateKey* pair, + const FilePath& key_file)); + protected: + virtual ~MockKeyUtils(); + + private: + DISALLOW_COPY_AND_ASSIGN(MockKeyUtils); +}; + +class MockInjector : public OwnerKeyUtils::Factory { + public: + // Takes ownership of |mock|. + explicit MockInjector(MockKeyUtils* mock); + virtual ~MockInjector(); + + // If this is called, its caller takes ownership of |transient_|. + // If it's never called, |transient_| remains our problem. + virtual OwnerKeyUtils* CreateOwnerKeyUtils() OVERRIDE; + + private: + scoped_refptr<MockKeyUtils> transient_; + DISALLOW_COPY_AND_ASSIGN(MockInjector); +}; + +} // namespace chromeos + +#endif // CHROME_BROWSER_CHROMEOS_SETTINGS_MOCK_OWNER_KEY_UTILS_H_ |