OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |