chromium/chromeos/ash/components/osauth/impl/BUILD.gn

# Copyright 2023 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-ChromeOS builds cannot depend on //chromeos/ash/components/osauth")

component("impl") {
  defines = [ "IS_CHROMEOS_ASH_COMPONENTS_OSAUTH_IMPL" ]
  public_deps = [ "//chromeos/ash/components/osauth/public" ]

  deps = [
    "//ash/constants",
    "//ash/strings",
    "//base",
    "//chromeos/ash/components/cryptohome",
    "//chromeos/ash/components/cryptohome:public",
    "//chromeos/ash/components/dbus/userdataauth",
    "//chromeos/ash/components/early_prefs:reader",
    "//chromeos/ash/components/login/auth",
    "//chromeos/ash/components/login/auth/public:authpublic",
    "//components/prefs:prefs",
    "//components/user_manager",
    "//ui/base",
  ]
  sources = [
    "auth_engine_api_impl.cc",
    "auth_factor_presence_cache.cc",
    "auth_factor_presence_cache.h",
    "auth_hub_attempt_handler.cc",
    "auth_hub_attempt_handler.h",
    "auth_hub_common.h",
    "auth_hub_impl.cc",
    "auth_hub_impl.h",
    "auth_hub_mode_lifecycle.cc",
    "auth_hub_mode_lifecycle.h",
    "auth_hub_vector_lifecycle.cc",
    "auth_hub_vector_lifecycle.h",
    "auth_parts_impl.cc",
    "auth_parts_impl.h",
    "auth_session_storage_impl.cc",
    "auth_session_storage_impl.h",
    "auth_surface_registry.cc",
    "auth_surface_registry.h",
    "cryptohome_core_impl.cc",
    "cryptohome_core_impl.h",
    "early_login_auth_policy_connector.cc",
    "early_login_auth_policy_connector.h",
    "engines/cryptohome_based_engine.cc",
    "engines/cryptohome_based_engine.h",
    "engines/cryptohome_fingerprint_engine.cc",
    "engines/cryptohome_fingerprint_engine.h",
    "engines/cryptohome_password_engine.cc",
    "engines/cryptohome_password_engine.h",
    "engines/cryptohome_pin_engine.cc",
    "engines/cryptohome_pin_engine.h",
    "engines/cryptohome_smart_card_engine.cc",
    "engines/cryptohome_smart_card_engine.h",
    "engines/prefs_pin_engine.cc",
    "engines/prefs_pin_engine.h",
    "legacy_auth_surface_registry.cc",
    "legacy_auth_surface_registry.h",
    "login_screen_auth_policy_connector.cc",
    "login_screen_auth_policy_connector.h",
    "prefs.cc",
    "prefs.h",
    "request/password_manager_auth_request.cc",
    "request/password_manager_auth_request.h",
    "request/settings_auth_request.cc",
    "request/settings_auth_request.h",
    "request/token_based_auth_request.cc",
    "request/token_based_auth_request.h",
    "request/webauthn_auth_request.cc",
    "request/webauthn_auth_request.h",
  ]
}

source_set("unit_tests") {
  testonly = true
  deps = [
    ":impl",
    "//ash/constants",
    "//base",
    "//base/test:test_support",
    "//chromeos/ash/components/dbus/userdataauth",
    "//chromeos/ash/components/dbus/userdataauth:test_support",
    "//chromeos/ash/components/dbus/userdataauth:userdataauth_proto",
    "//chromeos/ash/components/install_attributes:test_support",
    "//chromeos/ash/components/login/auth/public:authpublic",
    "//chromeos/ash/components/osauth/test_support",
    "//components/prefs:test_support",
    "//components/user_manager:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/abseil-cpp:absl",
  ]
  sources = [
    "auth_hub_attempt_handler_unittest.cc",
    "auth_hub_impl_test.cc",
    "auth_hub_mode_lifecycle_unittest.cc",
    "auth_hub_vector_lifecycle_unittest.cc",
    "auth_session_storage_impl_unittest.cc",
    "cryptohome_core_impl_unittest.cc",
    "engines/cryptohome_fingerprint_engine_unittest.cc",
    "engines/cryptohome_pin_engine_unittest.cc",
    "engines/prefs_pin_engine_unittest.cc",
  ]
}