# Copyright 2019 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.gni")

copy("key_tests_files") {
  sources = [
    "analyzer_public.cobalt_key",
    "shuffler_public.cobalt_key",
  ]
  outputs = [
    "$root_out_dir/tests/cpp/keys/{{source_file_part}}",
  ]
}

test("keys_tests") {
  testonly = true
  sources = [
    "keys_tests.cc",
  ]
  deps = [
    ":key_tests_files",
    "$cobalt_root/src:logging",
    "$cobalt_root/src/lib/crypto_util",
    "$cobalt_root/src/lib/statusor",
    "$cobalt_root/src/lib/util:encrypted_message_util",
    "$cobalt_root/src/lib/util:file_util",
    "$cobalt_root/src/pb",
    "//third_party/abseil-cpp/absl/strings",
    "//third_party/googletest:gtest",
    "//third_party/tink/proto:tink_proto",
  ]
  public_configs = [ "//third_party/tink:tink_config" ]
}

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