| 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 |