| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 " \"NetworkConfigurations\": [{" | 252 " \"NetworkConfigurations\": [{" |
| 253 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," | 253 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," |
| 254 " \"Type\": \"WiFi\"," | 254 " \"Type\": \"WiFi\"," |
| 255 " \"WiFi\": {" | 255 " \"WiFi\": {" |
| 256 " \"Security\": \"WEP-PSK\"," | 256 " \"Security\": \"WEP-PSK\"," |
| 257 " \"SSID\": \"ssid\"," | 257 " \"SSID\": \"ssid\"," |
| 258 " \"Passphrase\": \"pass\"," | 258 " \"Passphrase\": \"pass\"," |
| 259 " }" | 259 " }" |
| 260 " }]" | 260 " }]" |
| 261 "}"); | 261 "}"); |
| 262 OncNetworkParser parser(test_blob); | 262 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 263 | 263 |
| 264 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 264 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
| 265 EXPECT_EQ(0, parser.GetCertificatesSize()); | 265 EXPECT_EQ(0, parser.GetCertificatesSize()); |
| 266 EXPECT_FALSE(parser.ParseNetwork(1)); | 266 EXPECT_FALSE(parser.ParseNetwork(1)); |
| 267 scoped_ptr<Network> network(parser.ParseNetwork(0)); | 267 scoped_ptr<Network> network(parser.ParseNetwork(0)); |
| 268 ASSERT_TRUE(network.get()); | 268 ASSERT_TRUE(network.get()); |
| 269 | 269 |
| 270 EXPECT_EQ(network->type(), chromeos::TYPE_WIFI); | 270 EXPECT_EQ(network->type(), chromeos::TYPE_WIFI); |
| 271 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 271 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
| 272 EXPECT_EQ(wifi->encryption(), chromeos::SECURITY_WEP); | 272 EXPECT_EQ(wifi->encryption(), chromeos::SECURITY_WEP); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 288 " \"Security\": \"WPA-EAP\"," | 288 " \"Security\": \"WPA-EAP\"," |
| 289 " \"SSID\": \"ssid\"," | 289 " \"SSID\": \"ssid\"," |
| 290 " \"AutoConnect\": true," | 290 " \"AutoConnect\": true," |
| 291 " \"EAP\": {" | 291 " \"EAP\": {" |
| 292 " \"Outer\": \"PEAP\"," | 292 " \"Outer\": \"PEAP\"," |
| 293 " \"UseSystemCAs\": false," | 293 " \"UseSystemCAs\": false," |
| 294 " }" | 294 " }" |
| 295 " }" | 295 " }" |
| 296 " }]" | 296 " }]" |
| 297 "}"); | 297 "}"); |
| 298 OncNetworkParser parser(test_blob); | 298 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 299 | 299 |
| 300 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 300 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
| 301 EXPECT_EQ(0, parser.GetCertificatesSize()); | 301 EXPECT_EQ(0, parser.GetCertificatesSize()); |
| 302 EXPECT_FALSE(parser.ParseNetwork(1)); | 302 EXPECT_FALSE(parser.ParseNetwork(1)); |
| 303 scoped_ptr<Network> network(parser.ParseNetwork(0)); | 303 scoped_ptr<Network> network(parser.ParseNetwork(0)); |
| 304 ASSERT_TRUE(network.get()); | 304 ASSERT_TRUE(network.get()); |
| 305 | 305 |
| 306 EXPECT_EQ(network->type(), chromeos::TYPE_WIFI); | 306 EXPECT_EQ(network->type(), chromeos::TYPE_WIFI); |
| 307 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 307 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
| 308 EXPECT_EQ(wifi->encryption(), chromeos::SECURITY_8021X); | 308 EXPECT_EQ(wifi->encryption(), chromeos::SECURITY_8021X); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 328 " \"AutoConnect\": false," | 328 " \"AutoConnect\": false," |
| 329 " \"EAP\": {" | 329 " \"EAP\": {" |
| 330 " \"Outer\": \"LEAP\"," | 330 " \"Outer\": \"LEAP\"," |
| 331 " \"Identity\": \"user\"," | 331 " \"Identity\": \"user\"," |
| 332 " \"Password\": \"pass\"," | 332 " \"Password\": \"pass\"," |
| 333 " \"AnonymousIdentity\": \"anon\"," | 333 " \"AnonymousIdentity\": \"anon\"," |
| 334 " }" | 334 " }" |
| 335 " }" | 335 " }" |
| 336 " }]" | 336 " }]" |
| 337 "}"); | 337 "}"); |
| 338 OncNetworkParser parser(test_blob); | 338 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 339 | 339 |
| 340 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 340 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
| 341 EXPECT_EQ(0, parser.GetCertificatesSize()); | 341 EXPECT_EQ(0, parser.GetCertificatesSize()); |
| 342 EXPECT_FALSE(parser.ParseNetwork(1)); | 342 EXPECT_FALSE(parser.ParseNetwork(1)); |
| 343 scoped_ptr<Network> network(parser.ParseNetwork(0)); | 343 scoped_ptr<Network> network(parser.ParseNetwork(0)); |
| 344 ASSERT_TRUE(network.get()); | 344 ASSERT_TRUE(network.get()); |
| 345 | 345 |
| 346 EXPECT_EQ(network->type(), chromeos::TYPE_WIFI); | 346 EXPECT_EQ(network->type(), chromeos::TYPE_WIFI); |
| 347 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); | 347 WifiNetwork* wifi = static_cast<WifiNetwork*>(network.get()); |
| 348 EXPECT_EQ(wifi->encryption(), chromeos::SECURITY_8021X); | 348 EXPECT_EQ(wifi->encryption(), chromeos::SECURITY_8021X); |
| 349 EXPECT_EQ(wifi->name(), "ssid"); | 349 EXPECT_EQ(wifi->name(), "ssid"); |
| 350 EXPECT_EQ(wifi->auto_connect(), false); | 350 EXPECT_EQ(wifi->auto_connect(), false); |
| 351 EXPECT_EQ(wifi->eap_method(), EAP_METHOD_LEAP); | 351 EXPECT_EQ(wifi->eap_method(), EAP_METHOD_LEAP); |
| 352 EXPECT_EQ(wifi->eap_use_system_cas(), true); | 352 EXPECT_EQ(wifi->eap_use_system_cas(), true); |
| 353 EXPECT_EQ(wifi->eap_identity(), "user"); | 353 EXPECT_EQ(wifi->eap_identity(), "user"); |
| 354 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_IDENTITY, "user"); | 354 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_IDENTITY, "user"); |
| 355 EXPECT_EQ(wifi->eap_passphrase(), "pass"); | 355 EXPECT_EQ(wifi->eap_passphrase(), "pass"); |
| 356 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_PASSWORD, "pass"); | 356 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_PASSWORD, "pass"); |
| 357 EXPECT_EQ(wifi->eap_anonymous_identity(), "anon"); | 357 EXPECT_EQ(wifi->eap_anonymous_identity(), "anon"); |
| 358 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_ANONYMOUS_IDENTITY, "anon"); | 358 CheckStringProperty(wifi, PROPERTY_INDEX_EAP_ANONYMOUS_IDENTITY, "anon"); |
| 359 } | 359 } |
| 360 | 360 |
| 361 TEST_F(OncNetworkParserTest, TestCreateNetworkOpenVPN) { | 361 TEST_F(OncNetworkParserTest, TestCreateNetworkOpenVPN) { |
| 362 std::string test_blob(std::string( | 362 std::string test_blob(std::string( |
| 363 "{" | 363 "{" |
| 364 " \"NetworkConfigurations\": [") + | 364 " \"NetworkConfigurations\": [") + |
| 365 std::string(kNetworkConfigurationOpenVPN) + std::string( | 365 std::string(kNetworkConfigurationOpenVPN) + std::string( |
| 366 " ]}")); | 366 " ]}")); |
| 367 OncNetworkParser parser(test_blob); | 367 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 368 | 368 |
| 369 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 369 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
| 370 EXPECT_EQ(0, parser.GetCertificatesSize()); | 370 EXPECT_EQ(0, parser.GetCertificatesSize()); |
| 371 scoped_ptr<Network> network(parser.ParseNetwork(0)); | 371 scoped_ptr<Network> network(parser.ParseNetwork(0)); |
| 372 ASSERT_TRUE(network.get() != NULL); | 372 ASSERT_TRUE(network.get() != NULL); |
| 373 | 373 |
| 374 EXPECT_EQ(network->type(), chromeos::TYPE_VPN); | 374 EXPECT_EQ(network->type(), chromeos::TYPE_VPN); |
| 375 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); | 375 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); |
| 376 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); | 376 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); |
| 377 EXPECT_EQ("MyVPN", vpn->name()); | 377 EXPECT_EQ("MyVPN", vpn->name()); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 436 " \"PSK\": \"passphrase\"" | 436 " \"PSK\": \"passphrase\"" |
| 437 " }," | 437 " }," |
| 438 " \"L2TP\": {" | 438 " \"L2TP\": {" |
| 439 " \"SaveCredentials\": false" | 439 " \"SaveCredentials\": false" |
| 440 " }" | 440 " }" |
| 441 " }" | 441 " }" |
| 442 " }" | 442 " }" |
| 443 " ]," | 443 " ]," |
| 444 " \"Certificates\": []" | 444 " \"Certificates\": []" |
| 445 "}"); | 445 "}"); |
| 446 OncNetworkParser parser(test_blob); | 446 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 447 | 447 |
| 448 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 448 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
| 449 EXPECT_EQ(0, parser.GetCertificatesSize()); | 449 EXPECT_EQ(0, parser.GetCertificatesSize()); |
| 450 scoped_ptr<Network> network(parser.ParseNetwork(0)); | 450 scoped_ptr<Network> network(parser.ParseNetwork(0)); |
| 451 ASSERT_TRUE(network != NULL); | 451 ASSERT_TRUE(network != NULL); |
| 452 | 452 |
| 453 EXPECT_EQ(network->type(), chromeos::TYPE_VPN); | 453 EXPECT_EQ(network->type(), chromeos::TYPE_VPN); |
| 454 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); | 454 CheckStringProperty(network.get(), PROPERTY_INDEX_TYPE, flimflam::kTypeVPN); |
| 455 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); | 455 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); |
| 456 EXPECT_EQ("MyL2TPVPN", vpn->name()); | 456 EXPECT_EQ("MyL2TPVPN", vpn->name()); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 502 "3jnX40zaK4W7GeJvhij0MRr6yUL2lvaEcWDnK6K1F90G/ybKRCTHBCJzyBe7yHhZCc+Zc" | 502 "3jnX40zaK4W7GeJvhij0MRr6yUL2lvaEcWDnK6K1F90G/ybKRCTHBCJzyBe7yHhZCc+Zc" |
| 503 "vKK6DTi83fELTyupy08BkXt7oPdapxmKlZxTldo9FpPXSqrdRtAWhDkEkIEf8dMf8QrQr" | 503 "vKK6DTi83fELTyupy08BkXt7oPdapxmKlZxTldo9FpPXSqrdRtAWhDkEkIEf8dMf8QrQr" |
| 504 "3glCWfbcQ047URYX45AHRnLTLLkJfdY8+Y3KsHoqL2UrOrct+J1u0mmnLbonN3pB2B4nd" | 504 "3glCWfbcQ047URYX45AHRnLTLLkJfdY8+Y3KsHoqL2UrOrct+J1u0mmnLbonN3pB2B4nd" |
| 505 "9X9vf9/uSFrgvk0iPO0Ro3UPRUIIYEP2Kx51pZZVDd++hl5gXtqe0NIpphGhxLycIdzEl" | 505 "9X9vf9/uSFrgvk0iPO0Ro3UPRUIIYEP2Kx51pZZVDd++hl5gXtqe0NIpphGhxLycIdzEl" |
| 506 "MCMGCSqGSIb3DQEJFTEWBBR1uVpGjHRddIEYuJhz/FgG4Onh6jAxMCEwCQYFKw4DAhoFA" | 506 "MCMGCSqGSIb3DQEJFTEWBBR1uVpGjHRddIEYuJhz/FgG4Onh6jAxMCEwCQYFKw4DAhoFA" |
| 507 "AQU1M+0WRDkoVGbGg1jj7q2fI67qHIECBzRYESpgt5iAgIIAA==\"" | 507 "AQU1M+0WRDkoVGbGg1jj7q2fI67qHIECBzRYESpgt5iAgIIAA==\"" |
| 508 " }" | 508 " }" |
| 509 " ]," | 509 " ]," |
| 510 "}"); | 510 "}"); |
| 511 std::string test_guid("{f998f760-272b-6939-4c2beffe428697ac}"); | 511 std::string test_guid("{f998f760-272b-6939-4c2beffe428697ac}"); |
| 512 OncNetworkParser parser(test_blob); | 512 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 513 ASSERT_EQ(1, parser.GetCertificatesSize()); | 513 ASSERT_EQ(1, parser.GetCertificatesSize()); |
| 514 | 514 |
| 515 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get(); | 515 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get(); |
| 516 EXPECT_TRUE(cert.get() != NULL); | 516 EXPECT_TRUE(cert.get() != NULL); |
| 517 EXPECT_EQ(net::USER_CERT, GetCertType(cert.get())); | 517 EXPECT_EQ(net::USER_CERT, GetCertType(cert.get())); |
| 518 | 518 |
| 519 EXPECT_STREQ(test_guid.c_str(), | 519 EXPECT_STREQ(test_guid.c_str(), |
| 520 cert->GetDefaultNickname(net::USER_CERT).c_str()); | 520 cert->GetDefaultNickname(net::USER_CERT).c_str()); |
| 521 net::CertificateList result_list; | 521 net::CertificateList result_list; |
| 522 OncNetworkParser::ListCertsWithNickname(test_guid, &result_list); | 522 OncNetworkParser::ListCertsWithNickname(test_guid, &result_list); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 "kvs+sG6j2Vp2aBSrlhALG/0BVHUhWi4F/HHJho+ncLHAg5AGO0sdAjYUdQG6tfPqjLsIA" | 572 "kvs+sG6j2Vp2aBSrlhALG/0BVHUhWi4F/HHJho+ncLHAg5AGO0sdAjYUdQG6tfPqjLsIA" |
| 573 "LtoKEZZdFe/JhmqOEaxWsSdu2S2RdPgCQOsP79EH58gXwu2gejCkJDmU22WL4YLuqOc17" | 573 "LtoKEZZdFe/JhmqOEaxWsSdu2S2RdPgCQOsP79EH58gXwu2gejCkJDmU22WL4YLuqOc17" |
| 574 "nxbDC8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCv4vMD+PMlfnftu4/6Yf/oMLE8yCOqZT" | 574 "nxbDC8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCv4vMD+PMlfnftu4/6Yf/oMLE8yCOqZT" |
| 575 "Q/dWCxB9PiJnOefiBeSzSZE6Uv3G7qnblZPVZaFeJMd+ostt0viCyPucFsFgLMyyoV1dM" | 575 "Q/dWCxB9PiJnOefiBeSzSZE6Uv3G7qnblZPVZaFeJMd+ostt0viCyPucFsFgLMyyoV1dM" |
| 576 "VPVwJT5Iq1AHehWXnTBbxUK9wioA5jOEKdroKjuSSsg/Q8Wx6cpJmttQz5olGPgstmACR" | 576 "VPVwJT5Iq1AHehWXnTBbxUK9wioA5jOEKdroKjuSSsg/Q8Wx6cpJmttQz5olGPgstmACR" |
| 577 "WA==\"" | 577 "WA==\"" |
| 578 " }" | 578 " }" |
| 579 " ]," | 579 " ]," |
| 580 "}"); | 580 "}"); |
| 581 std::string test_guid("{f998f760-272b-6939-4c2beffe428697aa}"); | 581 std::string test_guid("{f998f760-272b-6939-4c2beffe428697aa}"); |
| 582 OncNetworkParser parser(test_blob); | 582 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 583 ASSERT_EQ(1, parser.GetCertificatesSize()); | 583 ASSERT_EQ(1, parser.GetCertificatesSize()); |
| 584 | 584 |
| 585 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get(); | 585 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get(); |
| 586 EXPECT_TRUE(cert.get() != NULL); | 586 EXPECT_TRUE(cert.get() != NULL); |
| 587 EXPECT_EQ(net::SERVER_CERT, GetCertType(cert.get())); | 587 EXPECT_EQ(net::SERVER_CERT, GetCertType(cert.get())); |
| 588 | 588 |
| 589 EXPECT_STREQ(test_guid.c_str(), | 589 EXPECT_STREQ(test_guid.c_str(), |
| 590 cert->GetDefaultNickname(net::SERVER_CERT).c_str()); | 590 cert->GetDefaultNickname(net::SERVER_CERT).c_str()); |
| 591 net::CertificateList result_list; | 591 net::CertificateList result_list; |
| 592 OncNetworkParser::ListCertsWithNickname(test_guid, &result_list); | 592 OncNetworkParser::ListCertsWithNickname(test_guid, &result_list); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 603 | 603 |
| 604 } | 604 } |
| 605 | 605 |
| 606 TEST_F(OncNetworkParserTest, TestAddAuthorityCertificate) { | 606 TEST_F(OncNetworkParserTest, TestAddAuthorityCertificate) { |
| 607 const std::string test_blob(std::string("{" | 607 const std::string test_blob(std::string("{" |
| 608 " \"Certificates\": [") + | 608 " \"Certificates\": [") + |
| 609 std::string(kCertificateWebAuthority) + std::string( | 609 std::string(kCertificateWebAuthority) + std::string( |
| 610 " ]," | 610 " ]," |
| 611 "}")); | 611 "}")); |
| 612 std::string test_guid("{f998f760-272b-6939-4c2beffe428697ab}"); | 612 std::string test_guid("{f998f760-272b-6939-4c2beffe428697ab}"); |
| 613 OncNetworkParser parser(test_blob); | 613 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 614 ASSERT_EQ(1, parser.GetCertificatesSize()); | 614 ASSERT_EQ(1, parser.GetCertificatesSize()); |
| 615 | 615 |
| 616 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get(); | 616 scoped_refptr<net::X509Certificate> cert = parser.ParseCertificate(0).get(); |
| 617 EXPECT_TRUE(cert.get() != NULL); | 617 EXPECT_TRUE(cert.get() != NULL); |
| 618 EXPECT_EQ(net::CA_CERT, GetCertType(cert.get())); | 618 EXPECT_EQ(net::CA_CERT, GetCertType(cert.get())); |
| 619 | 619 |
| 620 EXPECT_STREQ(test_guid.c_str(), | 620 EXPECT_STREQ(test_guid.c_str(), |
| 621 cert->GetDefaultNickname(net::CA_CERT).c_str()); | 621 cert->GetDefaultNickname(net::CA_CERT).c_str()); |
| 622 net::CertificateList result_list; | 622 net::CertificateList result_list; |
| 623 OncNetworkParser::ListCertsWithNickname(test_guid, &result_list); | 623 OncNetworkParser::ListCertsWithNickname(test_guid, &result_list); |
| 624 ASSERT_EQ(1ul, result_list.size()); | 624 ASSERT_EQ(1ul, result_list.size()); |
| 625 EXPECT_EQ(net::CA_CERT, GetCertType(result_list[0].get())); | 625 EXPECT_EQ(net::CA_CERT, GetCertType(result_list[0].get())); |
| 626 | 626 |
| 627 SECKEYPrivateKeyList* privkey_list = | 627 SECKEYPrivateKeyList* privkey_list = |
| 628 PK11_ListPrivKeysInSlot(slot_->os_module_handle(), NULL, NULL); | 628 PK11_ListPrivKeysInSlot(slot_->os_module_handle(), NULL, NULL); |
| 629 EXPECT_FALSE(privkey_list); | 629 EXPECT_FALSE(privkey_list); |
| 630 | 630 |
| 631 SECKEYPublicKeyList* pubkey_list = | 631 SECKEYPublicKeyList* pubkey_list = |
| 632 PK11_ListPublicKeysInSlot(slot_->os_module_handle(), NULL); | 632 PK11_ListPublicKeysInSlot(slot_->os_module_handle(), NULL); |
| 633 EXPECT_FALSE(pubkey_list); | 633 EXPECT_FALSE(pubkey_list); |
| 634 | |
| 635 } | 634 } |
| 636 | 635 |
| 637 TEST_F(OncNetworkParserTest, TestNetworkAndCertificate) { | 636 TEST_F(OncNetworkParserTest, TestNetworkAndCertificate) { |
| 638 std::string test_blob(std::string( | 637 std::string test_blob(std::string( |
| 639 "{" | 638 "{" |
| 640 " \"NetworkConfigurations\": [") + | 639 " \"NetworkConfigurations\": [") + |
| 641 std::string(kNetworkConfigurationOpenVPN) + std::string( | 640 std::string(kNetworkConfigurationOpenVPN) + std::string( |
| 642 " ]," | 641 " ]," |
| 643 " \"Certificates\": [") + | 642 " \"Certificates\": [") + |
| 644 std::string(kCertificateWebAuthority) + std::string( | 643 std::string(kCertificateWebAuthority) + std::string( |
| 645 " ]," | 644 " ]," |
| 646 "}")); | 645 "}")); |
| 647 OncNetworkParser parser(test_blob); | 646 OncNetworkParser parser(test_blob, NetworkUIData::ONC_SOURCE_USER_IMPORT); |
| 648 | 647 |
| 649 EXPECT_EQ(1, parser.GetCertificatesSize()); | 648 EXPECT_EQ(1, parser.GetCertificatesSize()); |
| 650 EXPECT_TRUE(parser.ParseCertificate(0)); | 649 EXPECT_TRUE(parser.ParseCertificate(0)); |
| 651 | 650 |
| 652 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); | 651 EXPECT_EQ(1, parser.GetNetworkConfigsSize()); |
| 653 scoped_ptr<Network> network(parser.ParseNetwork(0)); | 652 scoped_ptr<Network> network(parser.ParseNetwork(0)); |
| 654 ASSERT_TRUE(network.get() != NULL); | 653 ASSERT_TRUE(network.get() != NULL); |
| 655 EXPECT_EQ(network->type(), chromeos::TYPE_VPN); | 654 EXPECT_EQ(network->type(), chromeos::TYPE_VPN); |
| 656 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); | 655 VirtualNetwork* vpn = static_cast<VirtualNetwork*>(network.get()); |
| 657 EXPECT_EQ(PROVIDER_TYPE_OPEN_VPN, vpn->provider_type()); | 656 EXPECT_EQ(PROVIDER_TYPE_OPEN_VPN, vpn->provider_type()); |
| 658 } | 657 } |
| 659 | 658 |
| 660 } // namespace chromeos | 659 } // namespace chromeos |
| OLD | NEW |