Index: chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc |
diff --git a/chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc b/chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc |
index 394844eb957ff68fbcff6457d4695853d248b6e7..b6b687dd9a418a0f7b779e3224409684ea2919d4 100644 |
--- a/chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc |
+++ b/chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc |
@@ -10,6 +10,7 @@ |
#include "chrome/browser/extensions/extension_apitest.h" |
#include "chrome/browser/extensions/extension_service.h" |
#include "chrome/browser/local_discovery/gcd_api_flow.h" |
+#include "chrome/browser/local_discovery/wifi/mock_wifi_manager.h" |
#include "chrome/common/extensions/api/mdns.h" |
#include "extensions/common/switches.h" |
#include "net/url_request/test_url_fetcher_factory.h" |
@@ -21,6 +22,8 @@ |
namespace api = extensions::api; |
+using testing::Invoke; |
+ |
namespace { |
const char kCloudPrintResponse[] = |
@@ -232,6 +235,29 @@ class GcdPrivateAPITest : public ExtensionApiTest { |
"ddchlicdkolnonkihahngkmmmjnjlkkf"); |
} |
+#if defined(ENABLE_WIFI_BOOTSTRAPPING) |
+ virtual void OnCreateWifiManager() { |
+ wifi_manager_ = wifi_manager_factory_.GetLastCreatedWifiManager(); |
+ |
+ EXPECT_CALL(*wifi_manager_, Start()); |
+ |
+ EXPECT_CALL(*wifi_manager_, |
+ RequestNetworkCredentialsInternal("SuccessNetwork")) |
+ .WillOnce(Invoke(this, &GcdPrivateAPITest::RespondToNetwork)); |
+ |
+ EXPECT_CALL(*wifi_manager_, |
+ RequestNetworkCredentialsInternal("FailureNetwork")) |
+ .WillOnce(Invoke(this, &GcdPrivateAPITest::RespondToNetwork)); |
+ } |
+ |
+ void RespondToNetwork(const std::string& network) { |
+ bool success = (network == "SuccessNetwork"); |
+ |
+ wifi_manager_->CallRequestNetworkCredentialsCallback( |
+ success, network, success ? "SuccessPass" : ""); |
+ } |
+#endif |
+ |
protected: |
FakeGCDApiFlowFactory api_flow_factory_; |
net::FakeURLFetcherFactory url_fetcher_factory_; |
@@ -240,6 +266,11 @@ class GcdPrivateAPITest : public ExtensionApiTest { |
scoped_refptr<local_discovery::TestServiceDiscoveryClient> |
test_service_discovery_client_; |
#endif // ENABLE_MDNS |
+ |
+#if defined(ENABLE_WIFI_BOOTSTRAPPING) |
+ local_discovery::wifi::MockWifiManagerFactory wifi_manager_factory_; |
+ local_discovery::wifi::MockWifiManager* wifi_manager_; |
+#endif |
}; |
IN_PROC_BROWSER_TEST_F(GcdPrivateAPITest, GetCloudList) { |
@@ -319,4 +350,19 @@ IN_PROC_BROWSER_TEST_F(GcdPrivateAPITest, SendQuery) { |
#endif // ENABLE_MDNS |
+#if defined(ENABLE_WIFI_BOOTSTRAPPING) |
+ |
+IN_PROC_BROWSER_TEST_F(GcdPrivateAPITest, WifiMessage) { |
+ EXPECT_TRUE(RunExtensionSubtest("gcd_private/api", "wifi_message.html")); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(GcdPrivateAPITest, WifiPasswords) { |
+ EXPECT_CALL(wifi_manager_factory_, WifiManagerCreated()) |
+ .WillOnce(Invoke(this, &GcdPrivateAPITest::OnCreateWifiManager)); |
+ |
+ EXPECT_TRUE(RunExtensionSubtest("gcd_private/api", "wifi_password.html")); |
+} |
+ |
+#endif // ENABLE_WIFI_BOOTSTRAPPING |
+ |
} // namespace |