1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- // Copyright 2022 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "android_webview/browser/enterprise_authentication_app_link_policy_handler.h"
- #include "base/json/json_reader.h"
- #include "components/policy/core/browser/configuration_policy_pref_store.h"
- #include "components/policy/core/browser/configuration_policy_pref_store_test.h"
- #include "components/policy/core/common/policy_map.h"
- #include "components/policy/core/common/policy_pref_names.h"
- #include "components/policy/policy_constants.h"
- namespace policy {
- class EnterpriseAuthenticationAppLinkPolicyHandlerTest
- : public ConfigurationPolicyPrefStoreTest {
- void SetUp() override {
- Schema chrome_schema = Schema::Wrap(policy::GetChromeSchemaData());
- handler_list_.AddHandler(base::WrapUnique<ConfigurationPolicyHandler>(
- new EnterpriseAuthenticationAppLinkPolicyHandler(
- policy::key::kEnterpriseAuthenticationAppLinkPolicy,
- android_webview::prefs::kEnterpriseAuthAppLinkPolicy)));
- }
- };
- TEST_F(EnterpriseAuthenticationAppLinkPolicyHandlerTest, ValidPolicy) {
- PolicyMap policy;
- policy.Set(policy::key::kEnterpriseAuthenticationAppLinkPolicy,
- POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_PLATFORM,
- base::JSONReader::Read(
- "["
- " {"
- " \"url\": \"https://www.testserver1.com/login\""
- " },"
- " {"
- " \"url\": \"https://www.testserver2.com/login\""
- " }"
- "]"),
- nullptr);
- this->UpdateProviderPolicy(policy);
- const base::Value* pref_value = nullptr;
- absl::optional<base::Value> expected = base::JSONReader::Read(R"(
- [
- "https://www.testserver1.com/login",
- "https://www.testserver2.com/login"
- ]
- )");
- EXPECT_TRUE(store_->GetValue(
- android_webview::prefs::kEnterpriseAuthAppLinkPolicy, &pref_value));
- ASSERT_TRUE(pref_value);
- EXPECT_EQ(expected, *pref_value);
- }
- TEST_F(EnterpriseAuthenticationAppLinkPolicyHandlerTest, InvalidPolicy) {
- PolicyMap policy;
- policy.Set(policy::key::kEnterpriseAuthenticationAppLinkPolicy,
- POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_PLATFORM,
- base::JSONReader::Read(
- "["
- " {"
- " \"abc\": \"https://www.testserver1.com/login\""
- " },"
- "]"),
- nullptr);
- this->UpdateProviderPolicy(policy);
- const base::Value* pref_value = nullptr;
- EXPECT_FALSE(store_->GetValue(
- android_webview::prefs::kEnterpriseAuthAppLinkPolicy, &pref_value));
- ASSERT_FALSE(pref_value);
- }
- } // namespace policy
|