Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: chrome/browser/extensions/api/gcd_private/gcd_private_apitest.cc

Issue 427123002: Added function to get list of networks with prefetched passwords (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@wifi_session1
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/message_loop/message_loop_proxy.h" 8 #include "base/message_loop/message_loop_proxy.h"
9 #include "chrome/browser/extensions/api/gcd_private/gcd_private_api.h" 9 #include "chrome/browser/extensions/api/gcd_private/gcd_private_api.h"
10 #include "chrome/browser/extensions/extension_apitest.h" 10 #include "chrome/browser/extensions/extension_apitest.h"
11 #include "chrome/browser/extensions/extension_service.h" 11 #include "chrome/browser/extensions/extension_service.h"
12 #include "chrome/browser/local_discovery/wifi/mock_wifi_manager.h"
12 #include "chrome/common/extensions/api/mdns.h" 13 #include "chrome/common/extensions/api/mdns.h"
13 #include "extensions/common/switches.h" 14 #include "extensions/common/switches.h"
14 #include "net/url_request/test_url_fetcher_factory.h" 15 #include "net/url_request/test_url_fetcher_factory.h"
15 #include "testing/gmock/include/gmock/gmock.h" 16 #include "testing/gmock/include/gmock/gmock.h"
16 17
17 #if defined(ENABLE_MDNS) 18 #if defined(ENABLE_MDNS)
18 #include "chrome/browser/local_discovery/test_service_discovery_client.h" 19 #include "chrome/browser/local_discovery/test_service_discovery_client.h"
19 #endif // ENABLE_MDNS 20 #endif // ENABLE_MDNS
20 21
21 namespace api = extensions::api; 22 namespace api = extensions::api;
22 23
24 using testing::Invoke;
25
23 namespace { 26 namespace {
24 27
25 const char kCloudPrintResponse[] = 28 const char kCloudPrintResponse[] =
26 "{" 29 "{"
27 " \"success\": true," 30 " \"success\": true,"
28 " \"printers\": [" 31 " \"printers\": ["
29 " {\"id\" : \"someCloudPrintID\"," 32 " {\"id\" : \"someCloudPrintID\","
30 " \"displayName\": \"someCloudPrintDisplayName\"," 33 " \"displayName\": \"someCloudPrintDisplayName\","
31 " \"description\": \"someCloudPrintDescription\"}" 34 " \"description\": \"someCloudPrintDescription\"}"
32 " ]" 35 " ]"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 #endif // ENABLE_MDNS 227 #endif // ENABLE_MDNS
225 } 228 }
226 229
227 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 230 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
228 ExtensionApiTest::SetUpCommandLine(command_line); 231 ExtensionApiTest::SetUpCommandLine(command_line);
229 command_line->AppendSwitchASCII( 232 command_line->AppendSwitchASCII(
230 extensions::switches::kWhitelistedExtensionID, 233 extensions::switches::kWhitelistedExtensionID,
231 "ddchlicdkolnonkihahngkmmmjnjlkkf"); 234 "ddchlicdkolnonkihahngkmmmjnjlkkf");
232 } 235 }
233 236
237 #if defined(ENABLE_WIFI_BOOTSTRAPPING)
238 virtual void OnCreateWifiManager() {
239 wifi_manager_ = wifi_manager_factory_.GetLastCreatedWifiManager();
240
241 EXPECT_CALL(*wifi_manager_, Start());
242
243 EXPECT_CALL(*wifi_manager_,
244 RequestNetworkCredentialsInternal("SuccessNetwork"))
245 .WillOnce(Invoke(this, &GcdPrivateAPITest::RespondToNetwork));
246
247 EXPECT_CALL(*wifi_manager_,
248 RequestNetworkCredentialsInternal("FailureNetwork"))
249 .WillOnce(Invoke(this, &GcdPrivateAPITest::RespondToNetwork));
250 }
251
252 void RespondToNetwork(const std::string& network) {
253 bool success = (network == "SuccessNetwork");
254
255 wifi_manager_->CallRequestNetworkCredentialsCallback(
256 success, network, success ? "SuccessPass" : "");
257 }
258 #endif
259
234 protected: 260 protected:
235 FakeGCDApiFlowFactory api_flow_factory_; 261 FakeGCDApiFlowFactory api_flow_factory_;
236 net::FakeURLFetcherFactory url_fetcher_factory_; 262 net::FakeURLFetcherFactory url_fetcher_factory_;
237 263
238 #if defined(ENABLE_MDNS) 264 #if defined(ENABLE_MDNS)
239 scoped_refptr<local_discovery::TestServiceDiscoveryClient> 265 scoped_refptr<local_discovery::TestServiceDiscoveryClient>
240 test_service_discovery_client_; 266 test_service_discovery_client_;
241 #endif // ENABLE_MDNS 267 #endif // ENABLE_MDNS
268
269 #if defined(ENABLE_WIFI_BOOTSTRAPPING)
270 local_discovery::wifi::MockWifiManagerFactory wifi_manager_factory_;
271 local_discovery::wifi::MockWifiManager* wifi_manager_;
272 #endif
242 }; 273 };
243 274
244 IN_PROC_BROWSER_TEST_F(GcdPrivateAPITest, GetCloudList) { 275 IN_PROC_BROWSER_TEST_F(GcdPrivateAPITest, GetCloudList) {
245 api_flow_factory_.SetResponse( 276 api_flow_factory_.SetResponse(
246 GURL("https://www.google.com/cloudprint/search"), kCloudPrintResponse); 277 GURL("https://www.google.com/cloudprint/search"), kCloudPrintResponse);
247 278
248 api_flow_factory_.SetResponse( 279 api_flow_factory_.SetResponse(
249 GURL("https://www.googleapis.com/clouddevices/v1/devices"), kGCDResponse); 280 GURL("https://www.googleapis.com/clouddevices/v1/devices"), kGCDResponse);
250 281
251 EXPECT_TRUE(RunExtensionSubtest("gcd_private/api", "get_cloud_list.html")); 282 EXPECT_TRUE(RunExtensionSubtest("gcd_private/api", "get_cloud_list.html"));
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 #if !defined(OS_WIN) || defined(NDEBUG) 342 #if !defined(OS_WIN) || defined(NDEBUG)
312 EXPECT_CALL(*test_service_discovery_client_, 343 EXPECT_CALL(*test_service_discovery_client_,
313 OnSendTo(std::string(reinterpret_cast<const char*>(kQueryPacket), 344 OnSendTo(std::string(reinterpret_cast<const char*>(kQueryPacket),
314 sizeof(kQueryPacket)))).Times(2); 345 sizeof(kQueryPacket)))).Times(2);
315 #endif 346 #endif
316 EXPECT_TRUE(RunExtensionSubtest("gcd_private/api", "send_query.html")); 347 EXPECT_TRUE(RunExtensionSubtest("gcd_private/api", "send_query.html"));
317 } 348 }
318 349
319 #endif // ENABLE_MDNS 350 #endif // ENABLE_MDNS
320 351
352 #if defined(ENABLE_WIFI_BOOTSTRAPPING)
353
354 IN_PROC_BROWSER_TEST_F(GcdPrivateAPITest, WifiMessage) {
355 EXPECT_TRUE(RunExtensionSubtest("gcd_private/api", "wifi_message.html"));
356 }
357
358 IN_PROC_BROWSER_TEST_F(GcdPrivateAPITest, WifiPasswords) {
359 EXPECT_CALL(wifi_manager_factory_, WifiManagerCreated())
360 .WillOnce(Invoke(this, &GcdPrivateAPITest::OnCreateWifiManager));
361
362 EXPECT_TRUE(RunExtensionSubtest("gcd_private/api", "wifi_password.html"));
363 }
364
365 #endif // ENABLE_WIFI_BOOTSTRAPPING
366
321 } // namespace 367 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/gcd_private/gcd_private_api.cc ('k') | chrome/browser/local_discovery/wifi/mock_wifi_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698