#include "content/browser/attribution_reporting/aggregatable_debug_report.h"
#include <stddef.h>
#include <optional>
#include <vector>
#include "base/test/scoped_feature_list.h"
#include "base/time/time.h"
#include "base/uuid.h"
#include "components/aggregation_service/aggregation_coordinator_utils.h"
#include "components/attribution_reporting/aggregatable_debug_reporting_config.h"
#include "components/attribution_reporting/debug_types.h"
#include "components/attribution_reporting/debug_types.mojom.h"
#include "components/attribution_reporting/features.h"
#include "components/attribution_reporting/suitable_origin.h"
#include "content/browser/aggregation_service/aggregatable_report.h"
#include "content/browser/aggregation_service/aggregation_service_features.h"
#include "content/browser/aggregation_service/aggregation_service_test_utils.h"
#include "content/browser/attribution_reporting/attribution_report.h"
#include "content/browser/attribution_reporting/attribution_test_utils.h"
#include "content/browser/attribution_reporting/attribution_trigger.h"
#include "content/browser/attribution_reporting/create_report_result.h"
#include "content/browser/attribution_reporting/storable_source.h"
#include "content/browser/attribution_reporting/store_source_result.h"
#include "content/browser/attribution_reporting/stored_source.h"
#include "net/base/schemeful_site.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/aggregation_service/aggregatable_report.mojom.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace content {
namespace {
AggregatableDebugData;
AggregatableDebugReportingConfig;
AggregatableDebugReportingContribution;
SourceAggregatableDebugReportingConfig;
SuitableOrigin;
DebugDataType;
AggregatableReportHistogramContribution;
Eq;
Field;
IsEmpty;
Optional;
Property;
UnorderedElementsAre;
UnorderedElementsAreArray;
constexpr base::Time kSourceTime;
constexpr base::Time kTriggerTime;
constexpr StoredSource::Id kSourceId(1);
bool OperationAllowed() { … }
AttributionReport DefaultEventLevelReport() { … }
AttributionReport DefaultAggregatableReport() { … }
AggregatableDebugData DebugDataAll(
const attribution_reporting::DebugDataTypes& types) { … }
class AggregatableDebugReportTest : public testing::Test,
public testing::WithParamInterface<bool> { … };
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(AggregatableDebugReportTest, SourceDebugReport_Enablement) { … }
TEST_P(AggregatableDebugReportTest, SourceDebugReport) { … }
TEST_P(AggregatableDebugReportTest, SourceDebugReport_Unsupported) { … }
TEST_P(AggregatableDebugReportTest, TriggerDebugReport_Enablement) { … }
TEST_P(AggregatableDebugReportTest, TriggerDebugReport_EventLevel) { … }
TEST_P(AggregatableDebugReportTest, TriggerDebugReport_EventLevelUnsupported) { … }
TEST_P(AggregatableDebugReportTest, TriggerDebugReport_Aggregatable) { … }
TEST_P(AggregatableDebugReportTest,
TriggerDebugReport_AggregatableUnsupported) { … }
TEST_P(AggregatableDebugReportTest,
TriggerDebugReport_EventLevelAndAggregatable) { … }
}
TEST_P(AggregatableDebugReportTest, SourceDebugReport_Data) { … }
TEST_P(AggregatableDebugReportTest, TriggerDebugReport_Data) { … }
TEST_P(AggregatableDebugReportTest, CreateAggregatableReportRequest) { … }
}