Index: chromeos/network/network_ui_data_unittest.cc |
diff --git a/chrome/browser/chromeos/cros/network_ui_data_unittest.cc b/chromeos/network/network_ui_data_unittest.cc |
similarity index 42% |
rename from chrome/browser/chromeos/cros/network_ui_data_unittest.cc |
rename to chromeos/network/network_ui_data_unittest.cc |
index b019db0d67523813c9aad673f1b22ffab29f031e..d1df65c5198b9f59a4f68d5a5c7f5df6792f3118 100644 |
--- a/chrome/browser/chromeos/cros/network_ui_data_unittest.cc |
+++ b/chromeos/network/network_ui_data_unittest.cc |
@@ -2,34 +2,15 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/chromeos/cros/network_ui_data.h" |
+#include "chromeos/network/network_ui_data.h" |
+ |
+#include "base/values.h" |
+#include "chromeos/network/onc/onc_test_utils.h" |
#include "testing/gtest/include/gtest/gtest.h" |
namespace chromeos { |
-class NetworkUIDataTest : public testing::Test { |
- protected: |
- NetworkUIDataTest() {} |
- virtual ~NetworkUIDataTest() {} |
- |
- void CheckProperty(const NetworkPropertyUIData& property, |
- const base::Value* expected_default_value, |
- bool expected_managed, |
- bool expected_recommended, |
- bool expected_editable) { |
- if (expected_default_value) { |
- EXPECT_TRUE(base::Value::Equals(expected_default_value, |
- property.default_value())); |
- } else { |
- EXPECT_FALSE(property.default_value()); |
- } |
- EXPECT_EQ(expected_managed, property.managed()); |
- EXPECT_EQ(expected_recommended, property.recommended()); |
- EXPECT_EQ(expected_editable, property.editable()); |
- } |
-}; |
- |
-TEST_F(NetworkUIDataTest, ONCSource) { |
+TEST(NetworkUIDataTest, ONCSource) { |
base::DictionaryValue ui_data_dict; |
ui_data_dict.SetString(NetworkUIData::kKeyONCSource, "user_import"); |
@@ -53,7 +34,7 @@ TEST_F(NetworkUIDataTest, ONCSource) { |
} |
} |
-TEST_F(NetworkUIDataTest, CertificateType) { |
+TEST(NetworkUIDataTest, CertificateType) { |
{ |
base::DictionaryValue ui_data_dict; |
ui_data_dict.SetString(NetworkUIData::kKeyCertificateType, "none"); |
@@ -81,13 +62,14 @@ TEST_F(NetworkUIDataTest, CertificateType) { |
} |
} |
-TEST_F(NetworkUIDataTest, CertificatePattern) { |
+TEST(NetworkUIDataTest, CertificatePattern) { |
std::string organization("Little If Any, Inc."); |
base::DictionaryValue ui_data_dict; |
base::DictionaryValue* pattern_dict = new base::DictionaryValue; |
base::DictionaryValue* issuer_dict = new base::DictionaryValue; |
issuer_dict->SetString("Organization", organization); |
pattern_dict->Set("Issuer", issuer_dict); |
+ ui_data_dict.SetString("certificate_type", "pattern"); |
ui_data_dict.Set("certificate_pattern", pattern_dict); |
NetworkUIData ui_data(ui_data_dict); |
EXPECT_FALSE(ui_data.certificate_pattern().Empty()); |
@@ -95,90 +77,40 @@ TEST_F(NetworkUIDataTest, CertificatePattern) { |
ui_data.certificate_pattern().issuer().organization()); |
} |
-TEST_F(NetworkUIDataTest, PropertyInit) { |
- NetworkPropertyUIData empty_prop; |
- CheckProperty(empty_prop, NULL, false, false, true); |
- |
- NetworkUIData empty_data; |
- NetworkPropertyUIData null_prop(empty_data); |
- CheckProperty(null_prop, NULL, false, false, true); |
- |
- base::DictionaryValue empty_dict; |
- NetworkUIData empty_data_2(empty_dict); |
- NetworkPropertyUIData empty_dict_prop(empty_data_2); |
- CheckProperty(empty_dict_prop, NULL, false, false, true); |
- |
-} |
- |
-TEST_F(NetworkUIDataTest, ParseOncProperty) { |
- base::DictionaryValue ui_data_dict; |
- NetworkUIData ui_data; |
- |
- base::DictionaryValue onc; |
- |
- base::StringValue val_a("a"); |
- base::StringValue val_b("b"); |
- base::StringValue val_a_a("a_a"); |
- base::StringValue val_a_b("a_b"); |
- |
- onc.Set("a", val_a.DeepCopy()); |
- onc.Set("b", val_b.DeepCopy()); |
- onc.Set("a.a", val_a_a.DeepCopy()); |
- onc.Set("a.b", val_a_b.DeepCopy()); |
- base::ListValue recommended; |
- recommended.Append(new base::StringValue("b")); |
- recommended.Append(new base::StringValue("c")); |
- recommended.Append(new base::StringValue("a.a")); |
- onc.Set("Recommended", recommended.DeepCopy()); |
- onc.Set("a.Recommended", recommended.DeepCopy()); |
- |
- NetworkPropertyUIData prop; |
- |
- ui_data.set_onc_source(onc::ONC_SOURCE_USER_IMPORT); |
- ui_data.FillDictionary(&ui_data_dict); |
- |
- NetworkUIData empty_data; |
- prop.ParseOncProperty(empty_data, &onc, "a"); |
- CheckProperty(prop, NULL, false, false, true); |
- |
- prop.ParseOncProperty(ui_data, &onc, "a"); |
- CheckProperty(prop, NULL, false, false, true); |
- |
- prop.ParseOncProperty(ui_data, &onc, "a.b"); |
- CheckProperty(prop, NULL, false, false, true); |
- |
- prop.ParseOncProperty(ui_data, &onc, "c"); |
- CheckProperty(prop, NULL, false, false, true); |
- |
- ui_data.set_onc_source(onc::ONC_SOURCE_USER_POLICY); |
- ui_data.FillDictionary(&ui_data_dict); |
- |
- prop.ParseOncProperty(ui_data, &onc, "a"); |
- CheckProperty(prop, NULL, true, false, false); |
- |
- prop.ParseOncProperty(ui_data, &onc, "b"); |
- CheckProperty(prop, &val_b, false, true, true); |
- |
- prop.ParseOncProperty(ui_data, &onc, "c"); |
- CheckProperty(prop, NULL, false, false, true); |
- |
- prop.ParseOncProperty(ui_data, &onc, "d"); |
- CheckProperty(prop, NULL, true, false, false); |
- |
- prop.ParseOncProperty(ui_data, &onc, "a.a"); |
- CheckProperty(prop, NULL, true, false, false); |
+class CreateUIDataTest |
+ : public ::testing::TestWithParam<std::pair<std::string, std::string> > { |
+}; |
- prop.ParseOncProperty(ui_data, &onc, "a.b"); |
- CheckProperty(prop, &val_a_b, false, true, true); |
+TEST_P(CreateUIDataTest, CreateUIDataFromONC) { |
+ namespace test_utils = onc::test_utils; |
+ scoped_ptr<base::DictionaryValue> onc_network = |
+ test_utils::ReadTestDictionary(GetParam().first); |
- prop.ParseOncProperty(ui_data, &onc, "a.c"); |
- CheckProperty(prop, NULL, false, false, true); |
+ scoped_ptr<base::DictionaryValue> expected_uidata = |
+ test_utils::ReadTestDictionary(GetParam().second); |
- prop.ParseOncProperty(ui_data, &onc, "a.d"); |
- CheckProperty(prop, NULL, true, false, false); |
+ scoped_ptr<NetworkUIData> actual_uidata = |
+ CreateUIDataFromONC(onc::ONC_SOURCE_USER_POLICY, *onc_network); |
+ EXPECT_TRUE(actual_uidata != NULL); |
- prop.ParseOncProperty(ui_data, NULL, "a.e"); |
- CheckProperty(prop, NULL, true, false, false); |
+ base::DictionaryValue actual_uidata_dict; |
+ actual_uidata->FillDictionary(&actual_uidata_dict); |
+ EXPECT_TRUE(test_utils::Equals(&actual_uidata_dict, expected_uidata.get())); |
} |
+INSTANTIATE_TEST_CASE_P( |
+ CreateUIDataTest, |
+ CreateUIDataTest, |
+ ::testing::Values( |
+ std::make_pair("valid_wifi_clientcert.onc", |
+ "uidata_for_wifi_clientcert.json"), |
+ std::make_pair("valid_wifi_clientref.onc", |
+ "uidata_for_wifi_clientref.json"), |
+ std::make_pair("valid_wifi_psk.onc", |
+ "uidata_for_wifi_psk.json"), |
+ std::make_pair("valid_openvpn_clientcert.onc", |
+ "uidata_for_openvpn_clientcert.json"), |
+ std::make_pair("valid_l2tpipsec_clientcert.onc", |
+ "uidata_for_l2tpipsec_clientcert.json"))); |
+ |
} // namespace chromeos |