Commit d7439c1a authored by tnagel@chromium.org's avatar tnagel@chromium.org

Improve wallpaper policy tests.

Check switching between pods on login screen and add new test to check
wallpaper persistence across logout.

BUG=none

Review URL: https://codereview.chromium.org/219143004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266154 0039d316-1c4b-4281-b951-d872f2087c98
parent 4a94aae2
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "base/path_service.h" #include "base/path_service.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "chrome/browser/chromeos/login/login_display_host_impl.h"
#include "chrome/browser/chromeos/login/login_manager_test.h" #include "chrome/browser/chromeos/login/login_manager_test.h"
#include "chrome/browser/chromeos/login/startup_utils.h" #include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/user.h" #include "chrome/browser/chromeos/login/user.h"
...@@ -39,6 +40,7 @@ ...@@ -39,6 +40,7 @@
#include "components/policy/core/common/cloud/cloud_policy_store.h" #include "components/policy/core/common/cloud/cloud_policy_store.h"
#include "components/policy/core/common/cloud/cloud_policy_validator.h" #include "components/policy/core/common/cloud/cloud_policy_validator.h"
#include "components/policy/core/common/cloud/policy_builder.h" #include "components/policy/core/common/cloud/policy_builder.h"
#include "content/public/test/browser_test_utils.h"
#include "crypto/rsa_private_key.h" #include "crypto/rsa_private_key.h"
#include "net/test/embedded_test_server/embedded_test_server.h" #include "net/test/embedded_test_server/embedded_test_server.h"
#include "policy/proto/cloud_policy.pb.h" #include "policy/proto/cloud_policy.pb.h"
...@@ -327,12 +329,14 @@ IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, SetResetClear) { ...@@ -327,12 +329,14 @@ IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, SetResetClear) {
} }
IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest,
PRE_PRE_WallpaperOnLoginScreen) { PRE_PRE_PRE_WallpaperOnLoginScreen) {
RegisterUser(kTestUsers[0]); RegisterUser(kTestUsers[0]);
RegisterUser(kTestUsers[1]);
StartupUtils::MarkOobeCompleted(); StartupUtils::MarkOobeCompleted();
} }
IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, PRE_WallpaperOnLoginScreen) { IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest,
PRE_PRE_WallpaperOnLoginScreen) {
LoginUser(kTestUsers[0]); LoginUser(kTestUsers[0]);
// Wait until default wallpaper has been loaded. // Wait until default wallpaper has been loaded.
...@@ -343,11 +347,62 @@ IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, PRE_WallpaperOnLoginScreen) { ...@@ -343,11 +347,62 @@ IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, PRE_WallpaperOnLoginScreen) {
// Run until wallpaper has changed. // Run until wallpaper has changed.
RunUntilWallpaperChangeCount(2); RunUntilWallpaperChangeCount(2);
ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor());
}
IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, PRE_WallpaperOnLoginScreen) {
LoginUser(kTestUsers[1]);
// Wait until default wallpaper has been loaded.
RunUntilWallpaperChangeCount(1);
// Set wallpaper policy to green image.
InjectPolicy(1, kGreenImageFileName);
// Run until wallpaper has changed.
RunUntilWallpaperChangeCount(2);
ASSERT_EQ(kGreenImageColor, GetAverageBackgroundColor());
} }
IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, WallpaperOnLoginScreen) { IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, WallpaperOnLoginScreen) {
// Wait for active pod's wallpaper to be loaded. // Wait for active pod's wallpaper to be loaded.
RunUntilWallpaperChangeCount(1); RunUntilWallpaperChangeCount(1);
ASSERT_EQ(kGreenImageColor, GetAverageBackgroundColor());
// Select the second pod (belonging to user 1).
ASSERT_TRUE(content::ExecuteScript(
static_cast<chromeos::LoginDisplayHostImpl*>(
chromeos::LoginDisplayHostImpl::default_host())->GetOobeUI()->
web_ui()->GetWebContents(),
"document.getElementsByClassName('pod')[1].focus();"));
RunUntilWallpaperChangeCount(2);
ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor());
}
IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, PRE_PRE_PersistOverLogout) {
RegisterUser(kTestUsers[0]);
StartupUtils::MarkOobeCompleted();
}
IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, PRE_PersistOverLogout) {
LoginUser(kTestUsers[0]);
// Wait until default wallpaper has been loaded.
RunUntilWallpaperChangeCount(1);
// Set wallpaper policy to red image.
InjectPolicy(0, kRedImageFileName);
// Run until wallpaper has changed.
RunUntilWallpaperChangeCount(2);
ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor());
}
IN_PROC_BROWSER_TEST_P(WallpaperManagerPolicyTest, PersistOverLogout) {
LoginUser(kTestUsers[0]);
// Wait until wallpaper has been loaded.
RunUntilWallpaperChangeCount(1);
ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor()); ASSERT_EQ(kRedImageColor, GetAverageBackgroundColor());
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment