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

Side by Side Diff: chrome/browser/chromeos/arc/arc_session_manager_unittest.cc

Issue 2707133006: Start ARC and sign in after Chrome OS login (Closed)
Patch Set: rebase to ToT Created 3 years, 9 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <memory> 5 #include <memory>
6 #include <string> 6 #include <string>
7 #include <tuple> 7 #include <tuple>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 17 matching lines...) Expand all
28 #include "chrome/browser/chromeos/login/ui/login_display_host.h" 28 #include "chrome/browser/chromeos/login/ui/login_display_host.h"
29 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" 29 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
30 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" 30 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
31 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 31 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
32 #include "chrome/browser/chromeos/profiles/profile_helper.h" 32 #include "chrome/browser/chromeos/profiles/profile_helper.h"
33 #include "chrome/browser/policy/profile_policy_connector.h" 33 #include "chrome/browser/policy/profile_policy_connector.h"
34 #include "chrome/browser/policy/profile_policy_connector_factory.h" 34 #include "chrome/browser/policy/profile_policy_connector_factory.h"
35 #include "chrome/browser/prefs/pref_service_syncable_util.h" 35 #include "chrome/browser/prefs/pref_service_syncable_util.h"
36 #include "chrome/browser/profiles/profile.h" 36 #include "chrome/browser/profiles/profile.h"
37 #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h" 37 #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h"
38 #include "chrome/browser/ui/app_list/arc/arc_app_test.h"
38 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" 39 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
39 #include "chrome/common/pref_names.h" 40 #include "chrome/common/pref_names.h"
40 #include "chrome/test/base/testing_profile.h" 41 #include "chrome/test/base/testing_profile.h"
41 #include "chromeos/chromeos_switches.h" 42 #include "chromeos/chromeos_switches.h"
42 #include "chromeos/dbus/dbus_thread_manager.h" 43 #include "chromeos/dbus/dbus_thread_manager.h"
43 #include "chromeos/dbus/fake_session_manager_client.h" 44 #include "chromeos/dbus/fake_session_manager_client.h"
44 #include "components/arc/arc_service_manager.h" 45 #include "components/arc/arc_service_manager.h"
45 #include "components/arc/arc_session_runner.h" 46 #include "components/arc/arc_session_runner.h"
46 #include "components/arc/arc_util.h" 47 #include "components/arc/arc_util.h"
47 #include "components/arc/test/fake_arc_session.h" 48 #include "components/arc/test/fake_arc_session.h"
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 428
428 // Try to send another error that stops the bridge if sent first. It should 429 // Try to send another error that stops the bridge if sent first. It should
429 // be ignored. 430 // be ignored.
430 arc_session_manager()->OnProvisioningFinished( 431 arc_session_manager()->OnProvisioningFinished(
431 ProvisioningResult::CHROME_SERVER_COMMUNICATION_ERROR); 432 ProvisioningResult::CHROME_SERVER_COMMUNICATION_ERROR);
432 EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state()); 433 EXPECT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
433 434
434 arc_session_manager()->Shutdown(); 435 arc_session_manager()->Shutdown();
435 } 436 }
436 437
438 class ArcSessionManagerArcAlwaysStartTest : public ArcSessionManagerTest {
439 public:
440 ArcSessionManagerArcAlwaysStartTest() = default;
441
442 void SetUp() override {
443 SetArcAlwaysStartForTesting();
444 ArcSessionManagerTest::SetUp();
445 }
446
447 private:
448 DISALLOW_COPY_AND_ASSIGN(ArcSessionManagerArcAlwaysStartTest);
449 };
450
451 TEST_F(ArcSessionManagerArcAlwaysStartTest, BaseWorkflow) {
452 // TODO(victorhsieh): Consider also tracking sign-in activity, which is
453 // initiated from the Android side.
454 EXPECT_TRUE(arc_session_manager()->arc_start_time().is_null());
455
456 arc_session_manager()->SetProfile(profile());
457
458 // By default ARC is not enabled.
459 EXPECT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state());
460
461 // When ARC is always started, ArcSessionManager should always be in ACTIVE
462 // state.
463 arc_session_manager()->RequestEnable();
464 base::RunLoop().RunUntilIdle();
465 ASSERT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
466
467 arc_session_manager()->StartArcForTesting();
468
469 EXPECT_FALSE(arc_session_manager()->arc_start_time().is_null());
470
471 ASSERT_EQ(ArcSessionManager::State::ACTIVE, arc_session_manager()->state());
472 ASSERT_TRUE(arc_session_manager()->IsSessionRunning());
473
474 arc_session_manager()->Shutdown();
475 }
476
437 class ArcSessionManagerPolicyTest 477 class ArcSessionManagerPolicyTest
438 : public ArcSessionManagerTest, 478 : public ArcSessionManagerTest,
439 public testing::WithParamInterface<std::tuple<base::Value, base::Value>> { 479 public testing::WithParamInterface<std::tuple<base::Value, base::Value>> {
440 public: 480 public:
441 const base::Value& backup_restore_pref_value() const { 481 const base::Value& backup_restore_pref_value() const {
442 return std::get<0>(GetParam()); 482 return std::get<0>(GetParam());
443 } 483 }
444 484
445 const base::Value& location_service_pref_value() const { 485 const base::Value& location_service_pref_value() const {
446 return std::get<1>(GetParam()); 486 return std::get<1>(GetParam());
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 TEST_P(ArcSessionOobeOptInNegotiatorTest, OobeTermsViewDestroyed) { 746 TEST_P(ArcSessionOobeOptInNegotiatorTest, OobeTermsViewDestroyed) {
707 view()->Show(); 747 view()->Show();
708 EXPECT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE, 748 EXPECT_EQ(ArcSessionManager::State::SHOWING_TERMS_OF_SERVICE,
709 arc_session_manager()->state()); 749 arc_session_manager()->state());
710 CloseLoginDisplayHost(); 750 CloseLoginDisplayHost();
711 ReportViewDestroyed(); 751 ReportViewDestroyed();
712 EXPECT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state()); 752 EXPECT_EQ(ArcSessionManager::State::STOPPED, arc_session_manager()->state());
713 } 753 }
714 754
715 } // namespace arc 755 } // namespace arc
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/arc/arc_session_manager.cc ('k') | chrome/browser/chromeos/note_taking_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698