load("@pip_deps//:requirements.bzl", "requirement")

package(
    default_testonly = 1,
    default_visibility = ["//:__subpackages__"],
)

licenses(["notice"])

py_test(
    name = "key_generation_consistency_test",
    srcs = ["key_generation_consistency_test.py"],
    deps = [
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink:tink_python",
        "@tink_py//tink/aead",
        "@tink_py//tink/daead",
        "@tink_py//tink/hybrid",
        "@tink_py//tink/mac",
        "@tink_py//tink/proto:common_py_pb2",
        "@tink_py//tink/proto:ecdsa_py_pb2",
        "@tink_py//tink/signature",
    ],
)

py_test(
    name = "json_test",
    srcs = ["json_test.py"],
    deps = [
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink:tink_python",
    ],
)

py_test(
    name = "aead_test",
    srcs = ["aead_test.py"],
    deps = [
        "//util:keyset_builder",
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink:tink_python",
        "@tink_py//tink/aead",
        "@tink_py//tink/proto:tink_py_pb2",
    ],
)

py_test(
    name = "aead_consistency_test",
    srcs = ["aead_consistency_test.py"],
    deps = [
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink:tink_python",
        "@tink_py//tink/aead",
        "@tink_py//tink/proto:aes_ctr_hmac_aead_py_pb2",
        "@tink_py//tink/proto:aes_eax_py_pb2",
        "@tink_py//tink/proto:aes_gcm_py_pb2",
        "@tink_py//tink/proto:common_py_pb2",
        "@tink_py//tink/proto:tink_py_pb2",
    ],
)

py_test(
    name = "deterministic_aead_test",
    srcs = ["deterministic_aead_test.py"],
    deps = [
        "//util:keyset_builder",
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink/proto:tink_py_pb2",
        "@tink_py//tink:tink_python",
        "@tink_py//tink/daead",
    ],
)

py_test(
    name = "streaming_aead_test",
    srcs = ["streaming_aead_test.py"],
    deps = [
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink:tink_python",
        "@tink_py//tink/streaming_aead",
    ],
)

py_test(
    name = "mac_test",
    srcs = ["mac_test.py"],
    deps = [
        "//util:keyset_builder",
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink/proto:common_py_pb2",
        "@tink_py//tink/proto:tink_py_pb2",
        "@tink_py//tink:tink_python",
        "@tink_py//tink/mac",
    ],
)

py_test(
    name = "signature_test",
    srcs = ["signature_test.py"],
    deps = [
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink:tink_python",
        "@tink_py//tink/signature",
    ],
)

py_test(
    name = "hybrid_encryption_test",
    srcs = ["hybrid_encryption_test.py"],
    deps = [
        "//util:supported_key_types",
        "//util:testing_servers",
        requirement("absl-py"),
        "@tink_py//tink:tink_python",
        "@tink_py//tink/hybrid",
    ],
)
