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 "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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 bool bool_value = false; | 184 bool bool_value = false; |
185 value->GetAsBoolean(&bool_value); | 185 value->GetAsBoolean(&bool_value); |
186 EXPECT_EQ(expected, bool_value); | 186 EXPECT_EQ(expected, bool_value); |
187 } | 187 } |
188 | 188 |
189 void OncNetworkParserTest::TestProxySettings(const std::string filename, | 189 void OncNetworkParserTest::TestProxySettings(const std::string filename, |
190 net::ProxyConfig* net_config) { | 190 net::ProxyConfig* net_config) { |
191 // Parse Network Configuration including ProxySettings dictionary. | 191 // Parse Network Configuration including ProxySettings dictionary. |
192 scoped_ptr<base::ListValue> network_configs = ReadNetworkConfigs(filename); | 192 scoped_ptr<base::ListValue> network_configs = ReadNetworkConfigs(filename); |
193 OncNetworkParser parser(*network_configs, | 193 OncNetworkParser parser(*network_configs, |
194 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 194 onc::ONC_SOURCE_USER_IMPORT); |
195 | 195 |
196 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 196 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
197 ASSERT_TRUE(network.get()); | 197 ASSERT_TRUE(network.get()); |
198 EXPECT_FALSE(network->proxy_config().empty()); | 198 EXPECT_FALSE(network->proxy_config().empty()); |
199 | 199 |
200 // Deserialize ProxyConfig string property of Network into | 200 // Deserialize ProxyConfig string property of Network into |
201 // ProxyConfigDictionary and decode into net::ProxyConfig. | 201 // ProxyConfigDictionary and decode into net::ProxyConfig. |
202 JSONStringValueSerializer serializer(network->proxy_config()); | 202 JSONStringValueSerializer serializer(network->proxy_config()); |
203 scoped_ptr<Value> value(serializer.Deserialize(NULL, NULL)); | 203 scoped_ptr<Value> value(serializer.Deserialize(NULL, NULL)); |
204 ASSERT_TRUE(value.get()); | 204 ASSERT_TRUE(value.get()); |
205 EXPECT_TRUE(value->GetType() == Value::TYPE_DICTIONARY); | 205 EXPECT_TRUE(value->GetType() == Value::TYPE_DICTIONARY); |
206 DictionaryValue* dict = static_cast<DictionaryValue*>(value.get()); | 206 DictionaryValue* dict = static_cast<DictionaryValue*>(value.get()); |
207 ProxyConfigDictionary proxy_dict(dict); | 207 ProxyConfigDictionary proxy_dict(dict); |
208 EXPECT_TRUE(PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(proxy_dict, | 208 EXPECT_TRUE(PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(proxy_dict, |
209 net_config)); | 209 net_config)); |
210 } | 210 } |
211 | 211 |
212 TEST_F(OncNetworkParserTest, TestCreateNetworkWifi) { | 212 TEST_F(OncNetworkParserTest, TestCreateNetworkWifi) { |
213 scoped_ptr<base::ListValue> network_configs = | 213 scoped_ptr<base::ListValue> network_configs = |
214 ReadNetworkConfigs("network-wifi.onc"); | 214 ReadNetworkConfigs("network-wifi.onc"); |
215 OncNetworkParser parser(*network_configs, | 215 OncNetworkParser parser(*network_configs, |
216 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 216 onc::ONC_SOURCE_USER_IMPORT); |
217 | 217 |
218 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 218 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
219 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 219 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
220 ASSERT_TRUE(network.get()); | 220 ASSERT_TRUE(network.get()); |
221 | 221 |
222 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); | 222 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); |
223 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 223 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
224 EXPECT_EQ(chromeos::SECURITY_WEP, wifi->encryption()); | 224 EXPECT_EQ(chromeos::SECURITY_WEP, wifi->encryption()); |
225 CheckStringProperty(wifi, PROPERTY_INDEX_SECURITY, flimflam::kSecurityWep); | 225 CheckStringProperty(wifi, PROPERTY_INDEX_SECURITY, flimflam::kSecurityWep); |
226 EXPECT_EQ("ssid", wifi->name()); | 226 EXPECT_EQ("ssid", wifi->name()); |
227 CheckStringProperty(wifi, PROPERTY_INDEX_SSID, "ssid"); | 227 CheckStringProperty(wifi, PROPERTY_INDEX_SSID, "ssid"); |
228 EXPECT_FALSE(wifi->auto_connect()); | 228 EXPECT_FALSE(wifi->auto_connect()); |
229 EXPECT_EQ("0x1234567890", wifi->passphrase()); | 229 EXPECT_EQ("0x1234567890", wifi->passphrase()); |
230 CheckStringProperty(wifi, PROPERTY_INDEX_PASSPHRASE, "0x1234567890"); | 230 CheckStringProperty(wifi, PROPERTY_INDEX_PASSPHRASE, "0x1234567890"); |
231 } | 231 } |
232 | 232 |
233 TEST_F(OncNetworkParserTest, TestCreateNetworkEthernet) { | 233 TEST_F(OncNetworkParserTest, TestCreateNetworkEthernet) { |
234 scoped_ptr<base::ListValue> network_configs = | 234 scoped_ptr<base::ListValue> network_configs = |
235 ReadNetworkConfigs("network-ethernet.onc"); | 235 ReadNetworkConfigs("network-ethernet.onc"); |
236 OncNetworkParser parser(*network_configs, | 236 OncNetworkParser parser(*network_configs, |
237 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 237 onc::ONC_SOURCE_USER_IMPORT); |
238 | 238 |
239 EXPECT_GE(parser.GetNetworkConfigsSize(), 1); | 239 EXPECT_GE(parser.GetNetworkConfigsSize(), 1); |
240 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 240 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
241 ASSERT_TRUE(network.get()); | 241 ASSERT_TRUE(network.get()); |
242 | 242 |
243 EXPECT_EQ(chromeos::TYPE_ETHERNET, network->type()); | 243 EXPECT_EQ(chromeos::TYPE_ETHERNET, network->type()); |
244 EthernetNetwork* ethernet = static_cast<EthernetNetwork*>(network.get()); | 244 EthernetNetwork* ethernet = static_cast<EthernetNetwork*>(network.get()); |
245 EXPECT_EQ(ethernet->unique_id(), "{485d6076-dd44-6b6d-69787465725f5045}"); | 245 EXPECT_EQ(ethernet->unique_id(), "{485d6076-dd44-6b6d-69787465725f5045}"); |
246 } | 246 } |
247 | 247 |
248 TEST_F(OncNetworkParserTest, TestLoadWifiCertificatePattern) { | 248 TEST_F(OncNetworkParserTest, TestLoadWifiCertificatePattern) { |
249 scoped_ptr<base::ListValue> network_configs = | 249 scoped_ptr<base::ListValue> network_configs = |
250 ReadNetworkConfigs("cert-pattern.onc"); | 250 ReadNetworkConfigs("cert-pattern.onc"); |
251 OncNetworkParser parser(*network_configs, | 251 OncNetworkParser parser(*network_configs, |
252 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 252 onc::ONC_SOURCE_USER_IMPORT); |
253 ASSERT_TRUE(parser.parse_error().empty()); | 253 ASSERT_TRUE(parser.parse_error().empty()); |
254 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 254 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
255 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 255 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
256 ASSERT_TRUE(network.get()); | 256 ASSERT_TRUE(network.get()); |
257 | 257 |
258 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); | 258 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); |
259 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 259 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
260 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); | 260 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); |
261 EXPECT_EQ("WirelessNetwork", wifi->name()); | 261 EXPECT_EQ("WirelessNetwork", wifi->name()); |
262 EXPECT_FALSE(wifi->auto_connect()); | 262 EXPECT_FALSE(wifi->auto_connect()); |
263 EXPECT_EQ("", wifi->passphrase()); | 263 EXPECT_EQ("", wifi->passphrase()); |
264 EXPECT_EQ(chromeos::EAP_METHOD_TLS, wifi->eap_method()); | 264 EXPECT_EQ(chromeos::EAP_METHOD_TLS, wifi->eap_method()); |
265 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, wifi->client_cert_type()); | 265 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, wifi->client_cert_type()); |
266 EXPECT_EQ("Google, Inc.", | 266 EXPECT_EQ("Google, Inc.", |
267 wifi->client_cert_pattern().issuer().organization()); | 267 wifi->client_cert_pattern().issuer().organization()); |
268 ASSERT_EQ(2ul, wifi->client_cert_pattern().enrollment_uri_list().size()); | 268 ASSERT_EQ(2ul, wifi->client_cert_pattern().enrollment_uri_list().size()); |
269 EXPECT_EQ("http://youtu.be/dQw4w9WgXcQ", | 269 EXPECT_EQ("http://youtu.be/dQw4w9WgXcQ", |
270 wifi->client_cert_pattern().enrollment_uri_list()[0]); | 270 wifi->client_cert_pattern().enrollment_uri_list()[0]); |
271 EXPECT_EQ("chrome-extension://abc/keygen-cert.html", | 271 EXPECT_EQ("chrome-extension://abc/keygen-cert.html", |
272 wifi->client_cert_pattern().enrollment_uri_list()[1]); | 272 wifi->client_cert_pattern().enrollment_uri_list()[1]); |
273 } | 273 } |
274 | 274 |
275 | 275 |
276 TEST_F(OncNetworkParserTest, TestLoadVPNCertificatePattern) { | 276 TEST_F(OncNetworkParserTest, TestLoadVPNCertificatePattern) { |
277 scoped_ptr<base::ListValue> network_configs = | 277 scoped_ptr<base::ListValue> network_configs = |
278 ReadNetworkConfigs("cert-pattern-vpn.onc"); | 278 ReadNetworkConfigs("cert-pattern-vpn.onc"); |
279 OncNetworkParser parser(*network_configs, | 279 OncNetworkParser parser(*network_configs, |
280 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 280 onc::ONC_SOURCE_USER_IMPORT); |
281 ASSERT_TRUE(parser.parse_error().empty()); | 281 ASSERT_TRUE(parser.parse_error().empty()); |
282 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 282 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
283 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 283 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
284 ASSERT_TRUE(network.get()); | 284 ASSERT_TRUE(network.get()); |
285 | 285 |
286 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); | 286 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); |
287 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); | 287 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); |
288 EXPECT_EQ("MyVPN", vpn->name()); | 288 EXPECT_EQ("MyVPN", vpn->name()); |
289 EXPECT_FALSE(vpn->auto_connect()); | 289 EXPECT_FALSE(vpn->auto_connect()); |
290 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, vpn->client_cert_type()); | 290 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, vpn->client_cert_type()); |
291 EXPECT_EQ("Google, Inc.", | 291 EXPECT_EQ("Google, Inc.", |
292 vpn->client_cert_pattern().issuer().organization()); | 292 vpn->client_cert_pattern().issuer().organization()); |
293 ASSERT_EQ(2ul, vpn->client_cert_pattern().enrollment_uri_list().size()); | 293 ASSERT_EQ(2ul, vpn->client_cert_pattern().enrollment_uri_list().size()); |
294 EXPECT_EQ("http://youtu.be/dQw4w9WgXcQ", | 294 EXPECT_EQ("http://youtu.be/dQw4w9WgXcQ", |
295 vpn->client_cert_pattern().enrollment_uri_list()[0]); | 295 vpn->client_cert_pattern().enrollment_uri_list()[0]); |
296 EXPECT_EQ("chrome-extension://abc/keygen-cert.html", | 296 EXPECT_EQ("chrome-extension://abc/keygen-cert.html", |
297 vpn->client_cert_pattern().enrollment_uri_list()[1]); | 297 vpn->client_cert_pattern().enrollment_uri_list()[1]); |
298 } | 298 } |
299 | 299 |
300 TEST_F(OncNetworkParserTest, TestNoCertificatePatternForDevicePolicy) { | 300 TEST_F(OncNetworkParserTest, TestNoCertificatePatternForDevicePolicy) { |
301 scoped_ptr<base::ListValue> network_configs = | 301 scoped_ptr<base::ListValue> network_configs = |
302 ReadNetworkConfigs("cert-pattern.onc"); | 302 ReadNetworkConfigs("cert-pattern.onc"); |
303 OncNetworkParser parser(*network_configs, | 303 OncNetworkParser parser(*network_configs, |
304 NetworkUIData::ONC_SOURCE_DEVICE_POLICY); | 304 onc::ONC_SOURCE_DEVICE_POLICY); |
305 | 305 |
306 // Make sure we fail when parsing a certificate pattern from a device policy | 306 // Make sure we fail when parsing a certificate pattern from a device policy |
307 // ONC file. | 307 // ONC file. |
308 ASSERT_TRUE(parser.parse_error().empty()); | 308 ASSERT_TRUE(parser.parse_error().empty()); |
309 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 309 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
310 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 310 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
311 ASSERT_TRUE(network.get()); | 311 ASSERT_TRUE(network.get()); |
312 | 312 |
313 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); | 313 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); |
314 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 314 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
315 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); | 315 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); |
316 EXPECT_EQ("WirelessNetwork", wifi->name()); | 316 EXPECT_EQ("WirelessNetwork", wifi->name()); |
317 EXPECT_FALSE(wifi->auto_connect()); | 317 EXPECT_FALSE(wifi->auto_connect()); |
318 EXPECT_EQ("", wifi->passphrase()); | 318 EXPECT_EQ("", wifi->passphrase()); |
319 EXPECT_EQ(chromeos::EAP_METHOD_TLS, wifi->eap_method()); | 319 EXPECT_EQ(chromeos::EAP_METHOD_TLS, wifi->eap_method()); |
320 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, wifi->client_cert_type()); | 320 EXPECT_EQ(chromeos::CLIENT_CERT_TYPE_PATTERN, wifi->client_cert_type()); |
321 EXPECT_EQ("", wifi->client_cert_pattern().issuer().organization()); | 321 EXPECT_EQ("", wifi->client_cert_pattern().issuer().organization()); |
322 ASSERT_EQ(0ul, wifi->client_cert_pattern().enrollment_uri_list().size()); | 322 ASSERT_EQ(0ul, wifi->client_cert_pattern().enrollment_uri_list().size()); |
323 } | 323 } |
324 | 324 |
325 TEST_F(OncNetworkParserTest, TestCreateNetworkWifiEAP1) { | 325 TEST_F(OncNetworkParserTest, TestCreateNetworkWifiEAP1) { |
326 scoped_ptr<base::ListValue> network_configs = | 326 scoped_ptr<base::ListValue> network_configs = |
327 ReadNetworkConfigs("network-wifi-eap1.onc"); | 327 ReadNetworkConfigs("network-wifi-eap1.onc"); |
328 OncNetworkParser parser(*network_configs, | 328 OncNetworkParser parser(*network_configs, |
329 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 329 onc::ONC_SOURCE_USER_IMPORT); |
330 | 330 |
331 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 331 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
332 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 332 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
333 ASSERT_TRUE(network.get()); | 333 ASSERT_TRUE(network.get()); |
334 | 334 |
335 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); | 335 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); |
336 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 336 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
337 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); | 337 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); |
338 CheckStringProperty(wifi, PROPERTY_INDEX_SECURITY, flimflam::kSecurity8021x); | 338 CheckStringProperty(wifi, PROPERTY_INDEX_SECURITY, flimflam::kSecurity8021x); |
339 EXPECT_EQ("ssid", wifi->name()); | 339 EXPECT_EQ("ssid", wifi->name()); |
340 EXPECT_EQ(true, wifi->auto_connect()); | 340 EXPECT_EQ(true, wifi->auto_connect()); |
341 CheckBooleanProperty(wifi, PROPERTY_INDEX_AUTO_CONNECT, true); | 341 CheckBooleanProperty(wifi, PROPERTY_INDEX_AUTO_CONNECT, true); |
342 EXPECT_EQ(EAP_METHOD_PEAP, wifi->eap_method()); | 342 EXPECT_EQ(EAP_METHOD_PEAP, wifi->eap_method()); |
343 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_METHOD, | 343 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_METHOD, |
344 flimflam::kEapMethodPEAP); | 344 flimflam::kEapMethodPEAP); |
345 EXPECT_FALSE(wifi->eap_use_system_cas()); | 345 EXPECT_FALSE(wifi->eap_use_system_cas()); |
346 } | 346 } |
347 | 347 |
348 TEST_F(OncNetworkParserTest, TestCreateNetworkWifiEAP2) { | 348 TEST_F(OncNetworkParserTest, TestCreateNetworkWifiEAP2) { |
349 scoped_ptr<base::ListValue> network_configs = | 349 scoped_ptr<base::ListValue> network_configs = |
350 ReadNetworkConfigs("network-wifi-eap2.onc"); | 350 ReadNetworkConfigs("network-wifi-eap2.onc"); |
351 OncNetworkParser parser(*network_configs, | 351 OncNetworkParser parser(*network_configs, |
352 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 352 onc::ONC_SOURCE_USER_IMPORT); |
353 | 353 |
354 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 354 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
355 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 355 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
356 ASSERT_TRUE(network.get()); | 356 ASSERT_TRUE(network.get()); |
357 | 357 |
358 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); | 358 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); |
359 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 359 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
360 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); | 360 EXPECT_EQ(chromeos::SECURITY_8021X, wifi->encryption()); |
361 EXPECT_EQ("ssid", wifi->name()); | 361 EXPECT_EQ("ssid", wifi->name()); |
362 EXPECT_FALSE(wifi->auto_connect()); | 362 EXPECT_FALSE(wifi->auto_connect()); |
363 EXPECT_EQ(EAP_METHOD_LEAP, wifi->eap_method()); | 363 EXPECT_EQ(EAP_METHOD_LEAP, wifi->eap_method()); |
364 EXPECT_EQ(true, wifi->eap_use_system_cas()); | 364 EXPECT_EQ(true, wifi->eap_use_system_cas()); |
365 EXPECT_EQ("user", wifi->eap_identity()); | 365 EXPECT_EQ("user", wifi->eap_identity()); |
366 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_IDENTITY, "user"); | 366 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_IDENTITY, "user"); |
367 EXPECT_EQ("pass", wifi->eap_passphrase()); | 367 EXPECT_EQ("pass", wifi->eap_passphrase()); |
368 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_PASSWORD, "pass"); | 368 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_PASSWORD, "pass"); |
369 EXPECT_EQ("anon", wifi->eap_anonymous_identity()); | 369 EXPECT_EQ("anon", wifi->eap_anonymous_identity()); |
370 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_ANONYMOUS_IDENTITY, "anon"); | 370 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_ANONYMOUS_IDENTITY, "anon"); |
371 } | 371 } |
372 | 372 |
373 TEST_F(OncNetworkParserTest, TestCreateNetworkUnknownFields) { | 373 TEST_F(OncNetworkParserTest, TestCreateNetworkUnknownFields) { |
374 scoped_ptr<base::ListValue> network_configs = | 374 scoped_ptr<base::ListValue> network_configs = |
375 ReadNetworkConfigs("network-unknown-fields.onc"); | 375 ReadNetworkConfigs("network-unknown-fields.onc"); |
376 OncNetworkParser parser(*network_configs, | 376 OncNetworkParser parser(*network_configs, |
377 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 377 onc::ONC_SOURCE_USER_IMPORT); |
378 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 378 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
379 ASSERT_TRUE(network.get()); | 379 ASSERT_TRUE(network.get()); |
380 | 380 |
381 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); | 381 EXPECT_EQ(chromeos::TYPE_WIFI, network->type()); |
382 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 382 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
383 EXPECT_EQ(chromeos::SECURITY_WEP, wifi->encryption()); | 383 EXPECT_EQ(chromeos::SECURITY_WEP, wifi->encryption()); |
384 EXPECT_EQ("ssid", wifi->name()); | 384 EXPECT_EQ("ssid", wifi->name()); |
385 EXPECT_EQ("z123456789012", wifi->passphrase()); | 385 EXPECT_EQ("z123456789012", wifi->passphrase()); |
386 } | 386 } |
387 | 387 |
388 TEST_F(OncNetworkParserTest, TestCreateNetworkOpenVPN) { | 388 TEST_F(OncNetworkParserTest, TestCreateNetworkOpenVPN) { |
389 scoped_ptr<base::ListValue> network_configs = | 389 scoped_ptr<base::ListValue> network_configs = |
390 ReadNetworkConfigs("network-openvpn.onc"); | 390 ReadNetworkConfigs("network-openvpn.onc"); |
391 OncNetworkParser parser(*network_configs, | 391 OncNetworkParser parser(*network_configs, |
392 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 392 onc::ONC_SOURCE_USER_IMPORT); |
393 | 393 |
394 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 394 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
395 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 395 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
396 ASSERT_TRUE(network.get() != NULL); | 396 ASSERT_TRUE(network.get() != NULL); |
397 | 397 |
398 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); | 398 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); |
399 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); | 399 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); |
400 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); | 400 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); |
401 EXPECT_EQ("MyVPN", vpn->name()); | 401 EXPECT_EQ("MyVPN", vpn->name()); |
402 EXPECT_EQ(PROVIDER_TYPE_OPEN_VPN, vpn->provider_type()); | 402 EXPECT_EQ(PROVIDER_TYPE_OPEN_VPN, vpn->provider_type()); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
440 CheckStringProperty(vpn, PROPERTY_INDEX_OPEN_VPN_TLSREMOTE, | 440 CheckStringProperty(vpn, PROPERTY_INDEX_OPEN_VPN_TLSREMOTE, |
441 "MyOpenVPNServer"); | 441 "MyOpenVPNServer"); |
442 EXPECT_FALSE(vpn->save_credentials()); | 442 EXPECT_FALSE(vpn->save_credentials()); |
443 EXPECT_EQ("{55ca78f6-0842-4e1b-96a3-09a9e1a26ef5}", vpn->ca_cert_nss()); | 443 EXPECT_EQ("{55ca78f6-0842-4e1b-96a3-09a9e1a26ef5}", vpn->ca_cert_nss()); |
444 } | 444 } |
445 | 445 |
446 TEST_F(OncNetworkParserTest, TestCreateNetworkL2TPIPsec) { | 446 TEST_F(OncNetworkParserTest, TestCreateNetworkL2TPIPsec) { |
447 scoped_ptr<base::ListValue> network_configs = | 447 scoped_ptr<base::ListValue> network_configs = |
448 ReadNetworkConfigs("network-l2tp-ipsec.onc"); | 448 ReadNetworkConfigs("network-l2tp-ipsec.onc"); |
449 OncNetworkParser parser(*network_configs, | 449 OncNetworkParser parser(*network_configs, |
450 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 450 onc::ONC_SOURCE_USER_IMPORT); |
451 | 451 |
452 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 452 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
453 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); | 453 scoped_ptr<Network> network(parser.ParseNetwork(0, NULL)); |
454 ASSERT_TRUE(network != NULL); | 454 ASSERT_TRUE(network != NULL); |
455 | 455 |
456 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); | 456 EXPECT_EQ(chromeos::TYPE_VPN, network->type()); |
457 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); | 457 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); |
458 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); | 458 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); |
459 EXPECT_EQ("MyL2TPVPN", vpn->name()); | 459 EXPECT_EQ("MyL2TPVPN", vpn->name()); |
460 EXPECT_EQ(PROVIDER_TYPE_L2TP_IPSEC_PSK, vpn->provider_type()); | 460 EXPECT_EQ(PROVIDER_TYPE_L2TP_IPSEC_PSK, vpn->provider_type()); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 } | 541 } |
542 | 542 |
543 TEST(OncNetworkParserUserExpansionTest, GetUserExpandedValue) { | 543 TEST(OncNetworkParserUserExpansionTest, GetUserExpandedValue) { |
544 ScopedMockUserManagerEnabler mock_user_manager; | 544 ScopedMockUserManagerEnabler mock_user_manager; |
545 mock_user_manager.user_manager()->SetLoggedInUser("onc@example.com"); | 545 mock_user_manager.user_manager()->SetLoggedInUser("onc@example.com"); |
546 | 546 |
547 EXPECT_CALL(*mock_user_manager.user_manager(), IsUserLoggedIn()) | 547 EXPECT_CALL(*mock_user_manager.user_manager(), IsUserLoggedIn()) |
548 .Times(2) | 548 .Times(2) |
549 .WillRepeatedly(Return(false)); | 549 .WillRepeatedly(Return(false)); |
550 | 550 |
551 NetworkUIData::ONCSource source = NetworkUIData::ONC_SOURCE_USER_IMPORT; | 551 onc::ONCSource source = onc::ONC_SOURCE_USER_IMPORT; |
552 | 552 |
553 // Setup environment needed by UserManager. | 553 // Setup environment needed by UserManager. |
554 MessageLoop loop; | 554 MessageLoop loop; |
555 content::TestBrowserThread ui_thread(content::BrowserThread::UI, &loop); | 555 content::TestBrowserThread ui_thread(content::BrowserThread::UI, &loop); |
556 base::ShadowingAtExitManager at_exit_manager; | 556 base::ShadowingAtExitManager at_exit_manager; |
557 ScopedTestingLocalState local_state( | 557 ScopedTestingLocalState local_state( |
558 static_cast<TestingBrowserProcess*>(g_browser_process)); | 558 static_cast<TestingBrowserProcess*>(g_browser_process)); |
559 | 559 |
560 base::StringValue login_id_pattern("a ${LOGIN_ID} b"); | 560 base::StringValue login_id_pattern("a ${LOGIN_ID} b"); |
561 base::StringValue login_email_pattern("a ${LOGIN_EMAIL} b"); | 561 base::StringValue login_email_pattern("a ${LOGIN_EMAIL} b"); |
(...skipping 16 matching lines...) Expand all Loading... |
578 login_id_pattern, source)); | 578 login_id_pattern, source)); |
579 EXPECT_EQ("a onc@example.com b", | 579 EXPECT_EQ("a onc@example.com b", |
580 chromeos::OncNetworkParser::GetUserExpandedValue( | 580 chromeos::OncNetworkParser::GetUserExpandedValue( |
581 login_email_pattern, source)); | 581 login_email_pattern, source)); |
582 } | 582 } |
583 | 583 |
584 TEST_F(OncNetworkParserTest, TestRemoveNetworkWifi) { | 584 TEST_F(OncNetworkParserTest, TestRemoveNetworkWifi) { |
585 scoped_ptr<base::ListValue> network_configs = | 585 scoped_ptr<base::ListValue> network_configs = |
586 ReadNetworkConfigs("network-wifi-remove.onc"); | 586 ReadNetworkConfigs("network-wifi-remove.onc"); |
587 OncNetworkParser parser(*network_configs, | 587 OncNetworkParser parser(*network_configs, |
588 NetworkUIData::ONC_SOURCE_USER_IMPORT); | 588 onc::ONC_SOURCE_USER_IMPORT); |
589 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 589 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
590 bool marked_for_removal = false; | 590 bool marked_for_removal = false; |
591 scoped_ptr<Network> network(parser.ParseNetwork(0, &marked_for_removal)); | 591 scoped_ptr<Network> network(parser.ParseNetwork(0, &marked_for_removal)); |
592 | 592 |
593 EXPECT_TRUE(marked_for_removal); | 593 EXPECT_TRUE(marked_for_removal); |
594 EXPECT_EQ("{485d6076-dd44-6b6d-69787465725f5045}", network->unique_id()); | 594 EXPECT_EQ("{485d6076-dd44-6b6d-69787465725f5045}", network->unique_id()); |
595 } | 595 } |
596 | 596 |
597 } // namespace chromeos | 597 } // namespace chromeos |
OLD | NEW |