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

Side by Side Diff: extensions/browser/api/networking_private/networking_private_chromeos_unittest.cc

Issue 2776403002: Revert of Set HexSSID in network config before matching it against policies (Closed)
Patch Set: Created 3 years, 8 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
« no previous file with comments | « extensions/browser/BUILD.gn ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/macros.h" 5 #include "base/macros.h"
6 #include "base/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
10 #include "chromeos/dbus/dbus_thread_manager.h" 9 #include "chromeos/dbus/dbus_thread_manager.h"
11 #include "chromeos/dbus/shill_device_client.h" 10 #include "chromeos/dbus/shill_device_client.h"
12 #include "chromeos/dbus/shill_profile_client.h" 11 #include "chromeos/dbus/shill_profile_client.h"
13 #include "chromeos/dbus/shill_service_client.h" 12 #include "chromeos/dbus/shill_service_client.h"
14 #include "chromeos/login/login_state.h" 13 #include "chromeos/login/login_state.h"
15 #include "chromeos/network/managed_network_configuration_handler.h" 14 #include "chromeos/network/managed_network_configuration_handler.h"
16 #include "chromeos/network/network_handler.h" 15 #include "chromeos/network/network_handler.h"
17 #include "chromeos/network/network_state.h" 16 #include "chromeos/network/network_state.h"
18 #include "chromeos/network/network_state_handler.h" 17 #include "chromeos/network/network_state_handler.h"
19 #include "components/onc/onc_constants.h"
20 #include "extensions/browser/api/networking_private/networking_private_api.h" 18 #include "extensions/browser/api/networking_private/networking_private_api.h"
21 #include "extensions/browser/api_unittest.h" 19 #include "extensions/browser/api_unittest.h"
22 #include "extensions/common/value_builder.h" 20 #include "extensions/common/value_builder.h"
23 #include "third_party/cros_system_api/dbus/shill/dbus-constants.h" 21 #include "third_party/cros_system_api/dbus/shill/dbus-constants.h"
24 22
25 namespace extensions { 23 namespace extensions {
26 24
27 namespace { 25 namespace {
28 26
29 const char kUserHash[] = "test_user_hash"; 27 const char kUserHash[] = "test_user_hash";
30 const char kUserProfilePath[] = "/network_profile/user/shill"; 28 const char kUserProfilePath[] = "/network_profile/user/shill";
31 29
32 const char kWifiDevicePath[] = "/device/stub_wifi_device"; 30 const char kWifiDevicePath[] = "/device/stub_wifi_device";
33 31
34 const char kSharedWifiServicePath[] = "/service/shared_wifi"; 32 const char kSharedWifiServicePath[] = "/service/shared_wifi";
35 const char kSharedWifiGuid[] = "shared_wifi_guid"; 33 const char kSharedWifiGuid[] = "shared_wifi_guid";
36 const char kSharedWifiName[] = "shared_wifi"; 34 const char kSharedWifiName[] = "shared_wifi";
37 35
38 const char kPrivateWifiServicePath[] = "/service/private_wifi"; 36 const char kPrivateWifiServicePath[] = "/service/private_wifi";
39 const char kPrivateWifiGuid[] = "private_wifi_guid"; 37 const char kPrivateWifiGuid[] = "private_wifi_guid";
40 const char kPrivateWifiName[] = "private_wifi"; 38 const char kPrivateWifiName[] = "private_wifi";
41 39
42 const char kManagedUserWifiGuid[] = "managed_user_wifi_guid";
43 const char kManagedUserWifiSsid[] = "managed_user_wifi";
44
45 const char kManagedDeviceWifiGuid[] = "managed_device_wifi_guid";
46 const char kManagedDeviceWifiSsid[] = "managed_device_wifi";
47
48 } // namespace 40 } // namespace
49 41
50 class NetworkingPrivateApiTest : public ApiUnitTest { 42 class NetworkingPrivateApiTest : public ApiUnitTest {
51 public: 43 public:
52 NetworkingPrivateApiTest() {} 44 NetworkingPrivateApiTest() {}
53 ~NetworkingPrivateApiTest() override {} 45 ~NetworkingPrivateApiTest() override {}
54 46
55 void SetUp() override { 47 void SetUp() override {
56 ApiUnitTest::SetUp(); 48 ApiUnitTest::SetUp();
57 49
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 shill::kProfileProperty, 121 shill::kProfileProperty,
130 base::Value(kUserProfilePath)); 122 base::Value(kUserProfilePath));
131 profile_test_->AddService(kUserProfilePath, kPrivateWifiServicePath); 123 profile_test_->AddService(kUserProfilePath, kPrivateWifiServicePath);
132 } 124 }
133 125
134 void SetUpNetworkPolicy() { 126 void SetUpNetworkPolicy() {
135 chromeos::ManagedNetworkConfigurationHandler* config_handler = 127 chromeos::ManagedNetworkConfigurationHandler* config_handler =
136 chromeos::NetworkHandler::Get() 128 chromeos::NetworkHandler::Get()
137 ->managed_network_configuration_handler(); 129 ->managed_network_configuration_handler();
138 130
139 const std::string user_policy_ssid = kManagedUserWifiSsid; 131 config_handler->SetPolicy(::onc::ONC_SOURCE_USER_POLICY, kUserHash,
140 std::unique_ptr<base::ListValue> user_policy_onc = 132 base::ListValue(), base::DictionaryValue());
141 ListBuilder()
142 .Append(DictionaryBuilder()
143 .Set("GUID", kManagedUserWifiGuid)
144 .Set("Type", "WiFi")
145 .Set("WiFi",
146 DictionaryBuilder()
147 .Set("Passphrase", "fake")
148 .Set("SSID", user_policy_ssid)
149 .Set("HexSSID",
150 base::HexEncode(user_policy_ssid.c_str(),
151 user_policy_ssid.size()))
152 .Set("Security", "WPA-PSK")
153 .Build())
154 .Build())
155 .Build();
156 133
157 config_handler->SetPolicy(::onc::ONC_SOURCE_USER_POLICY, kUserHash,
158 *user_policy_onc, base::DictionaryValue());
159
160 const std::string device_policy_ssid = kManagedDeviceWifiSsid;
161 std::unique_ptr<base::ListValue> device_policy_onc =
162 ListBuilder()
163 .Append(DictionaryBuilder()
164 .Set("GUID", kManagedDeviceWifiGuid)
165 .Set("Type", "WiFi")
166 .Set("WiFi",
167 DictionaryBuilder()
168 .Set("SSID", device_policy_ssid)
169 .Set("HexSSID", base::HexEncode(
170 device_policy_ssid.c_str(),
171 device_policy_ssid.size()))
172 .Set("Security", "None")
173 .Build())
174 .Build())
175 .Build();
176 config_handler->SetPolicy(::onc::ONC_SOURCE_DEVICE_POLICY, "", 134 config_handler->SetPolicy(::onc::ONC_SOURCE_DEVICE_POLICY, "",
177 *device_policy_onc, base::DictionaryValue()); 135 base::ListValue(), base::DictionaryValue());
178 } 136 }
179 137
180 void AddSharedNetworkToUserProfile() { 138 void AddSharedNetworkToUserProfile() {
181 service_test_->SetServiceProperty(kSharedWifiServicePath, 139 service_test_->SetServiceProperty(kSharedWifiServicePath,
182 shill::kProfileProperty, 140 shill::kProfileProperty,
183 base::Value(kUserProfilePath)); 141 base::Value(kUserProfilePath));
184 profile_test_->AddService(kUserProfilePath, kSharedWifiServicePath); 142 profile_test_->AddService(kUserProfilePath, kSharedWifiServicePath);
185 143
186 base::RunLoop().RunUntilIdle(); 144 base::RunLoop().RunUntilIdle();
187 } 145 }
(...skipping 19 matching lines...) Expand all
207 chromeos::ShillDeviceClient::TestInterface* device_test_; 165 chromeos::ShillDeviceClient::TestInterface* device_test_;
208 166
209 DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateApiTest); 167 DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateApiTest);
210 }; 168 };
211 169
212 TEST_F(NetworkingPrivateApiTest, SetSharedNetworkProperties) { 170 TEST_F(NetworkingPrivateApiTest, SetSharedNetworkProperties) {
213 EXPECT_EQ(networking_private::kErrorAccessToSharedConfig, 171 EXPECT_EQ(networking_private::kErrorAccessToSharedConfig,
214 RunFunctionAndReturnError( 172 RunFunctionAndReturnError(
215 new NetworkingPrivateSetPropertiesFunction(), 173 new NetworkingPrivateSetPropertiesFunction(),
216 base::StringPrintf( 174 base::StringPrintf(
217 R"(["%s", {"WiFi": {"Passphrase": "passphrase"}}])", 175 "[\"%s\", {\"WiFi\": {\"Passphrase\": \"passphrase\"}}]",
218 kSharedWifiGuid))); 176 kSharedWifiGuid)));
219 } 177 }
220 178
221 TEST_F(NetworkingPrivateApiTest, SetPrivateNetworkPropertiesWebUI) { 179 TEST_F(NetworkingPrivateApiTest, SetPrivateNetworkPropertiesWebUI) {
222 scoped_refptr<NetworkingPrivateSetPropertiesFunction> set_properties = 180 scoped_refptr<NetworkingPrivateSetPropertiesFunction> set_properties =
223 new NetworkingPrivateSetPropertiesFunction(); 181 new NetworkingPrivateSetPropertiesFunction();
224 set_properties->set_source_context_type(Feature::WEBUI_CONTEXT); 182 set_properties->set_source_context_type(Feature::WEBUI_CONTEXT);
225 183
226 RunFunction( 184 RunFunction(
227 set_properties.get(), 185 set_properties.get(),
228 base::StringPrintf(R"(["%s", {"Priority": 0}])", kSharedWifiGuid)); 186 base::StringPrintf("[\"%s\", {\"Priority\": 0}]", kSharedWifiGuid));
229 EXPECT_EQ(ExtensionFunction::SUCCEEDED, *set_properties->response_type()); 187 EXPECT_EQ(ExtensionFunction::SUCCEEDED, *set_properties->response_type());
230 188
231 const chromeos::NetworkState* network = 189 const chromeos::NetworkState* network =
232 chromeos::NetworkHandler::Get() 190 chromeos::NetworkHandler::Get()
233 ->network_state_handler() 191 ->network_state_handler()
234 ->GetNetworkStateFromGuid(kSharedWifiGuid); 192 ->GetNetworkStateFromGuid(kSharedWifiGuid);
235 ASSERT_TRUE(network); 193 ASSERT_TRUE(network);
236 EXPECT_FALSE(network->IsPrivate()); 194 EXPECT_FALSE(network->IsPrivate());
237 EXPECT_EQ(0, GetNetworkPriority(network)); 195 EXPECT_EQ(0, GetNetworkPriority(network));
238 } 196 }
239 197
240 TEST_F(NetworkingPrivateApiTest, SetPrivateNetworkProperties) { 198 TEST_F(NetworkingPrivateApiTest, SetPrivateNetworkProperties) {
241 scoped_refptr<NetworkingPrivateSetPropertiesFunction> set_properties = 199 scoped_refptr<NetworkingPrivateSetPropertiesFunction> set_properties =
242 new NetworkingPrivateSetPropertiesFunction(); 200 new NetworkingPrivateSetPropertiesFunction();
243 RunFunction( 201 RunFunction(
244 set_properties.get(), 202 set_properties.get(),
245 base::StringPrintf(R"(["%s", {"Priority": 0}])", kPrivateWifiGuid)); 203 base::StringPrintf("[\"%s\", {\"Priority\": 0}]", kPrivateWifiGuid));
246 EXPECT_EQ(ExtensionFunction::SUCCEEDED, *set_properties->response_type()); 204 EXPECT_EQ(ExtensionFunction::SUCCEEDED, *set_properties->response_type());
247 205
248 const chromeos::NetworkState* network = 206 const chromeos::NetworkState* network =
249 chromeos::NetworkHandler::Get() 207 chromeos::NetworkHandler::Get()
250 ->network_state_handler() 208 ->network_state_handler()
251 ->GetNetworkStateFromGuid(kPrivateWifiGuid); 209 ->GetNetworkStateFromGuid(kPrivateWifiGuid);
252 ASSERT_TRUE(network); 210 ASSERT_TRUE(network);
253 EXPECT_TRUE(network->IsPrivate()); 211 EXPECT_TRUE(network->IsPrivate());
254 EXPECT_EQ(0, GetNetworkPriority(network)); 212 EXPECT_EQ(0, GetNetworkPriority(network));
255 } 213 }
256 214
257 TEST_F(NetworkingPrivateApiTest, CreateSharedNetwork) { 215 TEST_F(NetworkingPrivateApiTest, CreateSharedNetwork) {
258 EXPECT_EQ( 216 EXPECT_EQ(
259 networking_private::kErrorAccessToSharedConfig, 217 networking_private::kErrorAccessToSharedConfig,
260 RunFunctionAndReturnError(new NetworkingPrivateCreateNetworkFunction(), 218 RunFunctionAndReturnError(new NetworkingPrivateCreateNetworkFunction(),
261 R"([true, { 219 "[true, {"
262 "Type": "WiFi", 220 " \"Type\": \"WiFi\","
263 "WiFi": { 221 " \"WiFi\": {"
264 "SSID": "New network", 222 " \"SSID\": \"New network\","
265 "Security": "None" 223 " \"Security\": \"None\""
266 } 224 "}}]"));
267 }])"));
268 } 225 }
269 226
270 TEST_F(NetworkingPrivateApiTest, CreateSharedNetworkWebUI) { 227 TEST_F(NetworkingPrivateApiTest, CreateSharedNetworkWebUI) {
271 scoped_refptr<NetworkingPrivateCreateNetworkFunction> create_network = 228 scoped_refptr<NetworkingPrivateCreateNetworkFunction> create_network =
272 new NetworkingPrivateCreateNetworkFunction(); 229 new NetworkingPrivateCreateNetworkFunction();
273 create_network->set_source_context_type(Feature::WEBUI_CONTEXT); 230 create_network->set_source_context_type(Feature::WEBUI_CONTEXT);
274 231
275 std::unique_ptr<base::Value> result = 232 std::unique_ptr<base::Value> result =
276 RunFunctionAndReturnValue(create_network.get(), 233 RunFunctionAndReturnValue(create_network.get(),
277 R"([true, { 234 "[true, {"
278 "Priority": 1, 235 " \"Priority\": 1,"
279 "Type": "WiFi", 236 " \"Type\": \"WiFi\","
280 "WiFi": { 237 " \"WiFi\": {"
281 "SSID": "New network", 238 " \"SSID\": \"New network\","
282 "Security": "None" 239 " \"Security\": \"None\""
283 } 240 "}}]");
284 }])");
285 241
286 ASSERT_TRUE(result); 242 ASSERT_TRUE(result);
287 ASSERT_TRUE(result->is_string()); 243 ASSERT_TRUE(result->is_string());
288 244
289 std::string guid = result->GetString(); 245 std::string guid = result->GetString();
290 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get() 246 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get()
291 ->network_state_handler() 247 ->network_state_handler()
292 ->GetNetworkStateFromGuid(guid); 248 ->GetNetworkStateFromGuid(guid);
293 ASSERT_TRUE(network); 249 ASSERT_TRUE(network);
294 EXPECT_FALSE(network->IsPrivate()); 250 EXPECT_FALSE(network->IsPrivate());
295 ASSERT_EQ(1, GetNetworkPriority(network)); 251 ASSERT_EQ(1, GetNetworkPriority(network));
296 } 252 }
297 253
298 TEST_F(NetworkingPrivateApiTest, CreatePrivateNetwork) { 254 TEST_F(NetworkingPrivateApiTest, CreatePrivateNetwork) {
299 std::unique_ptr<base::Value> result = 255 std::unique_ptr<base::Value> result =
300 RunFunctionAndReturnValue(new NetworkingPrivateCreateNetworkFunction(), 256 RunFunctionAndReturnValue(new NetworkingPrivateCreateNetworkFunction(),
301 R"([false, { 257 "[false, {"
302 "Priority": 1, 258 " \"Priority\": 1,"
303 "Type": "WiFi", 259 " \"Type\": \"WiFi\","
304 "WiFi": { 260 " \"WiFi\": {"
305 "SSID": "New WiFi", 261 " \"SSID\": \"New WiFi\","
306 "Security": "WPA-PSK" 262 " \"Security\": \"WPA-PSK\""
307 } 263 "}}]");
308 }])");
309 264
310 ASSERT_TRUE(result); 265 ASSERT_TRUE(result);
311 ASSERT_TRUE(result->is_string()); 266 ASSERT_TRUE(result->is_string());
312 267
313 // Test the created config can be changed now. 268 // Test the created config can be changed now.
314 std::string guid = result->GetString(); 269 std::string guid = result->GetString();
315 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get() 270 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get()
316 ->network_state_handler() 271 ->network_state_handler()
317 ->GetNetworkStateFromGuid(guid); 272 ->GetNetworkStateFromGuid(guid);
318 ASSERT_TRUE(network); 273 ASSERT_TRUE(network);
319 EXPECT_TRUE(network->IsPrivate()); 274 EXPECT_TRUE(network->IsPrivate());
320 EXPECT_EQ(1, GetNetworkPriority(network)); 275 EXPECT_EQ(1, GetNetworkPriority(network));
321 276
322 scoped_refptr<NetworkingPrivateSetPropertiesFunction> set_properties = 277 scoped_refptr<NetworkingPrivateSetPropertiesFunction> set_properties =
323 new NetworkingPrivateSetPropertiesFunction(); 278 new NetworkingPrivateSetPropertiesFunction();
324 279
325 RunFunction(set_properties.get(), 280 RunFunction(set_properties.get(),
326 base::StringPrintf(R"(["%s", {"Priority": 2}])", guid.c_str())); 281 base::StringPrintf("[\"%s\", {\"Priority\": 2}]", guid.c_str()));
327 EXPECT_EQ(ExtensionFunction::SUCCEEDED, *set_properties->response_type()); 282 EXPECT_EQ(ExtensionFunction::SUCCEEDED, *set_properties->response_type());
328 283
329 EXPECT_EQ(2, GetNetworkPriority(network)); 284 EXPECT_EQ(2, GetNetworkPriority(network));
330 } 285 }
331 286
332 TEST_F(NetworkingPrivateApiTest, CreatePrivateNetwork_NonMatchingSsids) {
333 const std::string network_ssid = "new_wifi_config";
334 const std::string network_hex_ssid =
335 base::HexEncode(network_ssid.c_str(), network_ssid.size());
336 std::unique_ptr<base::Value> result =
337 RunFunctionAndReturnValue(new NetworkingPrivateCreateNetworkFunction(),
338 base::StringPrintf(R"([false, {
339 "Priority": 1,
340 "Type": "WiFi",
341 "WiFi": {
342 "SSID": "New WiFi",
343 "HexSSID": "%s",
344 "Security": "WPA-PSK"
345 }
346 }])",
347 network_hex_ssid.c_str()));
348
349 ASSERT_TRUE(result);
350 ASSERT_TRUE(result->is_string());
351
352 // Test the created config can be changed now.
353 const std::string guid = result->GetString();
354 const chromeos::NetworkState* network = chromeos::NetworkHandler::Get()
355 ->network_state_handler()
356 ->GetNetworkStateFromGuid(guid);
357 ASSERT_TRUE(network);
358 EXPECT_TRUE(network->IsPrivate());
359 EXPECT_EQ(1, GetNetworkPriority(network));
360 EXPECT_EQ(network_hex_ssid, network->GetHexSsid());
361 EXPECT_EQ(network_ssid, network->name());
362 }
363
364 TEST_F(NetworkingPrivateApiTest,
365 CreateAlreadyConfiguredUserPrivateNetwork_BySsid) {
366 EXPECT_EQ(
367 "NetworkAlreadyConfigured",
368 RunFunctionAndReturnError(new NetworkingPrivateCreateNetworkFunction(),
369 base::StringPrintf(R"([false, {
370 "Priority": 1,
371 "Type": "WiFi",
372 "WiFi": {
373 "SSID": "%s",
374 "Security": "WPA-PSK"
375 }
376 }])",
377 kManagedUserWifiSsid)));
378 }
379
380 TEST_F(NetworkingPrivateApiTest,
381 CreateAlreadyConfiguredUserPrivateNetwork_ByHexSsid) {
382 std::string network_hex_ssid =
383 base::HexEncode(kManagedUserWifiSsid, sizeof(kManagedUserWifiSsid) - 1);
384 EXPECT_EQ(
385 "NetworkAlreadyConfigured",
386 RunFunctionAndReturnError(new NetworkingPrivateCreateNetworkFunction(),
387 base::StringPrintf(R"([false, {
388 "Priority": 1,
389 "Type": "WiFi",
390 "WiFi": {
391 "HexSSID": "%s",
392 "Security": "WPA-PSK"
393 }
394 }])",
395 network_hex_ssid.c_str())));
396 }
397
398 TEST_F(NetworkingPrivateApiTest,
399 CreateAlreadyConfiguredUserPrivateNetwork_NonMatchingSsids) {
400 std::string network_hex_ssid =
401 base::HexEncode(kManagedUserWifiSsid, sizeof(kManagedUserWifiSsid) - 1);
402 // HexSSID should take presedence over SSID.
403 EXPECT_EQ(
404 "NetworkAlreadyConfigured",
405 RunFunctionAndReturnError(new NetworkingPrivateCreateNetworkFunction(),
406 base::StringPrintf(R"([false, {
407 "Priority": 1,
408 "Type": "WiFi",
409 "WiFi": {
410 "SSID": "wrong_ssid",
411 "HexSSID": "%s",
412 "Security": "WPA-PSK"
413 }
414 }])",
415 network_hex_ssid.c_str())));
416 }
417
418 TEST_F(NetworkingPrivateApiTest,
419 CreateAlreadyConfiguredUserPrivateNetwork_ByHexSSID) {
420 std::string network_hex_ssid =
421 base::HexEncode(kManagedUserWifiSsid, sizeof(kManagedUserWifiSsid) - 1);
422 EXPECT_EQ(
423 "NetworkAlreadyConfigured",
424 RunFunctionAndReturnError(new NetworkingPrivateCreateNetworkFunction(),
425 base::StringPrintf(R"([false, {
426 "Priority": 1,
427 "Type": "WiFi",
428 "WiFi": {
429 "HexSSID": "%s",
430 "Security": "WPA-PSK"
431 }
432 }])",
433 network_hex_ssid.c_str())));
434 }
435
436 TEST_F(NetworkingPrivateApiTest, CreateAlreadyConfiguredDeviceNetwork) {
437 EXPECT_EQ(
438 "NetworkAlreadyConfigured",
439 RunFunctionAndReturnError(new NetworkingPrivateCreateNetworkFunction(),
440 base::StringPrintf(R"([false, {
441 "Priority": 1,
442 "Type": "WiFi",
443 "WiFi": {
444 "SSID": "%s"
445 }
446 }])",
447 kManagedDeviceWifiSsid)));
448 }
449
450 TEST_F(NetworkingPrivateApiTest,
451 CreateAlreadyConfiguredDeviceNetwork_ByHexSSID) {
452 std::string network_hex_ssid = base::HexEncode(
453 kManagedDeviceWifiSsid, sizeof(kManagedDeviceWifiSsid) - 1);
454 EXPECT_EQ(
455 "NetworkAlreadyConfigured",
456 RunFunctionAndReturnError(new NetworkingPrivateCreateNetworkFunction(),
457 base::StringPrintf(R"([false, {
458 "Priority": 1,
459 "Type": "WiFi",
460 "WiFi": {
461 "HexSSID": "%s",
462 "Security": "WPA-PSK"
463 }
464 }])",
465 network_hex_ssid.c_str())));
466 }
467
468 } // namespace extensions 287 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698