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

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

Issue 2648213004: Migrate --enable-arc and --arc-available part 1. (Closed)
Patch Set: address comments. Created 3 years, 10 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 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 11 matching lines...) Expand all
22 #include "chrome/browser/policy/profile_policy_connector.h" 22 #include "chrome/browser/policy/profile_policy_connector.h"
23 #include "chrome/browser/policy/profile_policy_connector_factory.h" 23 #include "chrome/browser/policy/profile_policy_connector_factory.h"
24 #include "chrome/browser/policy/test/local_policy_test_server.h" 24 #include "chrome/browser/policy/test/local_policy_test_server.h"
25 #include "chrome/browser/profiles/profile.h" 25 #include "chrome/browser/profiles/profile.h"
26 #include "chrome/browser/signin/fake_profile_oauth2_token_service_builder.h" 26 #include "chrome/browser/signin/fake_profile_oauth2_token_service_builder.h"
27 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" 27 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
28 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" 28 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
29 #include "chrome/common/pref_names.h" 29 #include "chrome/common/pref_names.h"
30 #include "chrome/test/base/in_process_browser_test.h" 30 #include "chrome/test/base/in_process_browser_test.h"
31 #include "chrome/test/base/testing_profile.h" 31 #include "chrome/test/base/testing_profile.h"
32 #include "chromeos/chromeos_switches.h"
33 #include "chromeos/dbus/dbus_thread_manager.h"
34 #include "chromeos/dbus/fake_session_manager_client.h"
35 #include "chromeos/dbus/session_manager_client.h"
36 #include "components/arc/arc_service_manager.h" 32 #include "components/arc/arc_service_manager.h"
37 #include "components/arc/arc_session_runner.h" 33 #include "components/arc/arc_session_runner.h"
34 #include "components/arc/arc_util.h"
38 #include "components/arc/test/fake_arc_session.h" 35 #include "components/arc/test/fake_arc_session.h"
39 #include "components/policy/core/common/cloud/device_management_service.h" 36 #include "components/policy/core/common/cloud/device_management_service.h"
40 #include "components/policy/core/common/cloud/mock_cloud_policy_client.h" 37 #include "components/policy/core/common/cloud/mock_cloud_policy_client.h"
41 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h" 38 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
42 #include "components/policy/core/common/policy_switches.h" 39 #include "components/policy/core/common/policy_switches.h"
43 #include "components/prefs/pref_member.h" 40 #include "components/prefs/pref_member.h"
44 #include "components/prefs/pref_service.h" 41 #include "components/prefs/pref_service.h"
45 #include "components/signin/core/account_id/account_id.h" 42 #include "components/signin/core/account_id/account_id.h"
46 #include "components/signin/core/browser/fake_profile_oauth2_token_service.h" 43 #include "components/signin/core/browser/fake_profile_oauth2_token_service.h"
47 #include "components/user_manager/user_manager.h" 44 #include "components/user_manager/user_manager.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 DISALLOW_COPY_AND_ASSIGN(ArcSessionManagerDataRemovedObserver); 125 DISALLOW_COPY_AND_ASSIGN(ArcSessionManagerDataRemovedObserver);
129 }; 126 };
130 127
131 class ArcSessionManagerTest : public InProcessBrowserTest { 128 class ArcSessionManagerTest : public InProcessBrowserTest {
132 protected: 129 protected:
133 ArcSessionManagerTest() {} 130 ArcSessionManagerTest() {}
134 131
135 // InProcessBrowserTest: 132 // InProcessBrowserTest:
136 ~ArcSessionManagerTest() override {} 133 ~ArcSessionManagerTest() override {}
137 134
135 void SetUpCommandLine(base::CommandLine* command_line) override {
136 InProcessBrowserTest::SetUpCommandLine(command_line);
137 arc::SetArcAvailableCommandLineForTesting(command_line);
138 }
139
138 void SetUpInProcessBrowserTestFixture() override { 140 void SetUpInProcessBrowserTestFixture() override {
139 // Start test device management server. 141 // Start test device management server.
140 test_server_.reset(new policy::LocalPolicyTestServer()); 142 test_server_.reset(new policy::LocalPolicyTestServer());
141 ASSERT_TRUE(test_server_->Start()); 143 ASSERT_TRUE(test_server_->Start());
142 144
143 // Specify device management server URL. 145 // Specify device management server URL.
144 std::string url = test_server_->GetServiceURL().spec(); 146 std::string url = test_server_->GetServiceURL().spec();
145 base::CommandLine* const command_line = 147 base::CommandLine* const command_line =
146 base::CommandLine::ForCurrentProcess(); 148 base::CommandLine::ForCurrentProcess();
147 command_line->AppendSwitchASCII(policy::switches::kDeviceManagementUrl, 149 command_line->AppendSwitchASCII(policy::switches::kDeviceManagementUrl,
148 url); 150 url);
149
150 // Enable ARC.
151 command_line->AppendSwitch(chromeos::switches::kEnableArc);
152 chromeos::FakeSessionManagerClient* const fake_session_manager_client =
153 new chromeos::FakeSessionManagerClient;
154 fake_session_manager_client->set_arc_available(true);
155 chromeos::DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient(
156 std::unique_ptr<chromeos::SessionManagerClient>(
157 fake_session_manager_client));
158 } 151 }
159 152
160 void SetUpOnMainThread() override { 153 void SetUpOnMainThread() override {
161 user_manager_enabler_.reset(new chromeos::ScopedUserManagerEnabler( 154 user_manager_enabler_.reset(new chromeos::ScopedUserManagerEnabler(
162 new chromeos::FakeChromeUserManager)); 155 new chromeos::FakeChromeUserManager));
163 // Init ArcSessionManager for testing. 156 // Init ArcSessionManager for testing.
164 ArcSessionManager::DisableUIForTesting(); 157 ArcSessionManager::DisableUIForTesting();
165 ArcSessionManager::EnableCheckAndroidManagementForTesting(); 158 ArcSessionManager::EnableCheckAndroidManagementForTesting();
166 ArcSessionManager::Get()->SetArcSessionRunnerForTesting( 159 ArcSessionManager::Get()->SetArcSessionRunnerForTesting(
167 base::MakeUnique<ArcSessionRunner>(base::Bind(FakeArcSession::Create))); 160 base::MakeUnique<ArcSessionRunner>(base::Bind(FakeArcSession::Create)));
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 base::Time::Max()); 266 base::Time::Max());
274 ArcSessionManagerShutdownObserver().Wait(); 267 ArcSessionManagerShutdownObserver().Wait();
275 ASSERT_EQ(ArcSessionManager::State::REMOVING_DATA_DIR, 268 ASSERT_EQ(ArcSessionManager::State::REMOVING_DATA_DIR,
276 ArcSessionManager::Get()->state()); 269 ArcSessionManager::Get()->state());
277 ArcSessionManagerDataRemovedObserver().Wait(); 270 ArcSessionManagerDataRemovedObserver().Wait();
278 ASSERT_EQ(ArcSessionManager::State::STOPPED, 271 ASSERT_EQ(ArcSessionManager::State::STOPPED,
279 ArcSessionManager::Get()->state()); 272 ArcSessionManager::Get()->state());
280 } 273 }
281 274
282 } // namespace arc 275 } // namespace arc
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/arc/arc_session_manager.cc ('k') | chrome/browser/chromeos/arc/arc_session_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698