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

Side by Side Diff: chrome/browser/chromeos/app_mode/kiosk_app_manager_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: Remove the new test file from cl. Created 6 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" 5 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 base::FilePath(), 94 base::FilePath(),
95 extensions::Manifest::INTERNAL, 95 extensions::Manifest::INTERNAL,
96 value, 96 value,
97 extensions::Extension::WAS_INSTALLED_BY_DEFAULT, 97 extensions::Extension::WAS_INSTALLED_BY_DEFAULT,
98 id, 98 id,
99 &err); 99 &err);
100 EXPECT_EQ(err, ""); 100 EXPECT_EQ(err, "");
101 return app; 101 return app;
102 } 102 }
103 103
104 class TestKioskAppManagerObserver : public KioskAppManagerObserver {
105 public:
106 explicit TestKioskAppManagerObserver(KioskAppManager* manager)
107 : manager_(manager),
108 data_changed_count_(0),
109 load_failure_count_(0) {
110 manager_->AddObserver(this);
111 }
112 virtual ~TestKioskAppManagerObserver() {
113 manager_->RemoveObserver(this);
114 }
115
116 void Reset() {
117 data_changed_count_ = 0;
118 load_failure_count_ = 0;
119 }
120
121 int data_changed_count() const { return data_changed_count_; }
122 int load_failure_count() const { return load_failure_count_; }
123
124 private:
125 // KioskAppManagerObserver overrides:
126 virtual void OnKioskAppDataChanged(const std::string& app_id) OVERRIDE {
127 ++data_changed_count_;
128 }
129 virtual void OnKioskAppDataLoadFailure(const std::string& app_id) OVERRIDE {
130 ++load_failure_count_;
131 }
132
133 KioskAppManager* manager_;
134 int data_changed_count_;
135 int load_failure_count_;
136
137 DISALLOW_COPY_AND_ASSIGN(TestKioskAppManagerObserver);
138 };
139
140 class AppDataLoadWaiter : public KioskAppManagerObserver { 104 class AppDataLoadWaiter : public KioskAppManagerObserver {
141 public: 105 public:
142 AppDataLoadWaiter(KioskAppManager* manager, int data_loaded_threshold) 106 AppDataLoadWaiter(KioskAppManager* manager, int data_loaded_threshold)
143 : runner_(NULL), 107 : runner_(NULL),
144 manager_(manager), 108 manager_(manager),
145 loaded_(false), 109 loaded_(false),
146 quit_(false), 110 quit_(false),
147 data_change_count_(0), 111 data_change_count_(0),
148 data_loaded_threshold_(data_loaded_threshold) { 112 data_loaded_threshold_(data_loaded_threshold) {
149 manager_->AddObserver(this); 113 manager_->AddObserver(this);
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 441
478 waiter.Wait(); 442 waiter.Wait();
479 EXPECT_TRUE(waiter.loaded()); 443 EXPECT_TRUE(waiter.loaded());
480 444
481 manager()->GetApps(&apps); 445 manager()->GetApps(&apps);
482 EXPECT_EQ(1u, apps.size()); 446 EXPECT_EQ(1u, apps.size());
483 EXPECT_EQ("app_1", apps[0].app_id); 447 EXPECT_EQ("app_1", apps[0].app_id);
484 EXPECT_EQ("Updated App1 Name", apps[0].name); 448 EXPECT_EQ("Updated App1 Name", apps[0].name);
485 } 449 }
486 450
487 // Test is flaky. See http://crbug.com/379769 for details. 451 IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, BadApp) {
488 IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, DISABLED_BadApp) {
489 AppDataLoadWaiter waiter(manager(), 2); 452 AppDataLoadWaiter waiter(manager(), 2);
490 manager()->AddApp("unknown_app"); 453 manager()->AddApp("unknown_app");
491 TestKioskAppManagerObserver observer(manager());
492 waiter.Wait(); 454 waiter.Wait();
493 EXPECT_FALSE(waiter.loaded()); 455 EXPECT_FALSE(waiter.loaded());
494
495 EXPECT_EQ("", GetAppIds()); 456 EXPECT_EQ("", GetAppIds());
496 EXPECT_EQ(1, observer.load_failure_count());
497 } 457 }
498 458
499 IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, GoodApp) { 459 IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, GoodApp) {
500 // Webstore data json is in 460 // Webstore data json is in
501 // chrome/test/data/chromeos/app_mode/webstore/inlineinstall/detail/app_1 461 // chrome/test/data/chromeos/app_mode/webstore/inlineinstall/detail/app_1
502 fake_cws()->SetNoUpdate("app_1"); 462 fake_cws()->SetNoUpdate("app_1");
503 AppDataLoadWaiter waiter(manager(), 2); 463 AppDataLoadWaiter waiter(manager(), 2);
504 manager()->AddApp("app_1"); 464 manager()->AddApp("app_1");
505 waiter.Wait(); 465 waiter.Wait();
506 EXPECT_TRUE(waiter.loaded()); 466 EXPECT_TRUE(waiter.loaded());
(...skipping 20 matching lines...) Expand all
527 487
528 base::FilePath expected_icon_path; 488 base::FilePath expected_icon_path;
529 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &expected_icon_path)); 489 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &expected_icon_path));
530 expected_icon_path = expected_icon_path. 490 expected_icon_path = expected_icon_path.
531 AppendASCII(KioskAppManager::kIconCacheDir). 491 AppendASCII(KioskAppManager::kIconCacheDir).
532 AppendASCII(apps[0].app_id).AddExtension(".png"); 492 AppendASCII(apps[0].app_id).AddExtension(".png");
533 EXPECT_EQ(expected_icon_path.value(), icon_path_string); 493 EXPECT_EQ(expected_icon_path.value(), icon_path_string);
534 } 494 }
535 495
536 IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, DownloadNewApp) { 496 IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, DownloadNewApp) {
537 base::FilePath crx_path;
538 RunAddNewAppTest(kTestLocalFsKioskApp, "1.0.0", kTestLocalFsKioskAppName); 497 RunAddNewAppTest(kTestLocalFsKioskApp, "1.0.0", kTestLocalFsKioskAppName);
539 } 498 }
540 499
541 IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, RemoveApp) { 500 IN_PROC_BROWSER_TEST_F(KioskAppManagerTest, RemoveApp) {
542 // Add a new app. 501 // Add a new app.
543 RunAddNewAppTest(kTestLocalFsKioskApp, "1.0.0", kTestLocalFsKioskAppName); 502 RunAddNewAppTest(kTestLocalFsKioskApp, "1.0.0", kTestLocalFsKioskAppName);
544 KioskAppManager::Apps apps; 503 KioskAppManager::Apps apps;
545 manager()->GetApps(&apps); 504 manager()->GetApps(&apps);
546 ASSERT_EQ(1u, apps.size()); 505 ASSERT_EQ(1u, apps.size());
547 base::FilePath crx_path; 506 base::FilePath crx_path;
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 manager()->GetConsumerKioskAutoLaunchStatus( 673 manager()->GetConsumerKioskAutoLaunchStatus(
715 base::Bind(&ConsumerKioskAutoLaunchStatusCheck, 674 base::Bind(&ConsumerKioskAutoLaunchStatusCheck,
716 status.get(), 675 status.get(),
717 runner3->QuitClosure())); 676 runner3->QuitClosure()));
718 runner3->Run(); 677 runner3->Run();
719 EXPECT_EQ(*status.get(), 678 EXPECT_EQ(*status.get(),
720 KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_DISABLED); 679 KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_DISABLED);
721 } 680 }
722 681
723 } // namespace chromeos 682 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698