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

Side by Side Diff: chrome/browser/chromeos/login/kiosk_browsertest.cc

Issue 287083003: Multi-profile flag cleanup (Closed) Base URL: https://chromium.googlesource.com/chromium/src
Patch Set: Created 6 years, 7 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
OLDNEW
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 "apps/app_window.h" 5 #include "apps/app_window.h"
6 #include "apps/app_window_registry.h" 6 #include "apps/app_window_registry.h"
7 #include "apps/ui/native_app_window.h" 7 #include "apps/ui/native_app_window.h"
8 #include "ash/desktop_background/desktop_background_controller.h" 8 #include "ash/desktop_background/desktop_background_controller.h"
9 #include "ash/desktop_background/desktop_background_controller_observer.h" 9 #include "ash/desktop_background/desktop_background_controller_observer.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 20 matching lines...) Expand all
31 #include "chrome/browser/chromeos/profiles/profile_helper.h" 31 #include "chrome/browser/chromeos/profiles/profile_helper.h"
32 #include "chrome/browser/chromeos/settings/device_oauth2_token_service.h" 32 #include "chrome/browser/chromeos/settings/device_oauth2_token_service.h"
33 #include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h " 33 #include "chrome/browser/chromeos/settings/device_oauth2_token_service_factory.h "
34 #include "chrome/browser/extensions/extension_service.h" 34 #include "chrome/browser/extensions/extension_service.h"
35 #include "chrome/browser/extensions/extension_test_message_listener.h" 35 #include "chrome/browser/extensions/extension_test_message_listener.h"
36 #include "chrome/browser/profiles/profile_impl.h" 36 #include "chrome/browser/profiles/profile_impl.h"
37 #include "chrome/browser/profiles/profiles_state.h" 37 #include "chrome/browser/profiles/profiles_state.h"
38 #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h" 38 #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h"
39 #include "chrome/common/chrome_constants.h" 39 #include "chrome/common/chrome_constants.h"
40 #include "chrome/common/chrome_paths.h" 40 #include "chrome/common/chrome_paths.h"
41 #include "chrome/common/chrome_switches.h" 41 #include "chrome/common/chrome_switches.h"
Nikita (slow) 2014/05/19 14:27:15 nit: not used
42 #include "chrome/common/pref_names.h" 42 #include "chrome/common/pref_names.h"
43 #include "chromeos/chromeos_switches.h" 43 #include "chromeos/chromeos_switches.h"
44 #include "chromeos/dbus/cryptohome_client.h" 44 #include "chromeos/dbus/cryptohome_client.h"
45 #include "components/signin/core/common/signin_pref_names.h" 45 #include "components/signin/core/common/signin_pref_names.h"
46 #include "content/public/browser/notification_observer.h" 46 #include "content/public/browser/notification_observer.h"
47 #include "content/public/browser/notification_registrar.h" 47 #include "content/public/browser/notification_registrar.h"
48 #include "content/public/browser/notification_service.h" 48 #include "content/public/browser/notification_service.h"
49 #include "content/public/test/browser_test_utils.h" 49 #include "content/public/test/browser_test_utils.h"
50 #include "extensions/browser/extension_system.h" 50 #include "extensions/browser/extension_system.h"
51 #include "google_apis/gaia/gaia_constants.h" 51 #include "google_apis/gaia/gaia_constants.h"
(...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 // Show kiosk enable screen again. 863 // Show kiosk enable screen again.
864 GetLoginUI()->CallJavascriptFunction("cr.ui.Oobe.handleAccelerator", 864 GetLoginUI()->CallJavascriptFunction("cr.ui.Oobe.handleAccelerator",
865 base::StringValue("kiosk_enable")); 865 base::StringValue("kiosk_enable"));
866 866
867 // And it should show up. 867 // And it should show up.
868 content::WindowedNotificationObserver( 868 content::WindowedNotificationObserver(
869 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, 869 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE,
870 content::NotificationService::AllSources()).Wait(); 870 content::NotificationService::AllSources()).Wait();
871 } 871 }
872 872
873 class KioskUpdateTest : public KioskTest, 873 class KioskUpdateTest : public KioskTest {
874 public testing::WithParamInterface<bool> {
875 public: 874 public:
876 KioskUpdateTest() {} 875 KioskUpdateTest() {}
877 virtual ~KioskUpdateTest() {} 876 virtual ~KioskUpdateTest() {}
878 877
879 protected: 878 protected:
880 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 879 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
881 // Needs background networking so that ExtensionDownloader works. 880 // Needs background networking so that ExtensionDownloader works.
882 needs_background_networking_ = true; 881 needs_background_networking_ = true;
883
884 KioskTest::SetUpCommandLine(command_line); 882 KioskTest::SetUpCommandLine(command_line);
885 if (GetParam())
886 command_line->AppendSwitch(::switches::kMultiProfiles);
887 } 883 }
888 884
889 virtual void SetUpOnMainThread() OVERRIDE { 885 virtual void SetUpOnMainThread() OVERRIDE {
890 KioskTest::SetUpOnMainThread(); 886 KioskTest::SetUpOnMainThread();
891 } 887 }
892 888
893 private: 889 private:
894 890
895 DISALLOW_COPY_AND_ASSIGN(KioskUpdateTest); 891 DISALLOW_COPY_AND_ASSIGN(KioskUpdateTest);
896 }; 892 };
897 893
898 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppNoNetwork) { 894 IN_PROC_BROWSER_TEST_F(KioskUpdateTest, LaunchOfflineEnabledAppNoNetwork) {
899 set_test_app_id(kTestOfflineEnabledKioskApp); 895 set_test_app_id(kTestOfflineEnabledKioskApp);
900 896
901 PrepareAppLaunch(); 897 PrepareAppLaunch();
902 SimulateNetworkOffline(); 898 SimulateNetworkOffline();
903 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile"); 899 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile");
904 900
905 LaunchApp(test_app_id(), false); 901 LaunchApp(test_app_id(), false);
906 WaitForAppLaunchSuccess(); 902 WaitForAppLaunchSuccess();
907 } 903 }
908 904
909 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppNoUpdate) { 905 IN_PROC_BROWSER_TEST_F(KioskUpdateTest, LaunchOfflineEnabledAppNoUpdate) {
910 set_test_app_id(kTestOfflineEnabledKioskApp); 906 set_test_app_id(kTestOfflineEnabledKioskApp);
911 907
912 fake_cws()->SetNoUpdate(test_app_id()); 908 fake_cws()->SetNoUpdate(test_app_id());
913 909
914 PrepareAppLaunch(); 910 PrepareAppLaunch();
915 SimulateNetworkOnline(); 911 SimulateNetworkOnline();
916 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile"); 912 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile");
917 913
918 LaunchApp(test_app_id(), false); 914 LaunchApp(test_app_id(), false);
919 WaitForAppLaunchSuccess(); 915 WaitForAppLaunchSuccess();
920 916
921 EXPECT_EQ("1.0.0", GetInstalledAppVersion().GetString()); 917 EXPECT_EQ("1.0.0", GetInstalledAppVersion().GetString());
922 } 918 }
923 919
924 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppHasUpdate) { 920 IN_PROC_BROWSER_TEST_F(KioskUpdateTest, LaunchOfflineEnabledAppHasUpdate) {
925 set_test_app_id(kTestOfflineEnabledKioskApp); 921 set_test_app_id(kTestOfflineEnabledKioskApp);
926 922
927 fake_cws()->SetUpdateCrx( 923 fake_cws()->SetUpdateCrx(
928 test_app_id(), "ajoggoflpgplnnjkjamcmbepjdjdnpdp.crx", "2.0.0"); 924 test_app_id(), "ajoggoflpgplnnjkjamcmbepjdjdnpdp.crx", "2.0.0");
929 925
930 PrepareAppLaunch(); 926 PrepareAppLaunch();
931 SimulateNetworkOnline(); 927 SimulateNetworkOnline();
932 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile"); 928 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile");
933 929
934 LaunchApp(test_app_id(), false); 930 LaunchApp(test_app_id(), false);
935 WaitForAppLaunchSuccess(); 931 WaitForAppLaunchSuccess();
936 932
937 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString()); 933 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString());
938 } 934 }
939 935
940 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PermissionChange) { 936 IN_PROC_BROWSER_TEST_F(KioskUpdateTest, PermissionChange) {
941 set_test_app_id(kTestOfflineEnabledKioskApp); 937 set_test_app_id(kTestOfflineEnabledKioskApp);
942 938
943 fake_cws()->SetUpdateCrx( 939 fake_cws()->SetUpdateCrx(
944 test_app_id(), 940 test_app_id(),
945 "ajoggoflpgplnnjkjamcmbepjdjdnpdp_v2_permission_change.crx", 941 "ajoggoflpgplnnjkjamcmbepjdjdnpdp_v2_permission_change.crx",
946 "2.0.0"); 942 "2.0.0");
947 943
948 PrepareAppLaunch(); 944 PrepareAppLaunch();
949 SimulateNetworkOnline(); 945 SimulateNetworkOnline();
950 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile"); 946 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile");
951 947
952 LaunchApp(test_app_id(), false); 948 LaunchApp(test_app_id(), false);
953 WaitForAppLaunchSuccess(); 949 WaitForAppLaunchSuccess();
954 950
955 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString()); 951 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString());
956 } 952 }
957 953
958 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PRE_PreserveLocalData) { 954 IN_PROC_BROWSER_TEST_F(KioskUpdateTest, PRE_PreserveLocalData) {
959 // Installs v1 app and writes some local data. 955 // Installs v1 app and writes some local data.
960 set_test_app_id(kTestLocalFsKioskApp); 956 set_test_app_id(kTestLocalFsKioskApp);
961 957
962 ResultCatcher catcher; 958 ResultCatcher catcher;
963 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure()); 959 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure());
964 WaitForAppLaunchSuccess(); 960 WaitForAppLaunchSuccess();
965 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); 961 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
966 } 962 }
967 963
968 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PreserveLocalData) { 964 IN_PROC_BROWSER_TEST_F(KioskUpdateTest, PreserveLocalData) {
969 // Update existing v1 app installed in PRE_PreserveLocalData to v2 965 // Update existing v1 app installed in PRE_PreserveLocalData to v2
970 // that reads and verifies the local data. 966 // that reads and verifies the local data.
971 set_test_app_id(kTestLocalFsKioskApp); 967 set_test_app_id(kTestLocalFsKioskApp);
972 968
973 fake_cws()->SetUpdateCrx( 969 fake_cws()->SetUpdateCrx(
974 test_app_id(), 970 test_app_id(),
975 "bmbpicmpniaclbbpdkfglgipkkebnbjf_v2_read_and_verify_data.crx", 971 "bmbpicmpniaclbbpdkfglgipkkebnbjf_v2_read_and_verify_data.crx",
976 "2.0.0"); 972 "2.0.0");
977 973
978 ResultCatcher catcher; 974 ResultCatcher catcher;
979 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure()); 975 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure());
980 WaitForAppLaunchSuccess(); 976 WaitForAppLaunchSuccess();
981 977
982 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString()); 978 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString());
983 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); 979 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
984 } 980 }
985 981
986 // TODO(xiyuan): Remove this after multi profile is turned on by default.
987 INSTANTIATE_TEST_CASE_P(KioskUpdateTestInstantiation,
988 KioskUpdateTest,
989 testing::Bool());
990
991 class KioskEnterpriseTest : public KioskTest { 982 class KioskEnterpriseTest : public KioskTest {
992 protected: 983 protected:
993 KioskEnterpriseTest() {} 984 KioskEnterpriseTest() {}
994 985
995 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { 986 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
996 device_policy_test_helper_.MarkAsEnterpriseOwned(); 987 device_policy_test_helper_.MarkAsEnterpriseOwned();
997 device_policy_test_helper_.InstallOwnerKey(); 988 device_policy_test_helper_.InstallOwnerKey();
998 989
999 KioskTest::SetUpInProcessBrowserTestFixture(); 990 KioskTest::SetUpInProcessBrowserTestFixture();
1000 } 991 }
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1196 content::WindowedNotificationObserver( 1187 content::WindowedNotificationObserver(
1197 chrome::NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE, 1188 chrome::NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE,
1198 content::NotificationService::AllSources()).Wait(); 1189 content::NotificationService::AllSources()).Wait();
1199 1190
1200 // Wait for the wallpaper to load. 1191 // Wait for the wallpaper to load.
1201 WaitForWallpaper(); 1192 WaitForWallpaper();
1202 EXPECT_TRUE(wallpaper_loaded()); 1193 EXPECT_TRUE(wallpaper_loaded());
1203 } 1194 }
1204 1195
1205 } // namespace chromeos 1196 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698