# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/test/test_package.gni")

group("lib") {
  testonly = true
  deps = [ ":identity_lib_unittests" ]
}

group("tests") {
  testonly = true
  deps = [ ":identity_lib_unittests" ]
}

test_package("identity_lib_unittests") {
  deps = [
    "account_common:account_common_test",
    "identity_common:identity_common_test",
    "identity_key_manager:identity_key_manager_test",
    "storage_manager:storage_manager_test",
    "token_cache:token_cache_test",
    "token_manager:token_manager_test",
    "token_store:token_store_test",
  ]

  tests = [
    {
      name = "account_common_lib_test"
    },
    {
      name = "identity_common_lib_test"
    },
    {
      name = "identity_key_manager_lib_test"
    },
    {
      name = "storage_manager_lib_test"
    },
    {
      name = "token_cache_lib_test"
    },
    {
      name = "token_store_lib_test"
    },
    {
      name = "token_manager_lib_test"
    },
  ]
}
