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

Side by Side Diff: chrome/browser/chromeos/cros/onc_network_parser_unittest.cc

Issue 11299236: This moves the ONC parsing code into chromeos/network/onc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix unit tests Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "chrome/browser/chromeos/cros/onc_network_parser.h" 5 #include "chrome/browser/chromeos/cros/onc_network_parser.h"
6 6
7 #include <cert.h> 7 #include <cert.h>
8 #include <keyhi.h> 8 #include <keyhi.h>
9 #include <pk11pub.h> 9 #include <pk11pub.h>
10 10
11 #include "base/file_util.h" 11 #include "base/file_util.h"
12 #include "base/json/json_reader.h" 12 #include "base/json/json_reader.h"
13 #include "base/json/json_string_value_serializer.h" 13 #include "base/json/json_string_value_serializer.h"
14 #include "base/lazy_instance.h" 14 #include "base/lazy_instance.h"
15 #include "base/message_loop.h" 15 #include "base/message_loop.h"
16 #include "base/path_service.h" 16 #include "base/path_service.h"
17 #include "base/stringprintf.h" 17 #include "base/stringprintf.h"
18 #include "base/threading/thread_restrictions.h" 18 #include "base/threading/thread_restrictions.h"
19 #include "base/values.h" 19 #include "base/values.h"
20 #include "chrome/browser/chromeos/cros/certificate_pattern.h" 20 #include "chrome/browser/chromeos/cros/certificate_pattern.h"
21 #include "chrome/browser/chromeos/cros/cros_library.h" 21 #include "chrome/browser/chromeos/cros/cros_library.h"
22 #include "chrome/browser/chromeos/cros/network_library.h" 22 #include "chrome/browser/chromeos/cros/network_library.h"
23 #include "chrome/browser/chromeos/cros/onc_constants.h"
24 #include "chrome/browser/chromeos/login/mock_user_manager.h" 23 #include "chrome/browser/chromeos/login/mock_user_manager.h"
25 #include "chrome/browser/chromeos/network_settings/onc_utils.h"
26 #include "chrome/browser/net/pref_proxy_config_tracker_impl.h" 24 #include "chrome/browser/net/pref_proxy_config_tracker_impl.h"
27 #include "chrome/common/chrome_paths.h" 25 #include "chrome/common/chrome_paths.h"
28 #include "chrome/common/net/x509_certificate_model.h" 26 #include "chrome/common/net/x509_certificate_model.h"
29 #include "chrome/test/base/testing_browser_process.h" 27 #include "chrome/test/base/testing_browser_process.h"
30 #include "chrome/test/base/testing_pref_service.h" 28 #include "chrome/test/base/testing_pref_service.h"
31 #include "chromeos/dbus/dbus_thread_manager.h" 29 #include "chromeos/dbus/dbus_thread_manager.h"
30 #include "chromeos/network/onc/onc_constants.h"
31 #include "chromeos/network/onc/onc_utils.h"
32 #include "content/public/test/test_browser_thread.h" 32 #include "content/public/test/test_browser_thread.h"
33 #include "crypto/nss_util.h" 33 #include "crypto/nss_util.h"
34 #include "net/base/cert_type.h" 34 #include "net/base/cert_type.h"
35 #include "net/base/crypto_module.h" 35 #include "net/base/crypto_module.h"
36 #include "net/base/nss_cert_database.h" 36 #include "net/base/nss_cert_database.h"
37 #include "net/base/x509_certificate.h" 37 #include "net/base/x509_certificate.h"
38 #include "net/proxy/proxy_config.h" 38 #include "net/proxy/proxy_config.h"
39 #include "testing/gtest/include/gtest/gtest.h" 39 #include "testing/gtest/include/gtest/gtest.h"
40 #include "third_party/cros_system_api/dbus/service_constants.h" 40 #include "third_party/cros_system_api/dbus/service_constants.h"
41 41
(...skipping 28 matching lines...) Expand all
70 } 70 }
71 71
72 virtual void TearDown() { 72 virtual void TearDown() {
73 EXPECT_TRUE(CleanupSlotContents(slot_->os_module_handle())); 73 EXPECT_TRUE(CleanupSlotContents(slot_->os_module_handle()));
74 EXPECT_EQ(0U, ListCertsInSlot(slot_->os_module_handle()).size()); 74 EXPECT_EQ(0U, ListCertsInSlot(slot_->os_module_handle()).size());
75 } 75 }
76 76
77 virtual scoped_ptr<base::ListValue> ReadNetworkConfigs( 77 virtual scoped_ptr<base::ListValue> ReadNetworkConfigs(
78 const std::string& filename) { 78 const std::string& filename) {
79 FilePath path; 79 FilePath path;
80 std::string error;
81 PathService::Get(chrome::DIR_TEST_DATA, &path); 80 PathService::Get(chrome::DIR_TEST_DATA, &path);
82 path = path.AppendASCII("chromeos").AppendASCII("cros").Append(filename); 81 path = path.AppendASCII("chromeos").AppendASCII("cros").Append(filename);
83 CHECK(file_util::PathExists(path)) 82 CHECK(file_util::PathExists(path))
84 << "Couldn't find test data file " << path.value(); 83 << "Couldn't find test data file " << path.value();
85 std::string contents; 84 std::string contents;
86 CHECK(file_util::ReadFileToString(path, &contents)) 85 CHECK(file_util::ReadFileToString(path, &contents))
87 << "Unable to read test data file " << path.value(); 86 << "Unable to read test data file " << path.value();
88 87
89 scoped_ptr<base::DictionaryValue> root = 88 scoped_ptr<base::DictionaryValue> root =
90 onc::ReadDictionaryFromJson(contents, &error); 89 onc::ReadDictionaryFromJson(contents);
91 CHECK(root.get() != NULL) << "ONC is not a valid json dictionary: " 90 CHECK(root.get() != NULL) << "ONC is not a valid JSON dictionary.";
92 << error;
93 91
94 base::ListValue* network_configs; 92 base::ListValue* network_configs;
95 CHECK(root->GetListWithoutPathExpansion(onc::kNetworkConfigurations, 93 CHECK(root->GetListWithoutPathExpansion(onc::kNetworkConfigurations,
96 &network_configs)); 94 &network_configs));
97 return make_scoped_ptr(network_configs->DeepCopy()); 95 return make_scoped_ptr(network_configs->DeepCopy());
98 } 96 }
99 97
100 const base::Value* GetExpectedProperty(const Network* network, 98 const base::Value* GetExpectedProperty(const Network* network,
101 PropertyIndex index, 99 PropertyIndex index,
102 base::Value::Type expected_type); 100 base::Value::Type expected_type);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 bool bool_value = false; 182 bool bool_value = false;
185 value->GetAsBoolean(&bool_value); 183 value->GetAsBoolean(&bool_value);
186 EXPECT_EQ(expected, bool_value); 184 EXPECT_EQ(expected, bool_value);
187 } 185 }
188 186
189 void OncNetworkParserTest::TestProxySettings(const std::string filename, 187 void OncNetworkParserTest::TestProxySettings(const std::string filename,
190 net::ProxyConfig* net_config) { 188 net::ProxyConfig* net_config) {
191 // Parse Network Configuration including ProxySettings dictionary. 189 // Parse Network Configuration including ProxySettings dictionary.
192 scoped_ptr<base::ListValue> network_configs = ReadNetworkConfigs(filename); 190 scoped_ptr<base::ListValue> network_configs = ReadNetworkConfigs(filename);
193 OncNetworkParser parser(*network_configs, 191 OncNetworkParser parser(*network_configs,
194 NetworkUIData::ONC_SOURCE_USER_IMPORT); 192 onc::ONC_SOURCE_USER_IMPORT);
195 193
196 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 194 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
197 ASSERT_TRUE(network.get()); 195 ASSERT_TRUE(network.get());
198 EXPECT_FALSE(network->proxy_config().empty()); 196 EXPECT_FALSE(network->proxy_config().empty());
199 197
200 // Deserialize ProxyConfig string property of Network into 198 // Deserialize ProxyConfig string property of Network into
201 // ProxyConfigDictionary and decode into net::ProxyConfig. 199 // ProxyConfigDictionary and decode into net::ProxyConfig.
202 JSONStringValueSerializer serializer(network->proxy_config()); 200 JSONStringValueSerializer serializer(network->proxy_config());
203 scoped_ptr<Value> value(serializer.Deserialize(NULL, NULL)); 201 scoped_ptr<Value> value(serializer.Deserialize(NULL, NULL));
204 ASSERT_TRUE(value.get()); 202 ASSERT_TRUE(value.get());
205 EXPECT_TRUE(value->GetType() == Value::TYPE_DICTIONARY); 203 EXPECT_TRUE(value->GetType() == Value::TYPE_DICTIONARY);
206 DictionaryValue* dict = static_cast<DictionaryValue*>(value.get()); 204 DictionaryValue* dict = static_cast<DictionaryValue*>(value.get());
207 ProxyConfigDictionary proxy_dict(dict); 205 ProxyConfigDictionary proxy_dict(dict);
208 EXPECT_TRUE(PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(proxy_dict, 206 EXPECT_TRUE(PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(proxy_dict,
209 net_config)); 207 net_config));
210 } 208 }
211 209
212 TEST_F(OncNetworkParserTest, TestCreateNetworkWifi) { 210 TEST_F(OncNetworkParserTest, TestCreateNetworkWifi) {
213 scoped_ptr<base::ListValue> network_configs = 211 scoped_ptr<base::ListValue> network_configs =
214 ReadNetworkConfigs("network-wifi.onc"); 212 ReadNetworkConfigs("network-wifi.onc");
215 OncNetworkParser parser(*network_configs, 213 OncNetworkParser parser(*network_configs,
216 NetworkUIData::ONC_SOURCE_USER_IMPORT); 214 onc::ONC_SOURCE_USER_IMPORT);
217 215
218 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 216 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
219 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 217 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
220 ASSERT_TRUE(network.get()); 218 ASSERT_TRUE(network.get());
221 219
222 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); 220 EXPECT_EQ(chromeos::TYPE_WIFI, network->type());
223 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); 221 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get());
224 EXPECT_EQ(chromeos::SECURITY_WEP, wifi->encryption()); 222 EXPECT_EQ(chromeos::SECURITY_WEP, wifi->encryption());
225 CheckStringProperty(wifi, PROPERTY_INDEX_SECURITY, flimflam::kSecurityWep); 223 CheckStringProperty(wifi, PROPERTY_INDEX_SECURITY, flimflam::kSecurityWep);
226 EXPECT_EQ("ssid", wifi->name()); 224 EXPECT_EQ("ssid", wifi->name());
227 CheckStringProperty(wifi, PROPERTY_INDEX_SSID, "ssid"); 225 CheckStringProperty(wifi, PROPERTY_INDEX_SSID, "ssid");
228 EXPECT_FALSE(wifi->auto_connect()); 226 EXPECT_FALSE(wifi->auto_connect());
229 EXPECT_EQ("0x1234567890", wifi->passphrase()); 227 EXPECT_EQ("0x1234567890", wifi->passphrase());
230 CheckStringProperty(wifi, PROPERTY_INDEX_PASSPHRASE, "0x1234567890"); 228 CheckStringProperty(wifi, PROPERTY_INDEX_PASSPHRASE, "0x1234567890");
231 } 229 }
232 230
233 TEST_F(OncNetworkParserTest, TestCreateNetworkEthernet) { 231 TEST_F(OncNetworkParserTest, TestCreateNetworkEthernet) {
234 scoped_ptr<base::ListValue> network_configs = 232 scoped_ptr<base::ListValue> network_configs =
235 ReadNetworkConfigs("network-ethernet.onc"); 233 ReadNetworkConfigs("network-ethernet.onc");
236 OncNetworkParser parser(*network_configs, 234 OncNetworkParser parser(*network_configs,
237 NetworkUIData::ONC_SOURCE_USER_IMPORT); 235 onc::ONC_SOURCE_USER_IMPORT);
238 236
239 EXPECT_GE(parser.GetNetworkConfigsSize(), 1); 237 EXPECT_GE(parser.GetNetworkConfigsSize(), 1);
240 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 238 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
241 ASSERT_TRUE(network.get()); 239 ASSERT_TRUE(network.get());
242 240
243 EXPECT_EQ(chromeos::TYPE_ETHERNET, network->type()); 241 EXPECT_EQ(chromeos::TYPE_ETHERNET, network->type());
244 EthernetNetwork* ethernet = static_cast<EthernetNetwork*>(network.get()); 242 EthernetNetwork* ethernet = static_cast<EthernetNetwork*>(network.get());
245 EXPECT_EQ(ethernet->unique_id(), "{485d6076-dd44-6b6d-69787465725f5045}"); 243 EXPECT_EQ(ethernet->unique_id(), "{485d6076-dd44-6b6d-69787465725f5045}");
246 } 244 }
247 245
248 TEST_F(OncNetworkParserTest, TestLoadWifiCertificatePattern) { 246 TEST_F(OncNetworkParserTest, TestLoadWifiCertificatePattern) {
249 scoped_ptr<base::ListValue> network_configs = 247 scoped_ptr<base::ListValue> network_configs =
250 ReadNetworkConfigs("cert-pattern.onc"); 248 ReadNetworkConfigs("cert-pattern.onc");
251 OncNetworkParser parser(*network_configs, 249 OncNetworkParser parser(*network_configs,
252 NetworkUIData::ONC_SOURCE_USER_IMPORT); 250 onc::ONC_SOURCE_USER_IMPORT);
253 ASSERT_TRUE(parser.parse_error().empty()); 251 ASSERT_TRUE(parser.parse_error().empty());
254 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 252 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
255 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 253 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
256 ASSERT_TRUE(network.get()); 254 ASSERT_TRUE(network.get());
257 255
258 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); 256 EXPECT_EQ(chromeos::TYPE_WIFI, network->type());
259 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); 257 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get());
260 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); 258 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption());
261 EXPECT_EQ("WirelessNetwork", wifi->name()); 259 EXPECT_EQ("WirelessNetwork", wifi->name());
262 EXPECT_FALSE(wifi->auto_connect()); 260 EXPECT_FALSE(wifi->auto_connect());
263 EXPECT_EQ("", wifi->passphrase()); 261 EXPECT_EQ("", wifi->passphrase());
264 EXPECT_EQ(chromeos::EAP_METHOD_TLS, wifi->eap_method()); 262 EXPECT_EQ(chromeos::EAP_METHOD_TLS, wifi->eap_method());
265 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, wifi->client_cert_type()); 263 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, wifi->client_cert_type());
266 EXPECT_EQ("Google, Inc.", 264 EXPECT_EQ("Google, Inc.",
267 wifi->client_cert_pattern().issuer().organization()); 265 wifi->client_cert_pattern().issuer().organization());
268 ASSERT_EQ(2ul, wifi->client_cert_pattern().enrollment_uri_list().size()); 266 ASSERT_EQ(2ul, wifi->client_cert_pattern().enrollment_uri_list().size());
269 EXPECT_EQ("http://youtu.be/dQw4w9WgXcQ", 267 EXPECT_EQ("http://youtu.be/dQw4w9WgXcQ",
270 wifi->client_cert_pattern().enrollment_uri_list()[0]); 268 wifi->client_cert_pattern().enrollment_uri_list()[0]);
271 EXPECT_EQ("chrome-extension://abc/keygen-cert.html", 269 EXPECT_EQ("chrome-extension://abc/keygen-cert.html",
272 wifi->client_cert_pattern().enrollment_uri_list()[1]); 270 wifi->client_cert_pattern().enrollment_uri_list()[1]);
273 } 271 }
274 272
275 273
276 TEST_F(OncNetworkParserTest, TestLoadVPNCertificatePattern) { 274 TEST_F(OncNetworkParserTest, TestLoadVPNCertificatePattern) {
277 scoped_ptr<base::ListValue> network_configs = 275 scoped_ptr<base::ListValue> network_configs =
278 ReadNetworkConfigs("cert-pattern-vpn.onc"); 276 ReadNetworkConfigs("cert-pattern-vpn.onc");
279 OncNetworkParser parser(*network_configs, 277 OncNetworkParser parser(*network_configs,
280 NetworkUIData::ONC_SOURCE_USER_IMPORT); 278 onc::ONC_SOURCE_USER_IMPORT);
281 ASSERT_TRUE(parser.parse_error().empty()); 279 ASSERT_TRUE(parser.parse_error().empty());
282 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 280 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
283 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 281 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
284 ASSERT_TRUE(network.get()); 282 ASSERT_TRUE(network.get());
285 283
286 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); 284 EXPECT_EQ(chromeos::TYPE_VPN, network->type());
287 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); 285 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get());
288 EXPECT_EQ("MyVPN", vpn->name()); 286 EXPECT_EQ("MyVPN", vpn->name());
289 EXPECT_FALSE(vpn->auto_connect()); 287 EXPECT_FALSE(vpn->auto_connect());
290 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, vpn->client_cert_type()); 288 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, vpn->client_cert_type());
291 EXPECT_EQ("Google, Inc.", 289 EXPECT_EQ("Google, Inc.",
292 vpn->client_cert_pattern().issuer().organization()); 290 vpn->client_cert_pattern().issuer().organization());
293 ASSERT_EQ(2ul, vpn->client_cert_pattern().enrollment_uri_list().size()); 291 ASSERT_EQ(2ul, vpn->client_cert_pattern().enrollment_uri_list().size());
294 EXPECT_EQ("http://youtu.be/dQw4w9WgXcQ", 292 EXPECT_EQ("http://youtu.be/dQw4w9WgXcQ",
295 vpn->client_cert_pattern().enrollment_uri_list()[0]); 293 vpn->client_cert_pattern().enrollment_uri_list()[0]);
296 EXPECT_EQ("chrome-extension://abc/keygen-cert.html", 294 EXPECT_EQ("chrome-extension://abc/keygen-cert.html",
297 vpn->client_cert_pattern().enrollment_uri_list()[1]); 295 vpn->client_cert_pattern().enrollment_uri_list()[1]);
298 } 296 }
299 297
300 TEST_F(OncNetworkParserTest, TestNoCertificatePatternForDevicePolicy) { 298 TEST_F(OncNetworkParserTest, TestNoCertificatePatternForDevicePolicy) {
301 scoped_ptr<base::ListValue> network_configs = 299 scoped_ptr<base::ListValue> network_configs =
302 ReadNetworkConfigs("cert-pattern.onc"); 300 ReadNetworkConfigs("cert-pattern.onc");
303 OncNetworkParser parser(*network_configs, 301 OncNetworkParser parser(*network_configs,
304 NetworkUIData::ONC_SOURCE_DEVICE_POLICY); 302 onc::ONC_SOURCE_DEVICE_POLICY);
305 303
306 // Make sure we fail when parsing a certificate pattern from a device policy 304 // Make sure we fail when parsing a certificate pattern from a device policy
307 // ONC file. 305 // ONC file.
308 ASSERT_TRUE(parser.parse_error().empty()); 306 ASSERT_TRUE(parser.parse_error().empty());
309 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 307 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
310 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 308 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
311 ASSERT_TRUE(network.get()); 309 ASSERT_TRUE(network.get());
312 310
313 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); 311 EXPECT_EQ(chromeos::TYPE_WIFI, network->type());
314 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); 312 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get());
315 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); 313 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption());
316 EXPECT_EQ("WirelessNetwork", wifi->name()); 314 EXPECT_EQ("WirelessNetwork", wifi->name());
317 EXPECT_FALSE(wifi->auto_connect()); 315 EXPECT_FALSE(wifi->auto_connect());
318 EXPECT_EQ("", wifi->passphrase()); 316 EXPECT_EQ("", wifi->passphrase());
319 EXPECT_EQ(chromeos::EAP_METHOD_TLS, wifi->eap_method()); 317 EXPECT_EQ(chromeos::EAP_METHOD_TLS, wifi->eap_method());
320 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, wifi->client_cert_type()); 318 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, wifi->client_cert_type());
321 EXPECT_EQ("", wifi->client_cert_pattern().issuer().organization()); 319 EXPECT_EQ("", wifi->client_cert_pattern().issuer().organization());
322 ASSERT_EQ(0ul, wifi->client_cert_pattern().enrollment_uri_list().size()); 320 ASSERT_EQ(0ul, wifi->client_cert_pattern().enrollment_uri_list().size());
323 } 321 }
324 322
325 TEST_F(OncNetworkParserTest, TestCreateNetworkWifiEAP1) { 323 TEST_F(OncNetworkParserTest, TestCreateNetworkWifiEAP1) {
326 scoped_ptr<base::ListValue> network_configs = 324 scoped_ptr<base::ListValue> network_configs =
327 ReadNetworkConfigs("network-wifi-eap1.onc"); 325 ReadNetworkConfigs("network-wifi-eap1.onc");
328 OncNetworkParser parser(*network_configs, 326 OncNetworkParser parser(*network_configs,
329 NetworkUIData::ONC_SOURCE_USER_IMPORT); 327 onc::ONC_SOURCE_USER_IMPORT);
330 328
331 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 329 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
332 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 330 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
333 ASSERT_TRUE(network.get()); 331 ASSERT_TRUE(network.get());
334 332
335 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); 333 EXPECT_EQ(chromeos::TYPE_WIFI, network->type());
336 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); 334 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get());
337 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); 335 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption());
338 CheckStringProperty(wifi, PROPERTY_INDEX_SECURITY, flimflam::kSecurity8021x); 336 CheckStringProperty(wifi, PROPERTY_INDEX_SECURITY, flimflam::kSecurity8021x);
339 EXPECT_EQ("ssid", wifi->name()); 337 EXPECT_EQ("ssid", wifi->name());
340 EXPECT_EQ(true, wifi->auto_connect()); 338 EXPECT_EQ(true, wifi->auto_connect());
341 CheckBooleanProperty(wifi, PROPERTY_INDEX_AUTO_CONNECT, true); 339 CheckBooleanProperty(wifi, PROPERTY_INDEX_AUTO_CONNECT, true);
342 EXPECT_EQ(EAP_METHOD_PEAP, wifi->eap_method()); 340 EXPECT_EQ(EAP_METHOD_PEAP, wifi->eap_method());
343 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_METHOD, 341 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_METHOD,
344 flimflam::kEapMethodPEAP); 342 flimflam::kEapMethodPEAP);
345 EXPECT_FALSE(wifi->eap_use_system_cas()); 343 EXPECT_FALSE(wifi->eap_use_system_cas());
346 } 344 }
347 345
348 TEST_F(OncNetworkParserTest, TestCreateNetworkWifiEAP2) { 346 TEST_F(OncNetworkParserTest, TestCreateNetworkWifiEAP2) {
349 scoped_ptr<base::ListValue> network_configs = 347 scoped_ptr<base::ListValue> network_configs =
350 ReadNetworkConfigs("network-wifi-eap2.onc"); 348 ReadNetworkConfigs("network-wifi-eap2.onc");
351 OncNetworkParser parser(*network_configs, 349 OncNetworkParser parser(*network_configs,
352 NetworkUIData::ONC_SOURCE_USER_IMPORT); 350 onc::ONC_SOURCE_USER_IMPORT);
353 351
354 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 352 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
355 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 353 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
356 ASSERT_TRUE(network.get()); 354 ASSERT_TRUE(network.get());
357 355
358 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); 356 EXPECT_EQ(chromeos::TYPE_WIFI, network->type());
359 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); 357 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get());
360 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); 358 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption());
361 EXPECT_EQ("ssid", wifi->name()); 359 EXPECT_EQ("ssid", wifi->name());
362 EXPECT_FALSE(wifi->auto_connect()); 360 EXPECT_FALSE(wifi->auto_connect());
363 EXPECT_EQ(EAP_METHOD_LEAP, wifi->eap_method()); 361 EXPECT_EQ(EAP_METHOD_LEAP, wifi->eap_method());
364 EXPECT_EQ(true, wifi->eap_use_system_cas()); 362 EXPECT_EQ(true, wifi->eap_use_system_cas());
365 EXPECT_EQ("user", wifi->eap_identity()); 363 EXPECT_EQ("user", wifi->eap_identity());
366 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_IDENTITY, "user"); 364 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_IDENTITY, "user");
367 EXPECT_EQ("pass", wifi->eap_passphrase()); 365 EXPECT_EQ("pass", wifi->eap_passphrase());
368 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_PASSWORD, "pass"); 366 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_PASSWORD, "pass");
369 EXPECT_EQ("anon", wifi->eap_anonymous_identity()); 367 EXPECT_EQ("anon", wifi->eap_anonymous_identity());
370 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_ANONYMOUS_IDENTITY, "anon"); 368 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_ANONYMOUS_IDENTITY, "anon");
371 } 369 }
372 370
373 TEST_F(OncNetworkParserTest, TestCreateNetworkUnknownFields) { 371 TEST_F(OncNetworkParserTest, TestCreateNetworkUnknownFields) {
374 scoped_ptr<base::ListValue> network_configs = 372 scoped_ptr<base::ListValue> network_configs =
375 ReadNetworkConfigs("network-unknown-fields.onc"); 373 ReadNetworkConfigs("network-unknown-fields.onc");
376 OncNetworkParser parser(*network_configs, 374 OncNetworkParser parser(*network_configs,
377 NetworkUIData::ONC_SOURCE_USER_IMPORT); 375 onc::ONC_SOURCE_USER_IMPORT);
378 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 376 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
379 ASSERT_TRUE(network.get()); 377 ASSERT_TRUE(network.get());
380 378
381 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); 379 EXPECT_EQ(chromeos::TYPE_WIFI, network->type());
382 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); 380 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get());
383 EXPECT_EQ(chromeos::SECURITY_WEP, wifi->encryption()); 381 EXPECT_EQ(chromeos::SECURITY_WEP, wifi->encryption());
384 EXPECT_EQ("ssid", wifi->name()); 382 EXPECT_EQ("ssid", wifi->name());
385 EXPECT_EQ("z123456789012", wifi->passphrase()); 383 EXPECT_EQ("z123456789012", wifi->passphrase());
386 } 384 }
387 385
388 TEST_F(OncNetworkParserTest, TestCreateNetworkOpenVPN) { 386 TEST_F(OncNetworkParserTest, TestCreateNetworkOpenVPN) {
389 scoped_ptr<base::ListValue> network_configs = 387 scoped_ptr<base::ListValue> network_configs =
390 ReadNetworkConfigs("network-openvpn.onc"); 388 ReadNetworkConfigs("network-openvpn.onc");
391 OncNetworkParser parser(*network_configs, 389 OncNetworkParser parser(*network_configs,
392 NetworkUIData::ONC_SOURCE_USER_IMPORT); 390 onc::ONC_SOURCE_USER_IMPORT);
393 391
394 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 392 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
395 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 393 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
396 ASSERT_TRUE(network.get() != NULL); 394 ASSERT_TRUE(network.get() != NULL);
397 395
398 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); 396 EXPECT_EQ(chromeos::TYPE_VPN, network->type());
399 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); 397 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN);
400 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); 398 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get());
401 EXPECT_EQ("MyVPN", vpn->name()); 399 EXPECT_EQ("MyVPN", vpn->name());
402 EXPECT_EQ(PROVIDER_TYPE_OPEN_VPN, vpn->provider_type()); 400 EXPECT_EQ(PROVIDER_TYPE_OPEN_VPN, vpn->provider_type());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 CheckStringProperty(vpn, PROPERTY_INDEX_OPEN_VPN_TLSREMOTE, 438 CheckStringProperty(vpn, PROPERTY_INDEX_OPEN_VPN_TLSREMOTE,
441 "MyOpenVPNServer"); 439 "MyOpenVPNServer");
442 EXPECT_FALSE(vpn->save_credentials()); 440 EXPECT_FALSE(vpn->save_credentials());
443 EXPECT_EQ("{55ca78f6-0842-4e1b-96a3-09a9e1a26ef5}", vpn->ca_cert_nss()); 441 EXPECT_EQ("{55ca78f6-0842-4e1b-96a3-09a9e1a26ef5}", vpn->ca_cert_nss());
444 } 442 }
445 443
446 TEST_F(OncNetworkParserTest, TestCreateNetworkL2TPIPsec) { 444 TEST_F(OncNetworkParserTest, TestCreateNetworkL2TPIPsec) {
447 scoped_ptr<base::ListValue> network_configs = 445 scoped_ptr<base::ListValue> network_configs =
448 ReadNetworkConfigs("network-l2tp-ipsec.onc"); 446 ReadNetworkConfigs("network-l2tp-ipsec.onc");
449 OncNetworkParser parser(*network_configs, 447 OncNetworkParser parser(*network_configs,
450 NetworkUIData::ONC_SOURCE_USER_IMPORT); 448 onc::ONC_SOURCE_USER_IMPORT);
451 449
452 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 450 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
453 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); 451 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL));
454 ASSERT_TRUE(network != NULL); 452 ASSERT_TRUE(network != NULL);
455 453
456 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); 454 EXPECT_EQ(chromeos::TYPE_VPN, network->type());
457 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); 455 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN);
458 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); 456 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get());
459 EXPECT_EQ("MyL2TPVPN", vpn->name()); 457 EXPECT_EQ("MyL2TPVPN", vpn->name());
460 EXPECT_EQ(PROVIDER_TYPE_L2TP_IPSEC_PSK, vpn->provider_type()); 458 EXPECT_EQ(PROVIDER_TYPE_L2TP_IPSEC_PSK, vpn->provider_type());
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 } 539 }
542 540
543 TEST(OncNetworkParserUserExpansionTest, GetUserExpandedValue) { 541 TEST(OncNetworkParserUserExpansionTest, GetUserExpandedValue) {
544 ScopedMockUserManagerEnabler mock_user_manager; 542 ScopedMockUserManagerEnabler mock_user_manager;
545 mock_user_manager.user_manager()->SetLoggedInUser("onc@example.com"); 543 mock_user_manager.user_manager()->SetLoggedInUser("onc@example.com");
546 544
547 EXPECT_CALL(*mock_user_manager.user_manager(), IsUserLoggedIn()) 545 EXPECT_CALL(*mock_user_manager.user_manager(), IsUserLoggedIn())
548 .Times(2) 546 .Times(2)
549 .WillRepeatedly(Return(false)); 547 .WillRepeatedly(Return(false));
550 548
551 NetworkUIData::ONCSource source = NetworkUIData::ONC_SOURCE_USER_IMPORT; 549 onc::ONCSource source = onc::ONC_SOURCE_USER_IMPORT;
552 550
553 // Setup environment needed by UserManager. 551 // Setup environment needed by UserManager.
554 MessageLoop loop; 552 MessageLoop loop;
555 content::TestBrowserThread ui_thread(content::BrowserThread::UI, &loop); 553 content::TestBrowserThread ui_thread(content::BrowserThread::UI, &loop);
556 base::ShadowingAtExitManager at_exit_manager; 554 base::ShadowingAtExitManager at_exit_manager;
557 ScopedTestingLocalState local_state( 555 ScopedTestingLocalState local_state(
558 static_cast<TestingBrowserProcess*>(g_browser_process)); 556 static_cast<TestingBrowserProcess*>(g_browser_process));
559 557
560 base::StringValue login_id_pattern("a ${LOGIN_ID} b"); 558 base::StringValue login_id_pattern("a ${LOGIN_ID} b");
561 base::StringValue login_email_pattern("a ${LOGIN_EMAIL} b"); 559 base::StringValue login_email_pattern("a ${LOGIN_EMAIL} b");
(...skipping 16 matching lines...) Expand all
578 login_id_pattern, source)); 576 login_id_pattern, source));
579 EXPECT_EQ("a onc@example.com b", 577 EXPECT_EQ("a onc@example.com b",
580 chromeos::OncNetworkParser::GetUserExpandedValue( 578 chromeos::OncNetworkParser::GetUserExpandedValue(
581 login_email_pattern, source)); 579 login_email_pattern, source));
582 } 580 }
583 581
584 TEST_F(OncNetworkParserTest, TestRemoveNetworkWifi) { 582 TEST_F(OncNetworkParserTest, TestRemoveNetworkWifi) {
585 scoped_ptr<base::ListValue> network_configs = 583 scoped_ptr<base::ListValue> network_configs =
586 ReadNetworkConfigs("network-wifi-remove.onc"); 584 ReadNetworkConfigs("network-wifi-remove.onc");
587 OncNetworkParser parser(*network_configs, 585 OncNetworkParser parser(*network_configs,
588 NetworkUIData::ONC_SOURCE_USER_IMPORT); 586 onc::ONC_SOURCE_USER_IMPORT);
589 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); 587 EXPECT_EQ(1, parser.GetNetworkConfigsSize());
590 bool marked_for_removal = false; 588 bool marked_for_removal = false;
591 scoped_ptr<Network> network(parser.ParseNetwork(0, &marked_for_removal)); 589 scoped_ptr<Network> network(parser.ParseNetwork(0, &marked_for_removal));
592 590
593 EXPECT_TRUE(marked_for_removal); 591 EXPECT_TRUE(marked_for_removal);
594 EXPECT_EQ("{485d6076-dd44-6b6d-69787465725f5045}", network->unique_id()); 592 EXPECT_EQ("{485d6076-dd44-6b6d-69787465725f5045}", network->unique_id());
595 } 593 }
596 594
597 } // namespace chromeos 595 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698