Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4166)

Unified Diff: chrome/browser/chromeos/cros/network_library_unittest.cc

Issue 14192017: Extract certificate policy application from NetworkLibrary. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/cros/network_library_unittest.cc
diff --git a/chrome/browser/chromeos/cros/network_library_unittest.cc b/chrome/browser/chromeos/cros/network_library_unittest.cc
index a059ee09cd9e96befd240cf0944753143437929b..f0c38bf07ee2ec4459255a96e558cd0a3d36bdd0 100644
--- a/chrome/browser/chromeos/cros/network_library_unittest.cc
+++ b/chrome/browser/chromeos/cros/network_library_unittest.cc
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include <cert.h>
#include <pk11pub.h>
#include <map>
@@ -29,8 +28,6 @@
#include "chromeos/network/onc/onc_utils.h"
#include "crypto/nss_util.h"
#include "net/base/crypto_module.h"
-#include "net/cert/nss_cert_database.h"
-#include "net/cert/x509_certificate.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -143,21 +140,13 @@ class NetworkLibraryStubTest : public ::testing::Test {
protected:
virtual void SetUp() {
- ASSERT_TRUE(test_nssdb_.is_open());
-
- slot_ = net::NSSCertDatabase::GetInstance()->GetPublicModule();
cros_ = static_cast<NetworkLibraryImplStub*>(
CrosLibrary::Get()->GetNetworkLibrary());
ASSERT_TRUE(cros_) << "GetNetworkLibrary() Failed!";
-
- // Test db should be empty at start of test.
- EXPECT_EQ(0U, ListCertsInSlot(slot_->os_module_handle()).size());
}
virtual void TearDown() {
cros_ = NULL;
- EXPECT_TRUE(CleanupSlotContents(slot_->os_module_handle()));
- EXPECT_EQ(0U, ListCertsInSlot(slot_->os_module_handle()).size());
}
// Load the ONC from |onc_file| using NetworkLibrary::LoadOncNetworks. Check
@@ -175,16 +164,20 @@ class NetworkLibraryStubTest : public ::testing::Test {
.Times(AnyNumber())
.WillRepeatedly(Return(true));
- std::string onc_blob = onc::test_utils::ReadTestData(onc_file);
+ scoped_ptr<base::DictionaryValue> onc_blob =
+ onc::test_utils::ReadTestDictionary(onc_file);
+ base::ListValue* onc_network_configs;
+ onc_blob->GetListWithoutPathExpansion(
+ onc::toplevel_config::kNetworkConfigurations,
+ &onc_network_configs);
+ ASSERT_TRUE(onc_network_configs);
scoped_ptr<base::Value> expected_value =
google_apis::test_util::LoadJSONFile(shill_json);
base::DictionaryValue* expected_configs;
expected_value->GetAsDictionary(&expected_configs);
- net::CertificateList cert_list;
- EXPECT_EQ(expect_successful_import,
- cros_->LoadOncNetworks(onc_blob, "", source, &cert_list));
+ cros_->LoadOncNetworks(*onc_network_configs, source);
const std::map<std::string, base::DictionaryValue*>& configs =
cros_->GetConfigurations();
@@ -207,32 +200,6 @@ class NetworkLibraryStubTest : public ::testing::Test {
ScopedStubCrosEnabler cros_stub_;
NetworkLibraryImplStub* cros_;
protected:
- net::CertificateList ListCertsInSlot(PK11SlotInfo* slot) {
- net::CertificateList result;
- CERTCertList* cert_list = PK11_ListCertsInSlot(slot);
- for (CERTCertListNode* node = CERT_LIST_HEAD(cert_list);
- !CERT_LIST_END(node, cert_list);
- node = CERT_LIST_NEXT(node)) {
- result.push_back(net::X509Certificate::CreateFromHandle(
- node->cert, net::X509Certificate::OSCertHandles()));
- }
- CERT_DestroyCertList(cert_list);
-
- // Sort the result so that test comparisons can be deterministic.
- std::sort(result.begin(), result.end(), net::X509Certificate::LessThan());
- return result;
- }
-
- bool CleanupSlotContents(PK11SlotInfo* slot) {
- bool ok = true;
- net::CertificateList certs = ListCertsInSlot(slot);
- for (size_t i = 0; i < certs.size(); ++i) {
- if (!net::NSSCertDatabase::GetInstance()->DeleteCertAndKey(certs[i]))
- ok = false;
- }
- return ok;
- }
-
scoped_refptr<net::CryptoModule> slot_;
crypto::ScopedTestNSSDB test_nssdb_;
};
@@ -329,9 +296,8 @@ TEST_F(NetworkLibraryStubTest, NetworkConnectWifiWithCertPattern) {
&certificates);
onc::CertificateImporter importer(true /* allow trust imports */);
- net::CertificateList cert_list;
ASSERT_EQ(onc::CertificateImporter::IMPORT_OK,
- importer.ParseAndStoreCertificates(*certificates, &cert_list));
+ importer.ParseAndStoreCertificates(*certificates, NULL));
WifiNetwork* wifi = cros_->FindWifiNetworkByPath("wifi_cert_pattern");
@@ -359,9 +325,8 @@ TEST_F(NetworkLibraryStubTest, NetworkConnectVPNWithCertPattern) {
&certificates);
onc::CertificateImporter importer(true /* allow trust imports */);
- net::CertificateList cert_list;
ASSERT_EQ(onc::CertificateImporter::IMPORT_OK,
- importer.ParseAndStoreCertificates(*certificates, &cert_list));
+ importer.ParseAndStoreCertificates(*certificates, NULL));
VirtualNetwork* vpn = cros_->FindVirtualNetworkByPath("vpn_cert_pattern");
@@ -392,16 +357,6 @@ TEST_F(NetworkLibraryStubTest, NetworkConnectVPN) {
EXPECT_EQ("vpn1", cros_->virtual_network()->service_path());
}
-TEST_F(NetworkLibraryStubTest, LoadOncNetworksWithInvalidConfig) {
- LoadOncAndVerifyNetworks(
- "toplevel_partially_invalid.onc",
- "chromeos/net/shill_for_toplevel_partially_invalid.json",
- onc::ONC_SOURCE_USER_POLICY,
- false /* expect import to fail */);
-
- EXPECT_EQ(ListCertsInSlot(slot_->os_module_handle()).size(), 1U);
-}
-
namespace {
struct ImportParams {
@@ -444,15 +399,6 @@ TEST_P(LoadOncNetworksTest, VerifyNetworksAndCertificates) {
GetParam().shill_file,
GetParam().onc_source,
GetParam().expect_import_result);
-
- scoped_ptr<base::DictionaryValue> onc_dict =
- onc::test_utils::ReadTestDictionary(GetParam().onc_file);
- base::ListValue* onc_certs;
- onc_dict->GetListWithoutPathExpansion(onc::toplevel_config::kCertificates,
- &onc_certs);
-
- EXPECT_EQ(onc_certs->GetSize(),
- ListCertsInSlot(slot_->os_module_handle()).size());
}
INSTANTIATE_TEST_CASE_P(
@@ -492,12 +438,7 @@ INSTANTIATE_TEST_CASE_P(
onc::ONC_SOURCE_USER_POLICY),
ImportParams("toplevel_wifi_remove.onc",
"chromeos/net/shill_for_toplevel_wifi_remove.json",
- onc::ONC_SOURCE_USER_POLICY),
- ImportParams(
- "toplevel_with_unknown_fields.onc",
- "chromeos/net/shill_for_toplevel_with_unknown_fields.json",
- onc::ONC_SOURCE_USER_POLICY,
- false)));
+ onc::ONC_SOURCE_USER_POLICY)));
// TODO(stevenjb): Test remembered networks.

Powered by Google App Engine
This is Rietveld 408576698