xref: /aosp_15_r20/external/tink/cc/integration/awskms/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1package(default_visibility = ["//:__subpackages__"])
2
3licenses(["notice"])
4
5cc_library(
6    name = "aws_kms_aead",
7    srcs = ["aws_kms_aead.cc"],
8    hdrs = ["aws_kms_aead.h"],
9    include_prefix = "tink/integration/awskms",
10    visibility = ["//visibility:public"],
11    deps = [
12        "@aws_cpp_sdk//:aws_sdk_core",
13        "@com_google_absl//absl/status",
14        "@com_google_absl//absl/strings",
15        "@tink_cc//:aead",
16        "@tink_cc//util:status",
17        "@tink_cc//util:statusor",
18    ],
19    alwayslink = 1,
20)
21
22cc_library(
23    name = "aws_kms_client",
24    srcs = ["aws_kms_client.cc"],
25    hdrs = ["aws_kms_client.h"],
26    include_prefix = "tink/integration/awskms",
27    visibility = ["//visibility:public"],
28    deps = [
29        ":aws_kms_aead",
30        "@aws_cpp_sdk//:aws_sdk_core",
31        "@com_google_absl//absl/base",
32        "@com_google_absl//absl/status",
33        "@com_google_absl//absl/strings",
34        "@com_google_absl//absl/synchronization",
35        "@tink_cc//:kms_client",
36        "@tink_cc//:kms_clients",
37        "@tink_cc//util:status",
38        "@tink_cc//util:statusor",
39    ],
40    alwayslink = 1,
41)
42
43cc_test(
44    name = "aws_kms_aead_integration_test",
45    size = "small",
46    srcs = ["aws_kms_aead_integration_test.cc"],
47    data = ["//testdata/aws:credentials"],
48    # This target requires valid credentials to interact with the AWS KMS.
49    tags = ["manual"],
50    deps = [
51        ":aws_kms_aead",
52        ":aws_kms_client",
53        "//tink/integration/awskms/internal:test_file_util",
54        "@bazel_tools//tools/cpp/runfiles",
55        "@com_google_absl//absl/log:check",
56        "@com_google_absl//absl/strings",
57        "@com_google_googletest//:gtest_main",
58        "@tink_cc//util:statusor",
59        "@tink_cc//util:test_matchers",
60    ],
61)
62
63cc_test(
64    name = "aws_kms_client_test",
65    size = "small",
66    srcs = ["aws_kms_client_test.cc"],
67    data = ["//testdata/aws:credentials"],
68    deps = [
69        ":aws_kms_client",
70        "//tink/integration/awskms/internal:test_file_util",
71        "@aws_cpp_sdk//:aws_sdk_core",
72        "@com_google_absl//absl/status",
73        "@com_google_googletest//:gtest_main",
74        "@tink_cc//util:status",
75        "@tink_cc//util:statusor",
76        "@tink_cc//util:test_matchers",
77        "@tink_cc//util:test_util",
78    ],
79)
80