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

import("//extensions/buildflags/buildflags.gni")

source_set("unit_tests") {
  testonly = true

  sources = [
    "browser_report_generator_unittest.cc",
    "legacy_tech/legacy_tech_report_generator_unittest.cc",
    "legacy_tech/legacy_tech_service_unittest.cc",
    "policy_info_unittest.cc",
    "profile_report_generator_unittest.cc",
    "real_time_report_controller_unittest.cc",
    "realtime_event_upload_helper_unittest.cc",
    "report_generator_unittest.cc",
    "report_request_queue_generator_unittest.cc",
    "report_scheduler_unittest.cc",
    "saas_usage/navigation_handle_data_delegate_unittest.cc",
    "saas_usage/saas_usage_navigation_observer_unittest.cc",
    "saas_usage/saas_usage_report_scheduler_delegate_impl_unittest.cc",
    "saas_usage/saas_usage_report_uploader_impl_unittest.cc",
  ]

  deps = [
    "//base",
    "//chrome/browser/enterprise:impl",
    "//chrome/browser/enterprise/connectors/test:test_support",
    "//chrome/browser/enterprise/reporting/test:test_support",
    "//chrome/test:test_support",
    "//components/enterprise:test_support",
    "//components/enterprise/common/proto:extensions_workflow_events_proto_gen",
    "//components/sync_preferences:test_support",
    "//testing/gtest",
  ]

  if (enable_extensions_core) {
    sources += [
      "extension_info_unittest.cc",
      "extension_request/extension_request_observer_factory_unittest.cc",
      "extension_request/extension_request_report_generator_unittest.cc",
      "real_time_report_generator_unittest.cc",
    ]
    if (is_android) {
      sources += [ "extension_request/extension_request_notification_handler_android_unittest.cc" ]
    }
  }

  if (is_chromeos) {
    sources += [ "android_app_info_generator_unittest.cc" ]
    deps += [
      "//chrome/browser/ash/app_list/arc",
      "//chrome/browser/ash/app_list/arc:test_support",
      "//chromeos/ash/components/system",
      "//chromeos/ash/experiences/arc:arc_test_support",
    ]
  }

  if (is_win || is_mac || is_linux) {
    sources += [
      "browser_launch/browser_launch_data_collector_desktop_unittest.cc",
      "browser_launch/browser_launch_event_uploader_desktop_unittest.cc",
    ]
    deps += [ "//chrome/browser/enterprise:browser_launch_reporting" ]
  }
}

if (!is_android) {
  source_set("browser_tests") {
    testonly = true
    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

    sources = [
      "extension_request/extension_request_notification_browsertest.cc",
      "extension_request/extension_request_observer_browsertest.cc",
    ]

    deps = [
      "//base",
      "//chrome/browser/enterprise:impl",
      "//chrome/test:test_support",
      "//chrome/test:test_support_ui",
      "//components/enterprise:test_support",
      "//content/test:test_support",
      "//testing/gmock",
    ]

    if (!is_chromeos) {
      sources += [ "report_scheduler_browsertest.cc" ]
      deps += [ "//chrome/browser:chrome_browser_main" ]
    }
  }
}

if (is_android) {
  source_set("android_browsertests") {
    testonly = true
    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

    sources = []

    deps = [
      "//base",
      "//chrome/browser/enterprise:impl",
      "//chrome/test:test_support",
      "//content/test:test_support",
      "//testing/gmock",
    ]
  }
}

source_set("platform_browser_tests") {
  testonly = true
  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

  if (is_chromeos) {
    sources = [ "security_reporting_cros_browsertest.cc" ]
  } else {
    sources = [
      "cloud_profile_reporting_browsertest.cc",
      "security_reporting_browsertest.cc",
    ]
  }

  deps = [
    "//base",
    "//chrome/browser/enterprise:impl",
    "//chrome/browser/enterprise/reporting/test:test_support",
    "//chrome/browser/enterprise/test:test_support",
    "//chrome/test:test_support",
    "//components/device_signals/core/browser",
    "//components/enterprise/browser/identifiers",
    "//components/policy/core/common:test_support",
    "//content/test:test_support",
    "//testing/gmock",
  ]

  if (is_chromeos) {
    deps += [
      "//chrome/browser/ash/policy/core:test_support",
      "//chromeos/ash/components/network",
      "//chromeos/ash/components/system",
      "//components/device_signals/core/common",
      "//components/policy/proto",
    ]
  }

  if (is_android) {
    deps += [
      "//components/safe_browsing/android:safe_browsing_api_handler",
      "//components/safe_browsing/android:safe_browsing_api_handler_util",
    ]
  }
}
