Index: chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc |
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc b/chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc |
index 209511d127d7a0a58687493600c5331e51459945..918c0f4b162be84a7669f0070ae61ce514ef4462 100644 |
--- a/chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc |
+++ b/chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc |
@@ -28,6 +28,7 @@ |
#include "chromeos/dbus/shill_profile_client.h" |
#include "chromeos/dbus/shill_service_client.h" |
#include "chromeos/network/managed_network_configuration_handler.h" |
+#include "chromeos/network/network_certificate_handler.h" |
#include "chromeos/network/network_handler.h" |
#include "chromeos/network/network_state_handler.h" |
#include "chromeos/network/onc/onc_utils.h" |
@@ -51,6 +52,8 @@ |
#include "extensions/browser/api/networking_private/networking_private_delegate_factory.h" |
#include "extensions/browser/notification_types.h" |
#include "extensions/common/switches.h" |
+#include "net/test/cert_test_util.h" |
+#include "net/test/test_data_directory.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
@@ -323,7 +326,7 @@ class NetworkingPrivateChromeOSApiTest : public ExtensionApiTest { |
state, true /* add_to_visible */); |
} |
- static std::unique_ptr<KeyedService> CreateNetworkingPrivateServiceClient( |
+ static std::unique_ptr<KeyedService> CreateNetworkingPrivateDelegate( |
content::BrowserContext* context) { |
std::unique_ptr<NetworkingPrivateDelegate> result( |
new NetworkingPrivateChromeOS(context)); |
@@ -351,7 +354,7 @@ class NetworkingPrivateChromeOSApiTest : public ExtensionApiTest { |
content::RunAllPendingInMessageLoop(); |
NetworkingPrivateDelegateFactory::GetInstance()->SetTestingFactory( |
- profile(), &CreateNetworkingPrivateServiceClient); |
+ profile(), &CreateNetworkingPrivateDelegate); |
InitializeSanitizedUsername(); |
@@ -486,12 +489,28 @@ class NetworkingPrivateChromeOSApiTest : public ExtensionApiTest { |
ChromeNetworkingCastPrivateDelegate::SetFactoryCallbackForTest(nullptr); |
} |
- private: |
std::unique_ptr<ChromeNetworkingCastPrivateDelegate> |
CreateNetworkingCastPrivateDelegate() { |
return base::MakeUnique<TestNetworkingCastPrivateDelegate>(); |
} |
+ bool SetupCertificates() { |
+ scoped_refptr<net::X509Certificate> system_ca_cert = |
+ net::ImportCertFromFile(net::GetTestCertsDirectory(), |
+ "client_1_ca.pem"); |
+ if (!system_ca_cert) |
+ return false; |
+ |
+ net::CertificateList cert_list; |
+ cert_list.push_back(std::move(system_ca_cert)); |
+ // TODO(stevenjb): Figure out a simple way to import a test user cert. |
+ |
+ chromeos::NetworkHandler::Get() |
+ ->network_certificate_handler() |
+ ->SetCertificatesForTest(cert_list); |
+ return true; |
+ } |
+ |
protected: |
NetworkPortalDetectorTestImpl* detector() { return detector_; } |
@@ -770,6 +789,17 @@ IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, |
<< message_; |
} |
+IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, |
+ OnCertificateListsChangedEvent) { |
+ TestListener listener("eventListenerReady", base::Bind([]() { |
+ chromeos::NetworkHandler::Get() |
+ ->network_certificate_handler() |
+ ->NotifyCertificatsChangedForTest(); |
+ })); |
+ EXPECT_TRUE(RunNetworkingSubtest("onCertificateListsChangedEvent")) |
+ << message_; |
+} |
+ |
IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, VerifyDestination) { |
EXPECT_TRUE(RunNetworkingSubtest("verifyDestination")) << message_; |
} |
@@ -891,6 +921,11 @@ IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, |
EXPECT_TRUE(RunNetworkingSubtest("getTetherNetworkState")) << message_; |
} |
+IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, GetCertificateLists) { |
+ ASSERT_TRUE(SetupCertificates()); |
+ EXPECT_TRUE(RunNetworkingSubtest("getCertificateLists")) << message_; |
+} |
+ |
// Tests subset of networking API for the networking API alias - to verify that |
// using API methods and event does not cause access exceptions (due to |
// missing permissions). |