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