| OLD | NEW |
| 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 // Intentionally not using the |chromeos::ProfileHelper::GetSigninProfile| | 138 // Intentionally not using the |chromeos::ProfileHelper::GetSigninProfile| |
| 139 // method here, as it performs the lazy construction of the profile, while for | 139 // method here, as it performs the lazy construction of the profile, while for |
| 140 // the testing purposes it's better to assert that it has been created before. | 140 // the testing purposes it's better to assert that it has been created before. |
| 141 Profile* const profile = | 141 Profile* const profile = |
| 142 g_browser_process->profile_manager()->GetProfileByPath( | 142 g_browser_process->profile_manager()->GetProfileByPath( |
| 143 chromeos::ProfileHelper::GetSigninProfileDir()); | 143 chromeos::ProfileHelper::GetSigninProfileDir()); |
| 144 DCHECK(profile); | 144 DCHECK(profile); |
| 145 return profile; | 145 return profile; |
| 146 } | 146 } |
| 147 | 147 |
| 148 // Tests for the sign-in profile apps being enabled via the command line flag. | |
| 149 // TODO(emaxx): Remove this smoke test once it's investigated whether just | |
| 150 // specifying this command line flag leads to tests being timed out. | |
| 151 class SigninProfileAppsEnabledViaCommandLineTest : public InProcessBrowserTest { | |
| 152 protected: | |
| 153 SigninProfileAppsEnabledViaCommandLineTest() {} | |
| 154 | |
| 155 void SetUpCommandLine(base::CommandLine* command_line) override { | |
| 156 InProcessBrowserTest::SetUpCommandLine(command_line); | |
| 157 command_line->AppendSwitch(switches::kEnableLoginScreenApps); | |
| 158 } | |
| 159 | |
| 160 private: | |
| 161 DISALLOW_COPY_AND_ASSIGN(SigninProfileAppsEnabledViaCommandLineTest); | |
| 162 }; | |
| 163 | |
| 164 } // namespace | 148 } // namespace |
| 165 | 149 |
| 166 IN_PROC_BROWSER_TEST_F(SigninProfileAppsEnabledViaCommandLineTest, | |
| 167 NoExtensions) { | |
| 168 EXPECT_TRUE(extensions::ExtensionSystem::Get(GetProfile()) | |
| 169 ->extension_service() | |
| 170 ->extensions_enabled()); | |
| 171 } | |
| 172 | |
| 173 namespace { | 150 namespace { |
| 174 | 151 |
| 175 // Base class for testing sign-in profile apps that are installed via the device | 152 // Base class for testing sign-in profile apps that are installed via the device |
| 176 // policy. | 153 // policy. |
| 177 class SigninProfileAppsPolicyTestBase : public DevicePolicyCrosBrowserTest { | 154 class SigninProfileAppsPolicyTestBase : public DevicePolicyCrosBrowserTest { |
| 178 protected: | 155 protected: |
| 179 explicit SigninProfileAppsPolicyTestBase(version_info::Channel channel) | 156 explicit SigninProfileAppsPolicyTestBase(version_info::Channel channel) |
| 180 : channel_(channel), scoped_current_channel_(channel) {} | 157 : channel_(channel), scoped_current_channel_(channel) {} |
| 181 | 158 |
| 182 void SetUpCommandLine(base::CommandLine* command_line) override { | 159 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 183 DevicePolicyCrosBrowserTest::SetUpCommandLine(command_line); | 160 DevicePolicyCrosBrowserTest::SetUpCommandLine(command_line); |
| 184 command_line->AppendSwitch(chromeos::switches::kLoginManager); | 161 command_line->AppendSwitch(chromeos::switches::kLoginManager); |
| 185 command_line->AppendSwitch(chromeos::switches::kForceLoginManagerInTests); | 162 command_line->AppendSwitch(chromeos::switches::kForceLoginManagerInTests); |
| 186 command_line->AppendSwitch(switches::kEnableLoginScreenApps); | |
| 187 } | 163 } |
| 188 | 164 |
| 189 void SetUpInProcessBrowserTestFixture() override { | 165 void SetUpInProcessBrowserTestFixture() override { |
| 190 DevicePolicyCrosBrowserTest::SetUpInProcessBrowserTestFixture(); | 166 DevicePolicyCrosBrowserTest::SetUpInProcessBrowserTestFixture(); |
| 191 InstallOwnerKey(); | 167 InstallOwnerKey(); |
| 192 MarkAsEnterpriseOwned(); | 168 MarkAsEnterpriseOwned(); |
| 193 } | 169 } |
| 194 | 170 |
| 195 void SetUpOnMainThread() override { | 171 void SetUpOnMainThread() override { |
| 196 EnableUrlRequestMocks(); | 172 EnableUrlRequestMocks(); |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 protected: | 294 protected: |
| 319 SigninProfileAppsPolicyTest() | 295 SigninProfileAppsPolicyTest() |
| 320 : SigninProfileAppsPolicyTestBase(version_info::Channel::UNKNOWN) {} | 296 : SigninProfileAppsPolicyTestBase(version_info::Channel::UNKNOWN) {} |
| 321 | 297 |
| 322 private: | 298 private: |
| 323 DISALLOW_COPY_AND_ASSIGN(SigninProfileAppsPolicyTest); | 299 DISALLOW_COPY_AND_ASSIGN(SigninProfileAppsPolicyTest); |
| 324 }; | 300 }; |
| 325 | 301 |
| 326 } // namespace | 302 } // namespace |
| 327 | 303 |
| 304 // Tests that the extension system enables non-standard extensions in the |
| 305 // sign-in profile. |
| 306 IN_PROC_BROWSER_TEST_F(SigninProfileAppsPolicyTest, ExtensionsEnabled) { |
| 307 EXPECT_TRUE(extensions::ExtensionSystem::Get(GetProfile()) |
| 308 ->extension_service() |
| 309 ->extensions_enabled()); |
| 310 } |
| 311 |
| 328 // Tests that a background page is created for the installed sign-in profile | 312 // Tests that a background page is created for the installed sign-in profile |
| 329 // app. | 313 // app. |
| 330 IN_PROC_BROWSER_TEST_F(SigninProfileAppsPolicyTest, BackgroundPage) { | 314 IN_PROC_BROWSER_TEST_F(SigninProfileAppsPolicyTest, BackgroundPage) { |
| 331 ExtensionBackgroundPageReadyObserver page_observer(kTrivialAppId); | 315 ExtensionBackgroundPageReadyObserver page_observer(kTrivialAppId); |
| 332 AddExtensionForForceInstallation( | 316 AddExtensionForForceInstallation( |
| 333 kTrivialAppId, base::FilePath(kTrivialAppUpdateManifestPath)); | 317 kTrivialAppId, base::FilePath(kTrivialAppUpdateManifestPath)); |
| 334 page_observer.Wait(); | 318 page_observer.Wait(); |
| 335 } | 319 } |
| 336 | 320 |
| 337 // Tests installation of multiple sign-in profile apps. | 321 // Tests installation of multiple sign-in profile apps. |
| 338 IN_PROC_BROWSER_TEST_F(SigninProfileAppsPolicyTest, MultipleApps) { | 322 IN_PROC_BROWSER_TEST_F(SigninProfileAppsPolicyTest, MultipleApps) { |
| 339 extensions::TestExtensionRegistryObserver registry_observer1( | 323 extensions::TestExtensionRegistryObserver registry_observer1( |
| 340 extensions::ExtensionRegistry::Get(GetProfile()), kTestAppId); | 324 extensions::ExtensionRegistry::Get(GetProfile()), kTestAppId); |
| 341 extensions::TestExtensionRegistryObserver registry_observer2( | 325 extensions::TestExtensionRegistryObserver registry_observer2( |
| 342 extensions::ExtensionRegistry::Get(GetProfile()), kTrivialAppId); | 326 extensions::ExtensionRegistry::Get(GetProfile()), kTrivialAppId); |
| 343 | 327 |
| 344 AddExtensionForForceInstallation(kTestAppId, | 328 AddExtensionForForceInstallation(kTestAppId, |
| 345 base::FilePath(kTestAppUpdateManifestPath)); | 329 base::FilePath(kTestAppUpdateManifestPath)); |
| 346 AddExtensionForForceInstallation( | 330 AddExtensionForForceInstallation( |
| 347 kTrivialAppId, base::FilePath(kTrivialAppUpdateManifestPath)); | 331 kTrivialAppId, base::FilePath(kTrivialAppUpdateManifestPath)); |
| 348 | 332 |
| 349 registry_observer1.WaitForExtensionLoaded(); | 333 registry_observer1.WaitForExtensionLoaded(); |
| 350 registry_observer2.WaitForExtensionLoaded(); | 334 registry_observer2.WaitForExtensionLoaded(); |
| 351 } | 335 } |
| 352 | 336 |
| 353 } // namespace policy | 337 } // namespace policy |
| OLD | NEW |