| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_TEST_UTIL_H_ |
| #define CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_TEST_UTIL_H_ |
| |
| #include <string> |
| |
| struct AccountInfo; |
| class Profile; |
| |
| namespace supervised_user_test_util { |
| |
| // Add custodians (e.g. parents) to |profile|, which must be a supervised user. |
| void AddCustodians(Profile* profile); |
| |
| // Updates preferences relevant to requesting extensions permissions. |
| void SetSupervisedUserExtensionsMayRequestPermissionsPref(Profile* profile, |
| bool enabled); |
| |
| // Updates preferences relevant to skipping parent approval for installing |
| // extensions. |
| void SetSkipParentApprovalToInstallExtensionsPref(Profile* profile, |
| bool enabled); |
| |
| // Populates account info with a `given_name` and other fake data needed for a |
| // valid `AccountInfo` structure. |
| void PopulateAccountInfoWithName(AccountInfo& info, |
| const std::string& given_name); |
| |
| // Updates manual block/allow list with a given host. |
| // e.g. SetManualFilterForHost(profile, "www.example.com", false) adds the |
| // given host (i.e. "www.example.com") to the blocklist and the supervised user |
| // will not be able to access this host. Similarly |
| // SetManualFilterForHost(profile, "www.example.com", true) adds the host to the |
| // allowlist. The supervised user will be able to access this host. |
| void SetManualFilterForHost(Profile* profile, |
| const std::string& host, |
| bool allowlist); |
| |
| } // namespace supervised_user_test_util |
| |
| #endif // CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_TEST_UTIL_H_ |