1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Warning: this file will not be compiled for ChromeOS because the test
6 // PolicyMakeDefaultBrowserTest is not valid for this platform.
8 #include "base/command_line.h"
9 #include "chrome/common/chrome_result_codes.h"
10 #include "chrome/common/chrome_switches.h"
11 #include "chrome/test/base/in_process_browser_test.h"
12 #include "components/policy/core/browser/browser_policy_connector.h"
13 #include "components/policy/core/common/mock_configuration_policy_provider.h"
14 #include "components/policy/core/common/policy_map.h"
15 #include "components/policy/core/common/policy_types.h"
16 #include "policy/policy_constants.h"
18 class PolicyMakeDefaultBrowserTest
: public InProcessBrowserTest
{
20 PolicyMakeDefaultBrowserTest() : InProcessBrowserTest() {
21 set_expected_exit_code(chrome::RESULT_CODE_ACTION_DISALLOWED_BY_POLICY
);
24 void SetUpInProcessBrowserTestFixture() override
{
25 base::CommandLine::ForCurrentProcess()->AppendSwitch(
26 switches::kMakeDefaultBrowser
);
27 EXPECT_CALL(provider_
, IsInitializationComplete(testing::_
))
28 .WillRepeatedly(testing::Return(true));
30 policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_
);
32 policy::PolicyMap values
;
33 values
.Set(policy::key::kDefaultBrowserSettingEnabled
,
34 policy::POLICY_LEVEL_MANDATORY
,
35 policy::POLICY_SCOPE_MACHINE
,
36 policy::POLICY_SOURCE_CLOUD
,
37 new base::FundamentalValue(false),
39 provider_
.UpdateChromePolicy(values
);
43 policy::MockConfigurationPolicyProvider provider_
;
44 DISALLOW_COPY_AND_ASSIGN(PolicyMakeDefaultBrowserTest
);
47 IN_PROC_BROWSER_TEST_F(PolicyMakeDefaultBrowserTest
, MakeDefaultDisabled
) {