chromium/chrome/browser/first_party_sets/first_party_sets_policy_browsertest.cc

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <cstdint>
#include <string>

#include "base/json/json_reader.h"
#include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "base/test/scoped_feature_list.h"
#include "base/values.h"
#include "chrome/browser/policy/policy_test_utils.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/content_settings/core/browser/cookie_settings.h"
#include "components/content_settings/core/common/features.h"
#include "components/content_settings/core/common/pref_names.h"
#include "components/permissions/test/mock_permission_prompt_factory.h"
#include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_types.h"
#include "components/policy/policy_constants.h"
#include "components/prefs/pref_service.h"
#include "components/privacy_sandbox/privacy_sandbox_prefs.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_features.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "services/network/public/cpp/network_switches.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"

namespace policy {
namespace {

UnorderedPointwise;

const char* kHostA =;
const char* kHostB =;
const char* kHostC =;
const char* kHostD =;

class EnabledPolicyBrowsertest
    : public PolicyTest,
      public ::testing::WithParamInterface<std::tuple<
          PolicyTest::BooleanPolicy,  // FirstPartySetsEnabled Policy State
          PolicyTest::BooleanPolicy,  // RelatedWebsiteSetsEnabled Policy State
          const char*                 // Overrides Policy
          >> {};

// Generates test names containing params for easier debugging.
std::string TestNameGenerator(
    const testing::TestParamInfo<EnabledPolicyBrowsertest::ParamType>& info) {}

IN_PROC_BROWSER_TEST_P(EnabledPolicyBrowsertest, ToggleFeature_Memberships) {}

IN_PROC_BROWSER_TEST_P(EnabledPolicyBrowsertest, ToggleFeature_NonMemberships) {}

INSTANTIATE_TEST_SUITE_P();

class OverridesPolicyEmptyBrowsertest : public EnabledPolicyBrowsertest {};

IN_PROC_BROWSER_TEST_P(OverridesPolicyEmptyBrowsertest, CheckMemberships) {}

INSTANTIATE_TEST_SUITE_P();

class OverridesPolicyReplacementBrowsertest : public EnabledPolicyBrowsertest {};

IN_PROC_BROWSER_TEST_P(OverridesPolicyReplacementBrowsertest,
                       CheckMemberships) {}

INSTANTIATE_TEST_SUITE_P();

class OverridesPolicyAdditionBrowsertest : public EnabledPolicyBrowsertest {};

IN_PROC_BROWSER_TEST_P(OverridesPolicyAdditionBrowsertest, CheckMemberships) {}

INSTANTIATE_TEST_SUITE_P();

class OverridesPolicyReplacementAndAdditionBrowsertest
    : public EnabledPolicyBrowsertest {};

IN_PROC_BROWSER_TEST_P(OverridesPolicyReplacementAndAdditionBrowsertest,
                       CheckMemberships) {}

INSTANTIATE_TEST_SUITE_P();
}  // namespace
}  // namespace policy