# 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
  data_deps = [
    ":identity_lib_unittests",
  ]
}

test_package("identity_lib_unittests") {
  deps = [
    "token_cache:token_cache",
    "token_store:token_store",
  ]

  tests = [
    {
      name = "identity_token_cache_lib_test"
      environments = basic_envs
    },
    {
      name = "identity_token_store_lib_test"
      environments = basic_envs
    },
  ]
}
