| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chromeos/network/onc/onc_utils.h" | 5 #include "chromeos/network/onc/onc_utils.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/json/json_file_value_serializer.h" |
| 10 #include "base/logging.h" |
| 11 #include "base/strings/string_number_conversions.h" |
| 9 #include "base/values.h" | 12 #include "base/values.h" |
| 13 #include "chromeos/chromeos_test_utils.h" |
| 14 #include "chromeos/network/network_ui_data.h" |
| 10 #include "chromeos/network/onc/onc_signature.h" | 15 #include "chromeos/network/onc/onc_signature.h" |
| 11 #include "chromeos/network/onc/onc_test_utils.h" | 16 #include "chromeos/network/onc/onc_test_utils.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
| 13 | 18 |
| 14 namespace chromeos { | 19 namespace chromeos { |
| 20 |
| 21 namespace { |
| 22 |
| 23 scoped_ptr<base::Value> ReadTestJson(const std::string& filename) { |
| 24 base::Value* result = nullptr; |
| 25 base::FilePath path; |
| 26 if (!test_utils::GetTestDataPath("network", filename, &path)) { |
| 27 NOTREACHED() << "Unable to get test file path for: " << filename; |
| 28 return make_scoped_ptr(result); |
| 29 } |
| 30 JSONFileValueDeserializer deserializer(path); |
| 31 deserializer.set_allow_trailing_comma(true); |
| 32 std::string error_message; |
| 33 result = deserializer.Deserialize(nullptr, &error_message); |
| 34 CHECK(result != nullptr) << "Couldn't json-deserialize file: " << filename |
| 35 << ": " << error_message; |
| 36 return make_scoped_ptr(result); |
| 37 } |
| 38 |
| 39 } // namespace |
| 40 |
| 15 namespace onc { | 41 namespace onc { |
| 16 | 42 |
| 17 TEST(ONCDecrypterTest, BrokenEncryptionIterations) { | 43 TEST(ONCDecrypterTest, BrokenEncryptionIterations) { |
| 18 scoped_ptr<base::DictionaryValue> encrypted_onc = | 44 scoped_ptr<base::DictionaryValue> encrypted_onc = |
| 19 test_utils::ReadTestDictionary("broken-encrypted-iterations.onc"); | 45 test_utils::ReadTestDictionary("broken-encrypted-iterations.onc"); |
| 20 | 46 |
| 21 scoped_ptr<base::DictionaryValue> decrypted_onc = | 47 scoped_ptr<base::DictionaryValue> decrypted_onc = |
| 22 Decrypt("test0000", *encrypted_onc); | 48 Decrypt("test0000", *encrypted_onc); |
| 23 | 49 |
| 24 EXPECT_EQ(NULL, decrypted_onc.get()); | 50 EXPECT_EQ(NULL, decrypted_onc.get()); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 networks_with_cert_refs->DeepCopy()); | 155 networks_with_cert_refs->DeepCopy()); |
| 130 | 156 |
| 131 bool success = ResolveServerCertRefsInNetworks(certs, | 157 bool success = ResolveServerCertRefsInNetworks(certs, |
| 132 actual_resolved_onc.get()); | 158 actual_resolved_onc.get()); |
| 133 EXPECT_EQ(expected_success, success); | 159 EXPECT_EQ(expected_success, success); |
| 134 EXPECT_TRUE(test_utils::Equals(expected_resolved_onc, | 160 EXPECT_TRUE(test_utils::Equals(expected_resolved_onc, |
| 135 actual_resolved_onc.get())); | 161 actual_resolved_onc.get())); |
| 136 } | 162 } |
| 137 } | 163 } |
| 138 | 164 |
| 165 TEST(ONCUtils, ProxySettingsToProxyConfig) { |
| 166 scoped_ptr<base::Value> test_data(ReadTestJson("proxy_config.json")); |
| 167 |
| 168 base::ListValue* list_of_tests; |
| 169 test_data->GetAsList(&list_of_tests); |
| 170 ASSERT_TRUE(list_of_tests); |
| 171 |
| 172 int index = 0; |
| 173 for (base::ListValue::iterator it = list_of_tests->begin(); |
| 174 it != list_of_tests->end(); ++it, ++index) { |
| 175 SCOPED_TRACE("Test case #" + base::IntToString(index)); |
| 176 |
| 177 base::DictionaryValue* test_case; |
| 178 (*it)->GetAsDictionary(&test_case); |
| 179 |
| 180 base::DictionaryValue* onc_proxy_settings; |
| 181 test_case->GetDictionary("ONC_ProxySettings", &onc_proxy_settings); |
| 182 |
| 183 base::DictionaryValue* expected_proxy_config; |
| 184 test_case->GetDictionary("ProxyConfig", &expected_proxy_config); |
| 185 |
| 186 scoped_ptr<base::DictionaryValue> actual_proxy_config = |
| 187 ConvertOncProxySettingsToProxyConfig(*onc_proxy_settings); |
| 188 EXPECT_TRUE( |
| 189 test_utils::Equals(expected_proxy_config, actual_proxy_config.get())); |
| 190 } |
| 191 } |
| 192 |
| 193 TEST(ONCUtils, ProxyConfigToOncProxySettings) { |
| 194 scoped_ptr<base::Value> test_data(ReadTestJson("proxy_config.json")); |
| 195 |
| 196 base::ListValue* list_of_tests; |
| 197 test_data->GetAsList(&list_of_tests); |
| 198 ASSERT_TRUE(list_of_tests); |
| 199 |
| 200 int index = 0; |
| 201 for (base::ListValue::iterator it = list_of_tests->begin(); |
| 202 it != list_of_tests->end(); ++it, ++index) { |
| 203 SCOPED_TRACE("Test case #" + base::IntToString(index)); |
| 204 |
| 205 base::DictionaryValue* test_case; |
| 206 (*it)->GetAsDictionary(&test_case); |
| 207 |
| 208 base::DictionaryValue* shill_proxy_config; |
| 209 test_case->GetDictionary("ProxyConfig", &shill_proxy_config); |
| 210 |
| 211 base::DictionaryValue* onc_proxy_settings; |
| 212 test_case->GetDictionary("ONC_ProxySettings", &onc_proxy_settings); |
| 213 |
| 214 scoped_ptr<base::DictionaryValue> actual_proxy_settings = |
| 215 ConvertProxyConfigToOncProxySettings(*shill_proxy_config); |
| 216 EXPECT_TRUE( |
| 217 test_utils::Equals(onc_proxy_settings, actual_proxy_settings.get())); |
| 218 } |
| 219 } |
| 220 |
| 139 } // namespace onc | 221 } // namespace onc |
| 140 } // namespace chromeos | 222 } // namespace chromeos |
| OLD | NEW |