chromium/chromeos/ash/components/attestation/BUILD.gn

# Copyright 2019 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/chromeos/ui_mode.gni")
import("//testing/test.gni")

assert(is_chromeos_ash, "Non-Chrome-OS builds must not depend on //ash")

component("attestation") {
  defines = [ "IS_CHROMEOS_ASH_COMPONENTS_ATTESTATION_IMPL" ]
  deps = [
    "//base",
    "//chromeos/ash/components/cryptohome",
    "//chromeos/ash/components/dbus/attestation",
    "//chromeos/ash/components/dbus/attestation:attestation_proto",
    "//chromeos/ash/components/dbus/constants",
    "//chromeos/dbus/common",
    "//components/account_id",
    "//crypto",
  ]
  sources = [
    "attestation_features.cc",
    "attestation_features.h",
    "attestation_flow.cc",
    "attestation_flow.h",
    "attestation_flow_adaptive.cc",
    "attestation_flow_adaptive.h",
    "attestation_flow_factory.cc",
    "attestation_flow_factory.h",
    "attestation_flow_integrated.cc",
    "attestation_flow_integrated.h",
    "attestation_flow_status_reporter.cc",
    "attestation_flow_status_reporter.h",
    "attestation_flow_type_decider.cc",
    "attestation_flow_type_decider.h",
  ]
}

source_set("test_support") {
  testonly = true
  public_deps = [ ":attestation" ]
  deps = [
    "//base/test:test_support",
    "//chromeos/ash/components/dbus/attestation:attestation_proto",
    "//chromeos/ash/components/dbus/constants",
    "//components/account_id",
    "//net",
    "//testing/gmock",
  ]
  sources = [
    "fake_attestation_flow.cc",
    "fake_attestation_flow.h",
    "fake_certificate.cc",
    "fake_certificate.h",
    "mock_attestation_flow.cc",
    "mock_attestation_flow.h",
    "stub_attestation_features.cc",
    "stub_attestation_features.h",
  ]
}

source_set("unit_tests") {
  testonly = true
  deps = [
    ":test_support",
    "//base/test:test_support",
    "//chromeos/ash/components/cryptohome",
    "//chromeos/ash/components/dbus:test_support",
    "//chromeos/ash/components/dbus/attestation",
    "//chromeos/ash/components/dbus/attestation:attestation_proto",
    "//chromeos/ash/components/dbus/constants",
    "//components/account_id",
    "//testing/gmock",
    "//testing/gtest",
  ]
  sources = [
    "attestation_features_unittest.cc",
    "attestation_flow_adaptive_unittest.cc",
    "attestation_flow_integrated_unittest.cc",
    "attestation_flow_status_reporter_unittest.cc",
    "attestation_flow_type_decider_unittest.cc",
    "attestation_flow_unittest.cc",
  ]
}