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

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

Issue 1228543002: Translate ONC ProxySettings <-> Shill ProxyConfig (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix assumptions in ShillToONC Created 5 years, 5 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 f5acd5d04bd9449172a2f493e5076b6965547f59..6370a68507eccc4b562bf6cf28bd6f7eef4d3ec8 100644
--- a/chromeos/network/onc/onc_utils_unittest.cc
+++ b/chromeos/network/onc/onc_utils_unittest.cc
@@ -6,12 +6,38 @@
#include <string>
+#include "base/json/json_file_value_serializer.h"
+#include "base/logging.h"
+#include "base/strings/string_number_conversions.h"
#include "base/values.h"
+#include "chromeos/chromeos_test_utils.h"
+#include "chromeos/network/network_ui_data.h"
#include "chromeos/network/onc/onc_signature.h"
#include "chromeos/network/onc/onc_test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace chromeos {
+
+namespace {
+
+scoped_ptr<base::Value> ReadTestJson(const std::string& filename) {
pneubeck (no reviews) 2015/07/09 07:16:12 optional nit: this could eventually be put into a
stevenjb 2015/07/09 18:24:28 Eventually :) We should do that if/when we need it
+ base::Value* result = nullptr;
+ base::FilePath path;
+ if (!test_utils::GetTestDataPath("network", filename, &path)) {
+ NOTREACHED() << "Unable to get test file path for: " << filename;
+ return make_scoped_ptr(result);
+ }
+ JSONFileValueDeserializer deserializer(path);
+ deserializer.set_allow_trailing_comma(true);
+ std::string error_message;
+ result = deserializer.Deserialize(nullptr, &error_message);
+ CHECK(result != nullptr) << "Couldn't json-deserialize file: " << filename
+ << ": " << error_message;
+ return make_scoped_ptr(result);
+}
+
+} // namespace
+
namespace onc {
TEST(ONCDecrypterTest, BrokenEncryptionIterations) {
@@ -136,5 +162,61 @@ TEST(ONCResolveServerCertRefs, ResolveServerCertRefs) {
}
}
+TEST(ONCUtils, ProxySettingsToProxyConfig) {
+ scoped_ptr<base::Value> test_data(ReadTestJson("proxy_config.json"));
+
+ base::ListValue* list_of_tests;
+ test_data->GetAsList(&list_of_tests);
+ ASSERT_TRUE(list_of_tests);
+
+ int index = 0;
+ for (base::ListValue::iterator it = list_of_tests->begin();
+ it != list_of_tests->end(); ++it, ++index) {
+ SCOPED_TRACE("Test case #" + base::IntToString(index));
+
+ base::DictionaryValue* test_case;
+ (*it)->GetAsDictionary(&test_case);
+
+ base::DictionaryValue* onc_proxy_settings;
+ test_case->GetDictionary("ONC_ProxySettings", &onc_proxy_settings);
+
+ base::DictionaryValue* expected_proxy_config;
+ test_case->GetDictionary("ProxyConfig", &expected_proxy_config);
+
+ scoped_ptr<base::DictionaryValue> actual_proxy_config =
+ ConvertOncProxySettingsToProxyConfig(*onc_proxy_settings);
+ EXPECT_TRUE(
+ test_utils::Equals(expected_proxy_config, actual_proxy_config.get()));
+ }
+}
+
+TEST(ONCUtils, ProxyConfigToOncProxySettings) {
+ scoped_ptr<base::Value> test_data(ReadTestJson("proxy_config.json"));
+
+ base::ListValue* list_of_tests;
+ test_data->GetAsList(&list_of_tests);
+ ASSERT_TRUE(list_of_tests);
+
+ int index = 0;
+ for (base::ListValue::iterator it = list_of_tests->begin();
+ it != list_of_tests->end(); ++it, ++index) {
+ SCOPED_TRACE("Test case #" + base::IntToString(index));
+
+ base::DictionaryValue* test_case;
+ (*it)->GetAsDictionary(&test_case);
+
+ base::DictionaryValue* shill_proxy_config;
+ test_case->GetDictionary("ProxyConfig", &shill_proxy_config);
+
+ base::DictionaryValue* onc_proxy_settings;
+ test_case->GetDictionary("ONC_ProxySettings", &onc_proxy_settings);
+
+ scoped_ptr<base::DictionaryValue> actual_proxy_settings =
+ ConvertProxyConfigToOncProxySettings(*shill_proxy_config);
+ EXPECT_TRUE(
+ test_utils::Equals(onc_proxy_settings, actual_proxy_settings.get()));
+ }
+}
+
} // namespace onc
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698