OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/command_line.h" | 5 #include "base/command_line.h" |
6 #include "chrome/browser/browser_process.h" | 6 #include "chrome/browser/browser_process.h" |
7 #include "chrome/browser/chromeos/login/user.h" | 7 #include "chrome/browser/chromeos/login/user.h" |
8 #include "chrome/browser/chromeos/login/user_manager.h" | 8 #include "chrome/browser/chromeos/login/user_manager.h" |
9 #include "chrome/browser/chromeos/policy/network_configuration_updater.h" | 9 #include "chrome/browser/chromeos/policy/network_configuration_updater.h" |
10 #include "chrome/browser/extensions/extension_apitest.h" | 10 #include "chrome/browser/extensions/extension_apitest.h" |
(...skipping 27 matching lines...) Expand all Loading... |
38 | 38 |
39 void AssignString(std::string* out, | 39 void AssignString(std::string* out, |
40 DBusMethodCallStatus call_status, | 40 DBusMethodCallStatus call_status, |
41 const std::string& result) { | 41 const std::string& result) { |
42 CHECK_EQ(call_status, DBUS_METHOD_CALL_SUCCESS); | 42 CHECK_EQ(call_status, DBUS_METHOD_CALL_SUCCESS); |
43 *out = result; | 43 *out = result; |
44 } | 44 } |
45 | 45 |
46 } // namespace | 46 } // namespace |
47 | 47 |
48 class ExtensionNetworkingPrivateApiTest : public ExtensionApiTest { | 48 class ExtensionNetworkingPrivateApiTest : |
| 49 public ExtensionApiTest, |
| 50 public testing::WithParamInterface<bool> { |
49 public: | 51 public: |
50 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 52 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
51 ExtensionApiTest::SetUpCommandLine(command_line); | 53 ExtensionApiTest::SetUpCommandLine(command_line); |
52 // Whitelist the extension ID of the test extension. | 54 // Whitelist the extension ID of the test extension. |
53 command_line->AppendSwitchASCII(::switches::kWhitelistedExtensionID, | 55 command_line->AppendSwitchASCII(::switches::kWhitelistedExtensionID, |
54 "epcifkihnkjgphfkloaaleeakhpmgdmn"); | 56 "epcifkihnkjgphfkloaaleeakhpmgdmn"); |
55 command_line->AppendSwitch(switches::kUseNewNetworkConfigurationHandlers); | 57 command_line->AppendSwitch(switches::kUseNewNetworkConfigurationHandlers); |
56 | 58 |
57 // TODO(pneubeck): Remove the following hack, once the NetworkingPrivateAPI | 59 // TODO(pneubeck): Remove the following hack, once the NetworkingPrivateAPI |
58 // uses the ProfileHelper to obtain the userhash crbug/238623. | 60 // uses the ProfileHelper to obtain the userhash crbug/238623. |
59 std::string login_user = | 61 std::string login_user = |
60 command_line->GetSwitchValueNative(switches::kLoginUser); | 62 command_line->GetSwitchValueNative(switches::kLoginUser); |
61 // Do the same as CryptohomeClientStubImpl::GetSanitizedUsername | 63 // Do the same as CryptohomeClientStubImpl::GetSanitizedUsername |
62 std::string sanitized_user = login_user + kUserIdStubHashSuffix; | 64 std::string sanitized_user = login_user + kUserIdStubHashSuffix; |
63 command_line->AppendSwitchASCII(switches::kLoginProfile, sanitized_user); | 65 command_line->AppendSwitchASCII(switches::kLoginProfile, sanitized_user); |
| 66 if (GetParam()) |
| 67 command_line->AppendSwitch(::switches::kMultiProfiles); |
64 } | 68 } |
65 | 69 |
66 bool RunNetworkingSubtest(const std::string& subtest) { | 70 bool RunNetworkingSubtest(const std::string& subtest) { |
67 return RunExtensionSubtest( | 71 return RunExtensionSubtest( |
68 "networking", "main.html?" + subtest, | 72 "networking", "main.html?" + subtest, |
69 kFlagEnableFileAccess | kFlagLoadAsComponent); | 73 kFlagEnableFileAccess | kFlagLoadAsComponent); |
70 } | 74 } |
71 | 75 |
72 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 76 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
73 EXPECT_CALL(provider_, IsInitializationComplete(_)) | 77 EXPECT_CALL(provider_, IsInitializationComplete(_)) |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 | 176 |
173 protected: | 177 protected: |
174 policy::MockConfigurationPolicyProvider provider_; | 178 policy::MockConfigurationPolicyProvider provider_; |
175 std::string userhash_; | 179 std::string userhash_; |
176 }; | 180 }; |
177 | 181 |
178 // Place each subtest into a separate browser test so that the stub networking | 182 // Place each subtest into a separate browser test so that the stub networking |
179 // library state is reset for each subtest run. This way they won't affect each | 183 // library state is reset for each subtest run. This way they won't affect each |
180 // other. | 184 // other. |
181 | 185 |
182 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, StartConnect) { | 186 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, StartConnect) { |
183 EXPECT_TRUE(RunNetworkingSubtest("startConnect")) << message_; | 187 EXPECT_TRUE(RunNetworkingSubtest("startConnect")) << message_; |
184 } | 188 } |
185 | 189 |
186 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, StartDisconnect) { | 190 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, StartDisconnect) { |
187 EXPECT_TRUE(RunNetworkingSubtest("startDisconnect")) << message_; | 191 EXPECT_TRUE(RunNetworkingSubtest("startDisconnect")) << message_; |
188 } | 192 } |
189 | 193 |
190 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 194 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
191 StartConnectNonexistent) { | 195 StartConnectNonexistent) { |
192 EXPECT_TRUE(RunNetworkingSubtest("startConnectNonexistent")) << message_; | 196 EXPECT_TRUE(RunNetworkingSubtest("startConnectNonexistent")) << message_; |
193 } | 197 } |
194 | 198 |
195 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 199 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
196 StartDisconnectNonexistent) { | 200 StartDisconnectNonexistent) { |
197 EXPECT_TRUE(RunNetworkingSubtest("startDisconnectNonexistent")) << message_; | 201 EXPECT_TRUE(RunNetworkingSubtest("startDisconnectNonexistent")) << message_; |
198 } | 202 } |
199 | 203 |
200 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 204 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
201 StartGetPropertiesNonexistent) { | 205 StartGetPropertiesNonexistent) { |
202 EXPECT_TRUE(RunNetworkingSubtest("startGetPropertiesNonexistent")) | 206 EXPECT_TRUE(RunNetworkingSubtest("startGetPropertiesNonexistent")) |
203 << message_; | 207 << message_; |
204 } | 208 } |
205 | 209 |
206 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, GetVisibleNetworks) { | 210 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, GetVisibleNetworks) { |
207 EXPECT_TRUE(RunNetworkingSubtest("getVisibleNetworks")) << message_; | 211 EXPECT_TRUE(RunNetworkingSubtest("getVisibleNetworks")) << message_; |
208 } | 212 } |
209 | 213 |
210 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 214 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
211 GetVisibleNetworksWifi) { | 215 GetVisibleNetworksWifi) { |
212 EXPECT_TRUE(RunNetworkingSubtest("getVisibleNetworksWifi")) << message_; | 216 EXPECT_TRUE(RunNetworkingSubtest("getVisibleNetworksWifi")) << message_; |
213 } | 217 } |
214 | 218 |
215 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, RequestNetworkScan) { | 219 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, RequestNetworkScan) { |
216 EXPECT_TRUE(RunNetworkingSubtest("requestNetworkScan")) << message_; | 220 EXPECT_TRUE(RunNetworkingSubtest("requestNetworkScan")) << message_; |
217 } | 221 } |
218 | 222 |
219 // Properties are filtered and translated through | 223 // Properties are filtered and translated through |
220 // ShillToONCTranslator::TranslateWiFiWithState | 224 // ShillToONCTranslator::TranslateWiFiWithState |
221 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, GetProperties) { | 225 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, GetProperties) { |
222 EXPECT_TRUE(RunNetworkingSubtest("getProperties")) << message_; | 226 EXPECT_TRUE(RunNetworkingSubtest("getProperties")) << message_; |
223 } | 227 } |
224 | 228 |
225 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, GetState) { | 229 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, GetState) { |
226 EXPECT_TRUE(RunNetworkingSubtest("getState")) << message_; | 230 EXPECT_TRUE(RunNetworkingSubtest("getState")) << message_; |
227 } | 231 } |
228 | 232 |
229 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, SetProperties) { | 233 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, SetProperties) { |
230 EXPECT_TRUE(RunNetworkingSubtest("setProperties")) << message_; | 234 EXPECT_TRUE(RunNetworkingSubtest("setProperties")) << message_; |
231 } | 235 } |
232 | 236 |
233 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 237 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
234 GetManagedProperties) { | 238 GetManagedProperties) { |
235 ShillServiceClient::TestInterface* service_test = | 239 ShillServiceClient::TestInterface* service_test = |
236 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); | 240 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); |
237 const std::string uidata_blob = | 241 const std::string uidata_blob = |
238 "{ \"user_settings\": {" | 242 "{ \"user_settings\": {" |
239 " \"WiFi\": {" | 243 " \"WiFi\": {" |
240 " \"Passphrase\": \"FAKE_CREDENTIAL_VPaJDV9x\" }" | 244 " \"Passphrase\": \"FAKE_CREDENTIAL_VPaJDV9x\" }" |
241 " }" | 245 " }" |
242 "}"; | 246 "}"; |
243 service_test->SetServiceProperty("stub_wifi2", | 247 service_test->SetServiceProperty("stub_wifi2", |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 policy::POLICY_LEVEL_MANDATORY, | 279 policy::POLICY_LEVEL_MANDATORY, |
276 policy::POLICY_SCOPE_USER, | 280 policy::POLICY_SCOPE_USER, |
277 Value::CreateStringValue(user_policy_blob)); | 281 Value::CreateStringValue(user_policy_blob)); |
278 provider_.UpdateChromePolicy(policy); | 282 provider_.UpdateChromePolicy(policy); |
279 | 283 |
280 content::RunAllPendingInMessageLoop(); | 284 content::RunAllPendingInMessageLoop(); |
281 | 285 |
282 EXPECT_TRUE(RunNetworkingSubtest("getManagedProperties")) << message_; | 286 EXPECT_TRUE(RunNetworkingSubtest("getManagedProperties")) << message_; |
283 } | 287 } |
284 | 288 |
285 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 289 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
286 OnNetworksChangedEventConnect) { | 290 OnNetworksChangedEventConnect) { |
287 EXPECT_TRUE(RunNetworkingSubtest("onNetworksChangedEventConnect")) | 291 EXPECT_TRUE(RunNetworkingSubtest("onNetworksChangedEventConnect")) |
288 << message_; | 292 << message_; |
289 } | 293 } |
290 | 294 |
291 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 295 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
292 OnNetworksChangedEventDisconnect) { | 296 OnNetworksChangedEventDisconnect) { |
293 EXPECT_TRUE(RunNetworkingSubtest("onNetworksChangedEventDisconnect")) | 297 EXPECT_TRUE(RunNetworkingSubtest("onNetworksChangedEventDisconnect")) |
294 << message_; | 298 << message_; |
295 } | 299 } |
296 | 300 |
297 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 301 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
298 OnNetworkListChangedEvent) { | 302 OnNetworkListChangedEvent) { |
299 EXPECT_TRUE(RunNetworkingSubtest("onNetworkListChangedEvent")) << message_; | 303 EXPECT_TRUE(RunNetworkingSubtest("onNetworkListChangedEvent")) << message_; |
300 } | 304 } |
301 | 305 |
302 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 306 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
303 VerifyDestination) { | 307 VerifyDestination) { |
304 EXPECT_TRUE(RunNetworkingSubtest("verifyDestination")) << message_; | 308 EXPECT_TRUE(RunNetworkingSubtest("verifyDestination")) << message_; |
305 } | 309 } |
306 | 310 |
307 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 311 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
308 VerifyAndEncryptCredentials) { | 312 VerifyAndEncryptCredentials) { |
309 EXPECT_TRUE(RunNetworkingSubtest("verifyAndEncryptCredentials")) << message_; | 313 EXPECT_TRUE(RunNetworkingSubtest("verifyAndEncryptCredentials")) << message_; |
310 } | 314 } |
311 | 315 |
312 IN_PROC_BROWSER_TEST_F(ExtensionNetworkingPrivateApiTest, | 316 IN_PROC_BROWSER_TEST_P(ExtensionNetworkingPrivateApiTest, |
313 VerifyAndEncryptData) { | 317 VerifyAndEncryptData) { |
314 EXPECT_TRUE(RunNetworkingSubtest("verifyAndEncryptData")) << message_; | 318 EXPECT_TRUE(RunNetworkingSubtest("verifyAndEncryptData")) << message_; |
315 } | 319 } |
316 | 320 |
| 321 INSTANTIATE_TEST_CASE_P(ExtensionNetworkingPrivateApiTestInstantiation, |
| 322 ExtensionNetworkingPrivateApiTest, |
| 323 testing::Bool()); |
317 | 324 |
318 } // namespace chromeos | 325 } // namespace chromeos |
OLD | NEW |