# 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")
import("//build/testing/environments.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",
    "oauth:oauth_unittests",
    "token_cache",
    "token_store",
    "token_manager",
  ]

  tests = [
    {
      name = "account_common_lib_test"
      environments = basic_envs
    },
    {
      name = "token_cache_lib_test"
      environments = basic_envs
    },
    {
      name = "token_store_lib_test"
      environments = basic_envs
    },
    {
      name = "oauth_unittests"
      environments = basic_envs
    },
    {
      name = "token_manager_lib_test"
      environments = basic_envs
    }
  ]
}
