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

Unified Diff: chromeos/network/onc/onc_utils_unittest.cc

Issue 16946002: Resolve certificate references in ONC by PEM. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added a unit test for the resolve function. Created 7 years, 6 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: chromeos/network/onc/onc_utils_unittest.cc
diff --git a/chromeos/network/onc/onc_utils_unittest.cc b/chromeos/network/onc/onc_utils_unittest.cc
index 97a0cb28dc0a578e901b68ab9f7043ab49c01287..7fb217944941356393d7dca13d751208df534257 100644
--- a/chromeos/network/onc/onc_utils_unittest.cc
+++ b/chromeos/network/onc/onc_utils_unittest.cc
@@ -9,6 +9,8 @@
#include "base/values.h"
#include "chromeos/network/onc/onc_signature.h"
#include "chromeos/network/onc/onc_test_utils.h"
+#include "net/cert/x509_certificate.h"
+#include "net/test/test_certificate_data.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace chromeos {
@@ -89,7 +91,7 @@ TEST(ONCStringExpansion, OpenVPN) {
TEST(ONCStringExpansion, WiFi_EAP) {
scoped_ptr<base::DictionaryValue> wifi_onc =
- test_utils::ReadTestDictionary("valid_wifi_clientcert.onc");
+ test_utils::ReadTestDictionary("wifi_clientcert_with_cert_pems.onc");
StringSubstitutionStub substitution;
ExpandStringsInOncObject(kNetworkConfigurationSignature, substitution,
@@ -100,5 +102,49 @@ TEST(ONCStringExpansion, WiFi_EAP) {
EXPECT_EQ(actual_expanded, std::string("abc ") + kLoginId + "@my.domain.com");
}
+TEST(ONCResolveServerCertRefs, ResolveServerCertRefs) {
+ scoped_ptr<base::DictionaryValue> test_cases =
+ test_utils::ReadTestDictionary(
+ "network_configs_with_resolved_certs.json");
+
+ scoped_refptr<net::X509Certificate> google_cert(
+ net::X509Certificate::CreateFromBytes(
+ reinterpret_cast<const char*>(google_der), sizeof(google_der)));
+
+ scoped_refptr<net::X509Certificate> webkit_cert(
+ net::X509Certificate::CreateFromBytes(
+ reinterpret_cast<const char*>(webkit_der), sizeof(webkit_der)));
+
+ CertsByGUIDMap certs;
+ certs["cert_google"] = google_cert;
+ certs["cert_webkit"] = webkit_cert;
+
+ for (base::DictionaryValue::Iterator it(*test_cases);
+ !it.IsAtEnd(); it.Advance()) {
+ SCOPED_TRACE("Test case: " + it.key());
+
+ const base::DictionaryValue* test_case = NULL;
+ it.value().GetAsDictionary(&test_case);
+
+ const base::ListValue* networks_with_cert_refs = NULL;
+ test_case->GetList("WithCertRefs", &networks_with_cert_refs);
+
+ const base::ListValue* expected_resolved_onc = NULL;
+ test_case->GetList("WithResolvedRefs", &expected_resolved_onc);
+
+ bool expected_success = (networks_with_cert_refs->GetSize() ==
+ expected_resolved_onc->GetSize());
+
+ scoped_ptr<base::ListValue> actual_resolved_onc(
+ networks_with_cert_refs->DeepCopy());
+
+ bool success = ResolveServerCertRefsInNetworks(certs,
+ actual_resolved_onc.get());
+ EXPECT_EQ(expected_success, success);
+ EXPECT_TRUE(test_utils::Equals(expected_resolved_onc,
+ actual_resolved_onc.get()));
+ }
+}
+
} // namespace onc
} // namespace chromeos
« no previous file with comments | « chromeos/network/onc/onc_utils.cc ('k') | chromeos/test/data/network/l2tpipsec_clientcert_with_cert_pems.onc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698