# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/features.gni")
import("//third_party/protobuf/proto_library.gni")
static_library("report_queue_configuration") {
sources = [
"report_queue_configuration.cc",
"report_queue_configuration.h",
]
deps = [
"//base",
"//components/reporting/proto:record_constants",
"//components/reporting/proto:record_proto",
"//components/reporting/util:rate_limiter_interface",
"//components/reporting/util:status",
"//components/reporting/util:status_macros",
"//components/reporting/util:wrapped_rate_limiter",
]
}
static_library("report_queue_factory") {
sources = [
"report_queue_factory.cc",
"report_queue_factory.h",
]
deps = [
":report_queue",
":report_queue_configuration",
":report_queue_provider",
"//base",
"//components/reporting/proto:record_constants",
"//components/reporting/proto:record_proto",
"//components/reporting/util:backoff_settings",
"//components/reporting/util:rate_limiter_interface",
"//components/reporting/util:status",
"//components/reporting/util:wrapped_rate_limiter",
"//net:net",
]
}
static_library("report_queue") {
sources = [
"filtered_report_queue.h",
"report_queue.cc",
"report_queue.h",
"report_queue_impl.cc",
"report_queue_impl.h",
]
deps = [
":report_queue_configuration",
"//base",
"//components/reporting/proto:metric_data_proto",
"//components/reporting/proto:record_constants",
"//components/reporting/proto:record_proto",
"//components/reporting/storage:storage_module_interface",
"//components/reporting/storage:storage_uploader_interface",
"//components/reporting/util:rate_limiter_interface",
"//components/reporting/util:status",
"//components/reporting/util:status_macros",
"//components/reporting/util:wrapped_rate_limiter",
]
if (!is_chromeos) {
deps += [ "//components/reporting/storage:storage_module" ]
}
}
static_library("report_queue_provider") {
sources = [
"dm_token_retriever.h",
"empty_dm_token_retriever.cc",
"empty_dm_token_retriever.h",
"report_queue_provider.cc",
"report_queue_provider.h",
]
deps = [
":report_queue",
":report_queue_configuration",
"//base",
"//components/reporting/proto:record_constants",
"//components/reporting/proto:record_proto",
"//components/reporting/storage:storage_module_interface",
"//components/reporting/util:status",
"//components/reporting/util:status_macros",
]
if (!is_chromeos) {
deps += [ "//components/reporting/storage:storage_module" ]
}
}
static_library("test_support") {
testonly = true
sources = [
"mock_dm_token_retriever.cc",
"mock_dm_token_retriever.h",
"mock_report_queue.cc",
"mock_report_queue.h",
]
deps = [
":report_queue",
":report_queue_configuration",
":report_queue_provider",
"//base",
"//base/test:test_support",
"//components/reporting/proto:record_constants",
"//components/reporting/proto:record_proto",
"//components/reporting/proto:test_proto",
"//components/reporting/storage:test_support",
"//components/reporting/util:rate_limiter_interface",
"//components/reporting/util:status",
"//components/reporting/util:status_macros",
"//components/reporting/util:wrapped_rate_limiter",
"//testing/gmock",
"//testing/gtest",
]
}
static_library("mock_report_queue_provider") {
testonly = true
sources = [
"mock_report_queue_provider.cc",
"mock_report_queue_provider.h",
"report_queue_provider_test_helper.cc",
"report_queue_provider_test_helper.h",
]
deps = [
":report_queue",
":report_queue_configuration",
":report_queue_provider",
":test_support",
"//base",
"//base/test:test_support",
"//components/reporting/storage:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
# All unit tests are built as part of the //components:components_unittests
# target and must be one targets named "unit_tests".
source_set("unit_tests") {
testonly = true
sources = [
"empty_dm_token_retriever_unittest.cc",
"filtered_report_queue_unittest.cc",
"report_queue_configuration_unittest.cc",
"report_queue_factory_unittest.cc",
"report_queue_impl_unittest.cc",
"report_queue_provider_unittest.cc",
"report_queue_unittest.cc",
]
deps = [
":mock_report_queue_provider",
":report_queue",
":report_queue_configuration",
":report_queue_factory",
":report_queue_provider",
":test_support",
"//base",
"//base/test:test_support",
"//components/reporting/proto:record_constants",
"//components/reporting/proto:record_proto",
"//components/reporting/proto:test_proto",
"//components/reporting/storage:storage_module_interface",
"//components/reporting/storage:test_support",
"//components/reporting/util:rate_limiter_interface",
"//components/reporting/util:status",
"//components/reporting/util:status_macros",
"//components/reporting/util:test_callbacks_support",
"//components/reporting/util:wrapped_rate_limiter",
"//testing/gmock",
"//testing/gtest",
]
}