Index: chromeos/network/client_cert_resolver_unittest.cc |
diff --git a/chromeos/network/client_cert_resolver_unittest.cc b/chromeos/network/client_cert_resolver_unittest.cc |
index f637ae3fa33131669bd93c991269364920f1306e..68eca9663151489a35b1e5e58cf372d40d820a25 100644 |
--- a/chromeos/network/client_cert_resolver_unittest.cc |
+++ b/chromeos/network/client_cert_resolver_unittest.cc |
@@ -21,11 +21,9 @@ |
#include "chromeos/network/network_configuration_handler.h" |
#include "chromeos/network/network_profile_handler.h" |
#include "chromeos/network/network_state_handler.h" |
-#include "chromeos/tpm_token_loader.h" |
#include "components/onc/onc_constants.h" |
#include "crypto/nss_util_internal.h" |
#include "crypto/scoped_test_nss_chromeos_user.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_chromeos.h" |
@@ -34,9 +32,6 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
-// http://crbug.com/418369 |
-#ifdef NDEBUG |
- |
namespace chromeos { |
namespace { |
@@ -77,12 +72,11 @@ class ClientCertResolverTest : public testing::Test { |
DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); |
profile_test_ = |
DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface(); |
+ profile_test_->AddProfile(kUserProfilePath, kUserHash); |
base::RunLoop().RunUntilIdle(); |
service_test_->ClearServices(); |
base::RunLoop().RunUntilIdle(); |
- TPMTokenLoader::InitializeForTest(); |
- |
CertLoader::Initialize(); |
cert_loader_ = CertLoader::Get(); |
cert_loader_->force_hardware_backed_for_test(); |
@@ -95,9 +89,7 @@ class ClientCertResolverTest : public testing::Test { |
network_profile_handler_.reset(); |
network_state_handler_.reset(); |
CertLoader::Shutdown(); |
- TPMTokenLoader::Shutdown(); |
DBusThreadManager::Shutdown(); |
- CleanupSlotContents(); |
} |
protected: |
@@ -118,7 +110,7 @@ class ClientCertResolverTest : public testing::Test { |
// Import a CA cert. |
net::CertificateList ca_cert_list = |
net::CreateCertificateListFromFile(net::GetTestCertsDirectory(), |
- "websocket_cacert.pem", |
+ "client_1_ca.pem", |
net::X509Certificate::FORMAT_AUTO); |
ASSERT_TRUE(!ca_cert_list.empty()); |
net::NSSCertDatabase::ImportCertFailureList failures; |
@@ -131,22 +123,12 @@ class ClientCertResolverTest : public testing::Test { |
ASSERT_TRUE(!test_ca_cert_pem_.empty()); |
// Import a client cert signed by that CA. |
- std::string pkcs12_data; |
- ASSERT_TRUE(base::ReadFileToString( |
- net::GetTestCertsDirectory().Append("websocket_client_cert.p12"), |
- &pkcs12_data)); |
- |
- net::CertificateList client_cert_list; |
- scoped_refptr<net::CryptoModule> module( |
- net::CryptoModule::CreateFromHandle(private_slot_.get())); |
- ASSERT_EQ(net::OK, |
- test_nssdb_->ImportFromPKCS12(module.get(), |
- pkcs12_data, |
- base::string16(), |
- false, |
- &client_cert_list)); |
- ASSERT_TRUE(!client_cert_list.empty()); |
- test_client_cert_ = client_cert_list[0]; |
+ test_client_cert_ = |
+ net::ImportClientCertAndKeyFromFile(net::GetTestCertsDirectory(), |
+ "client_1.pem", |
+ "client_1.pk8", |
+ private_slot_.get()); |
+ ASSERT_TRUE(test_client_cert_.get()); |
} |
void SetupNetworkHandlers() { |
@@ -162,12 +144,14 @@ class ClientCertResolverTest : public testing::Test { |
network_profile_handler_.get(), |
network_config_handler_.get(), |
NULL /* network_device_handler */); |
+ // Run all notifications before starting the cert loader to reduce run time. |
+ base::RunLoop().RunUntilIdle(); |
+ |
client_cert_resolver_->Init(network_state_handler_.get(), |
managed_config_handler_.get()); |
client_cert_resolver_->SetSlowTaskRunnerForTest( |
message_loop_.message_loop_proxy()); |
- profile_test_->AddProfile(kUserProfilePath, kUserHash); |
} |
void SetupWifi() { |
@@ -245,19 +229,6 @@ class ClientCertResolverTest : public testing::Test { |
base::MessageLoop message_loop_; |
private: |
- void CleanupSlotContents() { |
- CERTCertList* cert_list = PK11_ListCertsInSlot(private_slot_.get()); |
- for (CERTCertListNode* node = CERT_LIST_HEAD(cert_list); |
- !CERT_LIST_END(node, cert_list); |
- node = CERT_LIST_NEXT(node)) { |
- scoped_refptr<net::X509Certificate> cert( |
- net::X509Certificate::CreateFromHandle( |
- node->cert, net::X509Certificate::OSCertHandles())); |
- test_nssdb_->DeleteCertAndKey(cert.get()); |
- } |
- CERT_DestroyCertList(cert_list); |
- } |
- |
CertLoader* cert_loader_; |
scoped_refptr<net::X509Certificate> test_client_cert_; |
scoped_ptr<NetworkStateHandler> network_state_handler_; |
@@ -273,9 +244,10 @@ class ClientCertResolverTest : public testing::Test { |
}; |
TEST_F(ClientCertResolverTest, NoMatchingCertificates) { |
- SetupNetworkHandlers(); |
- SetupWifi(); |
StartCertLoader(); |
+ SetupWifi(); |
+ base::RunLoop().RunUntilIdle(); |
+ SetupNetworkHandlers(); |
SetupPolicy(); |
base::RunLoop().RunUntilIdle(); |
@@ -286,9 +258,11 @@ TEST_F(ClientCertResolverTest, NoMatchingCertificates) { |
} |
TEST_F(ClientCertResolverTest, ResolveOnCertificatesLoaded) { |
- SetupNetworkHandlers(); |
- SetupWifi(); |
SetupTestCerts(); |
+ SetupWifi(); |
+ base::RunLoop().RunUntilIdle(); |
+ |
+ SetupNetworkHandlers(); |
SetupPolicy(); |
base::RunLoop().RunUntilIdle(); |
@@ -304,9 +278,10 @@ TEST_F(ClientCertResolverTest, ResolveOnCertificatesLoaded) { |
TEST_F(ClientCertResolverTest, ResolveAfterPolicyApplication) { |
SetupTestCerts(); |
+ SetupWifi(); |
+ base::RunLoop().RunUntilIdle(); |
StartCertLoader(); |
SetupNetworkHandlers(); |
- SetupWifi(); |
base::RunLoop().RunUntilIdle(); |
// Policy application will trigger the ClientCertResolver. |
@@ -321,5 +296,3 @@ TEST_F(ClientCertResolverTest, ResolveAfterPolicyApplication) { |
} |
} // namespace chromeos |
- |
-#endif |