| Index: chromeos/network/network_cert_migrator_unittest.cc
|
| diff --git a/chromeos/network/network_cert_migrator_unittest.cc b/chromeos/network/network_cert_migrator_unittest.cc
|
| index 247bda50348a4600c64d23b385542801c14ad190..3f9460784dc804789221989b7aac0ca73faa9e2d 100644
|
| --- a/chromeos/network/network_cert_migrator_unittest.cc
|
| +++ b/chromeos/network/network_cert_migrator_unittest.cc
|
| @@ -12,14 +12,14 @@
|
| #include "chromeos/cert_loader.h"
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| #include "chromeos/dbus/shill_service_client.h"
|
| -#include "chromeos/login/login_state.h"
|
| #include "chromeos/network/network_state_handler.h"
|
| #include "chromeos/tpm_token_loader.h"
|
| #include "crypto/nss_util.h"
|
| +#include "crypto/nss_util_internal.h"
|
| #include "net/base/crypto_module.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/base/test_data_directory.h"
|
| -#include "net/cert/nss_cert_database.h"
|
| +#include "net/cert/nss_cert_database_chromeos.h"
|
| #include "net/cert/x509_certificate.h"
|
| #include "net/test/cert_test_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -38,40 +38,39 @@ const char* kFakePEM = "pem";
|
|
|
| class NetworkCertMigratorTest : public testing::Test {
|
| public:
|
| - NetworkCertMigratorTest() {}
|
| + NetworkCertMigratorTest() : service_test_(NULL),
|
| + user_("user_hash") {
|
| + }
|
| virtual ~NetworkCertMigratorTest() {}
|
|
|
| virtual void SetUp() OVERRIDE {
|
| - ASSERT_TRUE(test_nssdb_.is_open());
|
| - slot_ = net::NSSCertDatabase::GetInstance()->GetPublicModule();
|
| - ASSERT_TRUE(slot_->os_module_handle());
|
| -
|
| - LoginState::Initialize();
|
| + // Initialize NSS db for the user.
|
| + ASSERT_TRUE(user_.constructed_successfully());
|
| + user_.FinishInit();
|
| + test_nssdb_.reset(new net::NSSCertDatabaseChromeOS(
|
| + crypto::GetPublicSlotForChromeOSUser(user_.username_hash()),
|
| + crypto::GetPrivateSlotForChromeOSUser(
|
| + user_.username_hash(),
|
| + base::Callback<void(crypto::ScopedPK11Slot)>())));
|
|
|
| DBusThreadManager::InitializeWithStub();
|
| service_test_ =
|
| DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface();
|
| - message_loop_.RunUntilIdle();
|
| + base::RunLoop().RunUntilIdle();
|
| service_test_->ClearServices();
|
| - message_loop_.RunUntilIdle();
|
| -
|
| - TPMTokenLoader::Initialize();
|
| - TPMTokenLoader* tpm_token_loader = TPMTokenLoader::Get();
|
| - tpm_token_loader->InitializeTPMForTest();
|
| - tpm_token_loader->SetCryptoTaskRunner(message_loop_.message_loop_proxy());
|
| + base::RunLoop().RunUntilIdle();
|
|
|
| CertLoader::Initialize();
|
| - CertLoader::Get()->SetSlowTaskRunnerForTest(
|
| - message_loop_.message_loop_proxy());
|
| + CertLoader* cert_loader_ = CertLoader::Get();
|
| + cert_loader_->SetSlowTaskRunnerForTest(message_loop_.message_loop_proxy());
|
| + cert_loader_->StartWithNSSDB(test_nssdb_.get());
|
| }
|
|
|
| virtual void TearDown() OVERRIDE {
|
| network_cert_migrator_.reset();
|
| network_state_handler_.reset();
|
| CertLoader::Shutdown();
|
| - TPMTokenLoader::Shutdown();
|
| DBusThreadManager::Shutdown();
|
| - LoginState::Shutdown();
|
| CleanupTestCert();
|
| }
|
|
|
| @@ -91,11 +90,10 @@ class NetworkCertMigratorTest : public testing::Test {
|
|
|
| test_ca_cert_ = net::X509Certificate::CreateFromBytesWithNickname(
|
| der_encoded.data(), der_encoded.size(), kNSSNickname);
|
| - net::NSSCertDatabase* cert_database = net::NSSCertDatabase::GetInstance();
|
| net::CertificateList cert_list;
|
| cert_list.push_back(test_ca_cert_);
|
| net::NSSCertDatabase::ImportCertFailureList failures;
|
| - EXPECT_TRUE(cert_database->ImportCACerts(
|
| + EXPECT_TRUE(test_nssdb_->ImportCACerts(
|
| cert_list, net::NSSCertDatabase::TRUST_DEFAULT, &failures));
|
| ASSERT_TRUE(failures.empty()) << net::ErrorToString(failures[0].net_error);
|
| }
|
| @@ -181,14 +179,13 @@ class NetworkCertMigratorTest : public testing::Test {
|
|
|
| private:
|
| void CleanupTestCert() {
|
| - ASSERT_TRUE(net::NSSCertDatabase::GetInstance()->DeleteCertAndKey(
|
| - test_ca_cert_.get()));
|
| + ASSERT_TRUE(test_nssdb_->DeleteCertAndKey(test_ca_cert_.get()));
|
| }
|
|
|
| scoped_ptr<NetworkStateHandler> network_state_handler_;
|
| scoped_ptr<NetworkCertMigrator> network_cert_migrator_;
|
| - scoped_refptr<net::CryptoModule> slot_;
|
| - crypto::ScopedTestNSSDB test_nssdb_;
|
| + crypto::ScopedTestNSSChromeOSUser user_;
|
| + scoped_ptr<net::NSSCertDatabaseChromeOS> test_nssdb_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(NetworkCertMigratorTest);
|
| };
|
| @@ -199,7 +196,7 @@ TEST_F(NetworkCertMigratorTest, MigrateNssOnInitialization) {
|
| SetupTestCACert();
|
| SetupNetworkHandlers();
|
|
|
| - message_loop_.RunUntilIdle();
|
| + base::RunLoop().RunUntilIdle();
|
| std::string nss_nickname, ca_pem;
|
| GetEapCACertProperties(&nss_nickname, &ca_pem);
|
| EXPECT_TRUE(nss_nickname.empty());
|
| @@ -209,12 +206,12 @@ TEST_F(NetworkCertMigratorTest, MigrateNssOnInitialization) {
|
| TEST_F(NetworkCertMigratorTest, MigrateNssOnNetworkAppearance) {
|
| SetupTestCACert();
|
| SetupNetworkHandlers();
|
| - message_loop_.RunUntilIdle();
|
| + base::RunLoop().RunUntilIdle();
|
|
|
| // Add a new network for migration after the handlers are initialized.
|
| SetupWifiWithNss();
|
|
|
| - message_loop_.RunUntilIdle();
|
| + base::RunLoop().RunUntilIdle();
|
| std::string nss_nickname, ca_pem;
|
| GetEapCACertProperties(&nss_nickname, &ca_pem);
|
| EXPECT_TRUE(nss_nickname.empty());
|
| @@ -231,7 +228,7 @@ TEST_F(NetworkCertMigratorTest, DoNotMigrateNssIfPemSet) {
|
|
|
| SetupTestCACert();
|
| SetupNetworkHandlers();
|
| - message_loop_.RunUntilIdle();
|
| + base::RunLoop().RunUntilIdle();
|
|
|
| std::string nss_nickname, ca_pem;
|
| GetEapCACertProperties(&nss_nickname, &ca_pem);
|
| @@ -246,7 +243,7 @@ TEST_F(NetworkCertMigratorTest, MigrateOpenVpn) {
|
| SetupTestCACert();
|
| SetupNetworkHandlers();
|
|
|
| - message_loop_.RunUntilIdle();
|
| + base::RunLoop().RunUntilIdle();
|
| std::string nss_nickname, ca_pem;
|
| GetVpnCACertProperties(true /* OpenVPN */, &nss_nickname, &ca_pem);
|
| EXPECT_TRUE(nss_nickname.empty());
|
| @@ -260,12 +257,11 @@ TEST_F(NetworkCertMigratorTest, MigrateIpsecVpn) {
|
| SetupTestCACert();
|
| SetupNetworkHandlers();
|
|
|
| - message_loop_.RunUntilIdle();
|
| + base::RunLoop().RunUntilIdle();
|
| std::string nss_nickname, ca_pem;
|
| GetVpnCACertProperties(false /* not OpenVPN */, &nss_nickname, &ca_pem);
|
| EXPECT_TRUE(nss_nickname.empty());
|
| EXPECT_EQ(test_ca_cert_pem_, ca_pem);
|
| }
|
|
|
| -
|
| } // namespace chromeos
|
|
|