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

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

Issue 300843013: Install and launch kiosk app from cached crx file at start up. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 6 years, 6 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 | Annotate | Revision Log
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 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 public: 231 public:
232 KioskTest() : fake_cws_(new FakeCWS) { 232 KioskTest() : fake_cws_(new FakeCWS) {
233 set_exit_when_last_browser_closes(false); 233 set_exit_when_last_browser_closes(false);
234 } 234 }
235 235
236 virtual ~KioskTest() {} 236 virtual ~KioskTest() {}
237 237
238 protected: 238 protected:
239 virtual void SetUp() OVERRIDE { 239 virtual void SetUp() OVERRIDE {
240 test_app_id_ = kTestKioskApp; 240 test_app_id_ = kTestKioskApp;
241 needs_background_networking_ = true;
241 mock_user_manager_.reset(new MockUserManager); 242 mock_user_manager_.reset(new MockUserManager);
242 AppLaunchController::SkipSplashWaitForTesting(); 243 AppLaunchController::SkipSplashWaitForTesting();
243 AppLaunchController::SetNetworkWaitForTesting(kTestNetworkTimeoutSeconds); 244 AppLaunchController::SetNetworkWaitForTesting(kTestNetworkTimeoutSeconds);
244 245
245 OobeBaseTest::SetUp(); 246 OobeBaseTest::SetUp();
246 } 247 }
247 248
248 virtual void CleanUpOnMainThread() OVERRIDE { 249 virtual void CleanUpOnMainThread() OVERRIDE {
249 AppLaunchController::SetNetworkTimeoutCallbackForTesting(NULL); 250 AppLaunchController::SetNetworkTimeoutCallbackForTesting(NULL);
250 AppLaunchSigninScreen::SetUserManagerForTesting(NULL); 251 AppLaunchSigninScreen::SetUserManagerForTesting(NULL);
(...skipping 12 matching lines...) Expand all
263 264
264 void LaunchApp(const std::string& app_id, bool diagnostic_mode) { 265 void LaunchApp(const std::string& app_id, bool diagnostic_mode) {
265 bool new_kiosk_ui = KioskAppMenuHandler::EnableNewKioskUI(); 266 bool new_kiosk_ui = KioskAppMenuHandler::EnableNewKioskUI();
266 GetLoginUI()->CallJavascriptFunction(new_kiosk_ui ? 267 GetLoginUI()->CallJavascriptFunction(new_kiosk_ui ?
267 kLaunchAppForTestNewAPI : kLaunchAppForTestOldAPI, 268 kLaunchAppForTestNewAPI : kLaunchAppForTestOldAPI,
268 base::StringValue(app_id), 269 base::StringValue(app_id),
269 base::FundamentalValue(diagnostic_mode)); 270 base::FundamentalValue(diagnostic_mode));
270 } 271 }
271 272
272 void ReloadKioskApps() { 273 void ReloadKioskApps() {
274 SetupTestAppUpdateCheck();
275
273 // Remove then add to ensure NOTIFICATION_KIOSK_APPS_LOADED fires. 276 // Remove then add to ensure NOTIFICATION_KIOSK_APPS_LOADED fires.
274 KioskAppManager::Get()->RemoveApp(test_app_id_); 277 KioskAppManager::Get()->RemoveApp(test_app_id_);
275 KioskAppManager::Get()->AddApp(test_app_id_); 278 KioskAppManager::Get()->AddApp(test_app_id_);
276 } 279 }
277 280
281 void SetupTestAppUpdateCheck() {
282 if (!test_app_version().empty())
xiyuan 2014/05/29 19:49:01 nit: {} since the branch is more than one line
jennyz 2014/07/07 21:11:13 Done.
283 fake_cws_->SetUpdateCrx(
284 test_app_id(), test_crx_file(), test_app_version());
285 }
286
278 void ReloadAutolaunchKioskApps() { 287 void ReloadAutolaunchKioskApps() {
288 set_test_app_version("1.0.0");
289 set_test_crx_file(test_app_id() + ".crx");
290 SetupTestAppUpdateCheck();
291
279 KioskAppManager::Get()->AddApp(test_app_id_); 292 KioskAppManager::Get()->AddApp(test_app_id_);
280 KioskAppManager::Get()->SetAutoLaunchApp(test_app_id_); 293 KioskAppManager::Get()->SetAutoLaunchApp(test_app_id_);
281 } 294 }
282 295
283 void PrepareAppLaunch() { 296 void PrepareAppLaunch() {
284 EnableConsumerKioskMode(); 297 EnableConsumerKioskMode();
285 298
286 // Start UI 299 // Start UI
287 content::WindowedNotificationObserver login_signal( 300 content::WindowedNotificationObserver login_signal(
288 chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE, 301 chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 base::CopyDirectory(test_data_dir.AppendASCII("Extensions"), 463 base::CopyDirectory(test_data_dir.AppendASCII("Extensions"),
451 app_profile_dir, 464 app_profile_dir,
452 true)); 465 true));
453 } 466 }
454 467
455 void RunAppLaunchNetworkDownTest() { 468 void RunAppLaunchNetworkDownTest() {
456 // Mock network could be configured with owner's password. 469 // Mock network could be configured with owner's password.
457 ScopedCanConfigureNetwork can_configure_network(true, true); 470 ScopedCanConfigureNetwork can_configure_network(true, true);
458 471
459 // Start app launch and wait for network connectivity timeout. 472 // Start app launch and wait for network connectivity timeout.
473 set_test_app_version("1.0.0");
474 set_test_crx_file(test_app_id() + ".crx");
460 StartAppLaunchFromLoginScreen(SimulateNetworkOfflineClosure()); 475 StartAppLaunchFromLoginScreen(SimulateNetworkOfflineClosure());
461 OobeScreenWaiter splash_waiter(OobeDisplay::SCREEN_APP_LAUNCH_SPLASH); 476 OobeScreenWaiter splash_waiter(OobeDisplay::SCREEN_APP_LAUNCH_SPLASH);
462 splash_waiter.Wait(); 477 splash_waiter.Wait();
463 WaitForAppLaunchNetworkTimeout(); 478 WaitForAppLaunchNetworkTimeout();
464 479
465 // Configure network link should be visible. 480 // Configure network link should be visible.
466 JsExpect("$('splash-config-network').hidden == false"); 481 JsExpect("$('splash-config-network').hidden == false");
467 482
468 // Set up fake user manager with an owner for the test. 483 // Set up fake user manager with an owner for the test.
469 mock_user_manager()->SetActiveUser(kTestOwnerEmail); 484 mock_user_manager()->SetActiveUser(kTestOwnerEmail);
(...skipping 26 matching lines...) Expand all
496 return chromeos::LoginDisplayHostImpl::default_host() 511 return chromeos::LoginDisplayHostImpl::default_host()
497 ->GetAppLaunchController(); 512 ->GetAppLaunchController();
498 } 513 }
499 514
500 MockUserManager* mock_user_manager() { return mock_user_manager_.get(); } 515 MockUserManager* mock_user_manager() { return mock_user_manager_.get(); }
501 516
502 void set_test_app_id(const std::string& test_app_id) { 517 void set_test_app_id(const std::string& test_app_id) {
503 test_app_id_ = test_app_id; 518 test_app_id_ = test_app_id;
504 } 519 }
505 const std::string& test_app_id() const { return test_app_id_; } 520 const std::string& test_app_id() const { return test_app_id_; }
521 void set_test_app_version(const std::string& version) {
522 test_app_version_ = version;
523 }
524 const std::string& test_app_version() const { return test_app_version_; }
525 void set_test_crx_file(const std::string& filename) {
526 test_crx_file_ = filename;
527 }
528 const std::string& test_crx_file() const { return test_crx_file_; }
506 FakeCWS* fake_cws() { return fake_cws_.get(); } 529 FakeCWS* fake_cws() { return fake_cws_.get(); }
507 530
508 private: 531 private:
509 std::string test_app_id_; 532 std::string test_app_id_;
533 std::string test_app_version_;
534 std::string test_crx_file_;
510 scoped_ptr<FakeCWS> fake_cws_; 535 scoped_ptr<FakeCWS> fake_cws_;
511 scoped_ptr<MockUserManager> mock_user_manager_; 536 scoped_ptr<MockUserManager> mock_user_manager_;
512 537
513 DISALLOW_COPY_AND_ASSIGN(KioskTest); 538 DISALLOW_COPY_AND_ASSIGN(KioskTest);
514 }; 539 };
515 540
516 IN_PROC_BROWSER_TEST_F(KioskTest, InstallAndLaunchApp) { 541 IN_PROC_BROWSER_TEST_F(KioskTest, InstallAndLaunchApp) {
542 set_test_app_version("1.0.0");
543 set_test_crx_file(test_app_id() + ".crx");
517 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure()); 544 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure());
518 WaitForAppLaunchSuccess(); 545 WaitForAppLaunchSuccess();
519 } 546 }
520 547
521 IN_PROC_BROWSER_TEST_F(KioskTest, NotSignedInWithGAIAAccount) { 548 IN_PROC_BROWSER_TEST_F(KioskTest, NotSignedInWithGAIAAccount) {
522 // Tests that the kiosk session is not considered to be logged in with a GAIA 549 // Tests that the kiosk session is not considered to be logged in with a GAIA
523 // account. 550 // account.
551 set_test_app_version("1.0.0");
552 set_test_crx_file(test_app_id() + ".crx");
524 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure()); 553 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure());
525 WaitForAppLaunchSuccess(); 554 WaitForAppLaunchSuccess();
526 555
527 Profile* app_profile = ProfileManager::GetPrimaryUserProfile(); 556 Profile* app_profile = ProfileManager::GetPrimaryUserProfile();
528 ASSERT_TRUE(app_profile); 557 ASSERT_TRUE(app_profile);
529 EXPECT_FALSE(app_profile->GetPrefs()->HasPrefPath( 558 EXPECT_FALSE(app_profile->GetPrefs()->HasPrefPath(
530 prefs::kGoogleServicesUsername)); 559 prefs::kGoogleServicesUsername));
531 } 560 }
532 561
533 IN_PROC_BROWSER_TEST_F(KioskTest, PRE_LaunchAppNetworkDown) { 562 IN_PROC_BROWSER_TEST_F(KioskTest, PRE_LaunchAppNetworkDown) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 "})();")); 601 "})();"));
573 602
574 WaitForAppLaunchSuccess(); 603 WaitForAppLaunchSuccess();
575 } 604 }
576 605
577 IN_PROC_BROWSER_TEST_F(KioskTest, LaunchAppNetworkDownConfigureNotAllowed) { 606 IN_PROC_BROWSER_TEST_F(KioskTest, LaunchAppNetworkDownConfigureNotAllowed) {
578 // Mock network could not be configured. 607 // Mock network could not be configured.
579 ScopedCanConfigureNetwork can_configure_network(false, true); 608 ScopedCanConfigureNetwork can_configure_network(false, true);
580 609
581 // Start app launch and wait for network connectivity timeout. 610 // Start app launch and wait for network connectivity timeout.
611 set_test_app_version("1.0.0");
612 set_test_crx_file(test_app_id() + ".crx");
582 StartAppLaunchFromLoginScreen(SimulateNetworkOfflineClosure()); 613 StartAppLaunchFromLoginScreen(SimulateNetworkOfflineClosure());
583 OobeScreenWaiter splash_waiter(OobeDisplay::SCREEN_APP_LAUNCH_SPLASH); 614 OobeScreenWaiter splash_waiter(OobeDisplay::SCREEN_APP_LAUNCH_SPLASH);
584 splash_waiter.Wait(); 615 splash_waiter.Wait();
585 WaitForAppLaunchNetworkTimeout(); 616 WaitForAppLaunchNetworkTimeout();
586 617
587 // Configure network link should not be visible. 618 // Configure network link should not be visible.
588 JsExpect("$('splash-config-network').hidden == true"); 619 JsExpect("$('splash-config-network').hidden == true");
589 620
590 // Network becomes online and app launch is resumed. 621 // Network becomes online and app launch is resumed.
591 SimulateNetworkOnline(); 622 SimulateNetworkOnline();
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 chrome::NOTIFICATION_APP_TERMINATING, 654 chrome::NOTIFICATION_APP_TERMINATING,
624 content::NotificationService::AllSources()); 655 content::NotificationService::AllSources());
625 GetLoginUI()->CallJavascriptFunction("cr.ui.Oobe.handleAccelerator", 656 GetLoginUI()->CallJavascriptFunction("cr.ui.Oobe.handleAccelerator",
626 base::StringValue("app_launch_bailout")); 657 base::StringValue("app_launch_bailout"));
627 signal.Wait(); 658 signal.Wait();
628 EXPECT_EQ(chromeos::KioskAppLaunchError::USER_CANCEL, 659 EXPECT_EQ(chromeos::KioskAppLaunchError::USER_CANCEL,
629 chromeos::KioskAppLaunchError::Get()); 660 chromeos::KioskAppLaunchError::Get());
630 } 661 }
631 662
632 IN_PROC_BROWSER_TEST_F(KioskTest, LaunchInDiagnosticMode) { 663 IN_PROC_BROWSER_TEST_F(KioskTest, LaunchInDiagnosticMode) {
664 set_test_app_version("1.0.0");
665 set_test_crx_file(test_app_id() + ".crx");
633 PrepareAppLaunch(); 666 PrepareAppLaunch();
634 SimulateNetworkOnline(); 667 SimulateNetworkOnline();
635 668
636 LaunchApp(kTestKioskApp, true); 669 LaunchApp(kTestKioskApp, true);
637 670
638 content::WebContents* login_contents = GetLoginUI()->GetWebContents(); 671 content::WebContents* login_contents = GetLoginUI()->GetWebContents();
639 672
640 bool new_kiosk_ui = KioskAppMenuHandler::EnableNewKioskUI(); 673 bool new_kiosk_ui = KioskAppMenuHandler::EnableNewKioskUI();
641 JsConditionWaiter(login_contents, new_kiosk_ui ? 674 JsConditionWaiter(login_contents, new_kiosk_ui ?
642 kCheckDiagnosticModeNewAPI : kCheckDiagnosticModeOldAPI).Wait(); 675 kCheckDiagnosticModeNewAPI : kCheckDiagnosticModeOldAPI).Wait();
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 } 904 }
872 905
873 class KioskUpdateTest : public KioskTest, 906 class KioskUpdateTest : public KioskTest,
874 public testing::WithParamInterface<bool> { 907 public testing::WithParamInterface<bool> {
875 public: 908 public:
876 KioskUpdateTest() {} 909 KioskUpdateTest() {}
877 virtual ~KioskUpdateTest() {} 910 virtual ~KioskUpdateTest() {}
878 911
879 protected: 912 protected:
880 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 913 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
881 // Needs background networking so that ExtensionDownloader works.
882 needs_background_networking_ = true;
883
884 KioskTest::SetUpCommandLine(command_line); 914 KioskTest::SetUpCommandLine(command_line);
885 if (GetParam()) 915 if (GetParam())
886 command_line->AppendSwitch(::switches::kMultiProfiles); 916 command_line->AppendSwitch(::switches::kMultiProfiles);
887 } 917 }
888 918
889 virtual void SetUpOnMainThread() OVERRIDE { 919 virtual void SetUpOnMainThread() OVERRIDE {
890 KioskTest::SetUpOnMainThread(); 920 KioskTest::SetUpOnMainThread();
891 } 921 }
892 922
893 private: 923 private:
894 924
895 DISALLOW_COPY_AND_ASSIGN(KioskUpdateTest); 925 DISALLOW_COPY_AND_ASSIGN(KioskUpdateTest);
896 }; 926 };
897 927
898 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppNoNetwork) { 928 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppNoNetwork) {
899 set_test_app_id(kTestOfflineEnabledKioskApp); 929 set_test_app_id(kTestOfflineEnabledKioskApp);
930 set_test_app_version("1.0.0");
931 set_test_crx_file(test_app_id() + ".crx");
900 932
901 PrepareAppLaunch(); 933 PrepareAppLaunch();
902 SimulateNetworkOffline(); 934 SimulateNetworkOffline();
903 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile"); 935 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile");
904 936
905 LaunchApp(test_app_id(), false); 937 LaunchApp(test_app_id(), false);
906 WaitForAppLaunchSuccess(); 938 WaitForAppLaunchSuccess();
907 } 939 }
908 940
909 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppNoUpdate) { 941 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppNoUpdate) {
910 set_test_app_id(kTestOfflineEnabledKioskApp); 942 set_test_app_id(kTestOfflineEnabledKioskApp);
911 943
912 fake_cws()->SetNoUpdate(test_app_id()); 944 fake_cws()->SetNoUpdate(test_app_id());
913 945
914 PrepareAppLaunch(); 946 PrepareAppLaunch();
915 SimulateNetworkOnline(); 947 SimulateNetworkOnline();
916 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile"); 948 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile");
917 949
918 LaunchApp(test_app_id(), false); 950 LaunchApp(test_app_id(), false);
919 WaitForAppLaunchSuccess(); 951 WaitForAppLaunchSuccess();
920 952
921 EXPECT_EQ("1.0.0", GetInstalledAppVersion().GetString()); 953 EXPECT_EQ("1.0.0", GetInstalledAppVersion().GetString());
922 } 954 }
923 955
924 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppHasUpdate) { 956 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, LaunchOfflineEnabledAppHasUpdate) {
925 set_test_app_id(kTestOfflineEnabledKioskApp); 957 set_test_app_id(kTestOfflineEnabledKioskApp);
926 958 set_test_app_version("2.0.0");
927 fake_cws()->SetUpdateCrx( 959 set_test_crx_file(test_app_id() + ".crx");
928 test_app_id(), "ajoggoflpgplnnjkjamcmbepjdjdnpdp.crx", "2.0.0");
929
930 PrepareAppLaunch(); 960 PrepareAppLaunch();
931 SimulateNetworkOnline(); 961 SimulateNetworkOnline();
932 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile"); 962 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile");
933 963
934 LaunchApp(test_app_id(), false); 964 LaunchApp(test_app_id(), false);
935 WaitForAppLaunchSuccess(); 965 WaitForAppLaunchSuccess();
936 966
937 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString()); 967 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString());
938 } 968 }
939 969
940 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PermissionChange) { 970 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PermissionChange) {
941 set_test_app_id(kTestOfflineEnabledKioskApp); 971 set_test_app_id(kTestOfflineEnabledKioskApp);
942 972 set_test_app_version("2.0.0");
943 fake_cws()->SetUpdateCrx( 973 set_test_crx_file(test_app_id() + "_v2_permission_change.crx");
944 test_app_id(),
945 "ajoggoflpgplnnjkjamcmbepjdjdnpdp_v2_permission_change.crx",
946 "2.0.0");
947
948 PrepareAppLaunch(); 974 PrepareAppLaunch();
949 SimulateNetworkOnline(); 975 SimulateNetworkOnline();
950 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile"); 976 SetupAppProfile("chromeos/app_mode/offline_enabled_app_profile");
951 977
952 LaunchApp(test_app_id(), false); 978 LaunchApp(test_app_id(), false);
953 WaitForAppLaunchSuccess(); 979 WaitForAppLaunchSuccess();
954 980
955 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString()); 981 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString());
956 } 982 }
957 983
958 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PRE_PreserveLocalData) { 984 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PRE_PreserveLocalData) {
959 // Installs v1 app and writes some local data. 985 // Installs v1 app and writes some local data.
960 set_test_app_id(kTestLocalFsKioskApp); 986 set_test_app_id(kTestLocalFsKioskApp);
987 set_test_app_version("1.0.0");
988 set_test_crx_file(test_app_id() + ".crx");
961 989
962 ResultCatcher catcher; 990 ResultCatcher catcher;
963 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure()); 991 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure());
964 WaitForAppLaunchSuccess(); 992 WaitForAppLaunchSuccess();
965 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); 993 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
966 } 994 }
967 995
968 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PreserveLocalData) { 996 IN_PROC_BROWSER_TEST_P(KioskUpdateTest, PreserveLocalData) {
969 // Update existing v1 app installed in PRE_PreserveLocalData to v2 997 // Update existing v1 app installed in PRE_PreserveLocalData to v2
970 // that reads and verifies the local data. 998 // that reads and verifies the local data.
971 set_test_app_id(kTestLocalFsKioskApp); 999 set_test_app_id(kTestLocalFsKioskApp);
972 1000 set_test_app_version("2.0.0");
973 fake_cws()->SetUpdateCrx( 1001 set_test_crx_file(test_app_id() + "_v2_read_and_verify_data.crx");
974 test_app_id(),
975 "bmbpicmpniaclbbpdkfglgipkkebnbjf_v2_read_and_verify_data.crx",
976 "2.0.0");
977
978 ResultCatcher catcher; 1002 ResultCatcher catcher;
979 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure()); 1003 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure());
980 WaitForAppLaunchSuccess(); 1004 WaitForAppLaunchSuccess();
981 1005
982 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString()); 1006 EXPECT_EQ("2.0.0", GetInstalledAppVersion().GetString());
983 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); 1007 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message();
984 } 1008 }
985 1009
986 // TODO(xiyuan): Remove this after multi profile is turned on by default. 1010 // TODO(xiyuan): Remove this after multi profile is turned on by default.
987 INSTANTIATE_TEST_CASE_P(KioskUpdateTestInstantiation, 1011 INSTANTIATE_TEST_CASE_P(KioskUpdateTestInstantiation,
988 KioskUpdateTest, 1012 KioskUpdateTest,
989 testing::Bool()); 1013 testing::Bool());
990 1014
991 class KioskEnterpriseTest : public KioskTest { 1015 class KioskEnterpriseTest : public KioskTest {
992 protected: 1016 protected:
993 KioskEnterpriseTest() {} 1017 KioskEnterpriseTest() {}
994 1018
995 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { 1019 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
996 device_policy_test_helper_.MarkAsEnterpriseOwned(); 1020 device_policy_test_helper_.MarkAsEnterpriseOwned();
997 device_policy_test_helper_.InstallOwnerKey(); 1021 device_policy_test_helper_.InstallOwnerKey();
998 1022
999 KioskTest::SetUpInProcessBrowserTestFixture(); 1023 KioskTest::SetUpInProcessBrowserTestFixture();
1000 } 1024 }
1001 1025
1002 virtual void SetUpOnMainThread() OVERRIDE { 1026 virtual void SetUpOnMainThread() OVERRIDE {
1027 set_test_app_id(kTestEnterpriseKioskApp);
1028 set_test_app_version("1.0.0");
1029 set_test_crx_file(test_app_id() + ".crx");
1030 SetupTestAppUpdateCheck();
1031
1003 KioskTest::SetUpOnMainThread(); 1032 KioskTest::SetUpOnMainThread();
1004 // Configure kTestEnterpriseKioskApp in device policy. 1033 // Configure kTestEnterpriseKioskApp in device policy.
1005 em::DeviceLocalAccountsProto* accounts = 1034 em::DeviceLocalAccountsProto* accounts =
1006 device_policy_test_helper_.device_policy()->payload() 1035 device_policy_test_helper_.device_policy()->payload()
1007 .mutable_device_local_accounts(); 1036 .mutable_device_local_accounts();
1008 em::DeviceLocalAccountInfoProto* account = accounts->add_account(); 1037 em::DeviceLocalAccountInfoProto* account = accounts->add_account();
1009 account->set_account_id(kTestEnterpriseAccountId); 1038 account->set_account_id(kTestEnterpriseAccountId);
1010 account->set_type( 1039 account->set_type(
1011 em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_KIOSK_APP); 1040 em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_KIOSK_APP);
1012 account->mutable_kiosk_app()->set_app_id(kTestEnterpriseKioskApp); 1041 account->mutable_kiosk_app()->set_app_id(kTestEnterpriseKioskApp);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
1196 content::WindowedNotificationObserver( 1225 content::WindowedNotificationObserver(
1197 chrome::NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE, 1226 chrome::NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE,
1198 content::NotificationService::AllSources()).Wait(); 1227 content::NotificationService::AllSources()).Wait();
1199 1228
1200 // Wait for the wallpaper to load. 1229 // Wait for the wallpaper to load.
1201 WaitForWallpaper(); 1230 WaitForWallpaper();
1202 EXPECT_TRUE(wallpaper_loaded()); 1231 EXPECT_TRUE(wallpaper_loaded());
1203 } 1232 }
1204 1233
1205 } // namespace chromeos 1234 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698