xref: /aosp_15_r20/external/tink/python/examples/jwt/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1load("@rules_python//python:defs.bzl", "py_binary")
2load("@pip_deps//:requirements.bzl", "requirement")
3
4package(default_visibility = ["//visibility:private"])
5
6licenses(["notice"])
7
8exports_files([
9    "jwt_test_private_keyset.json",
10    "jwt_test_public_keyset.json",
11])
12
13py_binary(
14    name = "jwt_sign",
15    srcs = ["jwt_sign.py"],
16    python_version = "PY3",
17    deps = [
18        requirement("absl-py"),
19        "@tink_py//tink:cleartext_keyset_handle",
20        "@tink_py//tink:tink_python",
21        "@tink_py//tink/jwt",
22    ],
23)
24
25py_binary(
26    name = "jwt_generate_public_jwk_set",
27    srcs = ["jwt_generate_public_jwk_set.py"],
28    python_version = "PY3",
29    deps = [
30        requirement("absl-py"),
31        "@tink_py//tink:tink_python",
32        "@tink_py//tink/jwt",
33    ],
34)
35
36py_binary(
37    name = "jwt_verify",
38    srcs = ["jwt_verify.py"],
39    python_version = "PY3",
40    deps = [
41        requirement("absl-py"),
42        "@tink_py//tink:tink_python",
43        "@tink_py//tink/jwt",
44    ],
45)
46
47sh_test(
48    name = "jwt_signature_test",
49    size = "small",
50    srcs = ["jwt_signature_test.sh"],
51    args = [
52        "$(rootpath :jwt_sign)",
53        "$(rootpath :jwt_generate_public_jwk_set)",
54        "$(rootpath :jwt_verify)",
55        "$(rootpath :jwt_test_private_keyset.json)",
56        "$(rootpath :jwt_test_public_keyset.json)",
57    ],
58    data = [
59        ":jwt_generate_public_jwk_set",
60        ":jwt_sign",
61        ":jwt_test_private_keyset.json",
62        ":jwt_test_public_keyset.json",
63        ":jwt_verify",
64    ],
65)
66
67# This runs the previous test assuming the Tink python package has been
68# installed previously with pip3 install.
69sh_test(
70    name = "jwt_signature_test_package",
71    size = "small",
72    srcs = ["jwt_signature_test.sh"],
73    args = [
74        "'python3 $(rootpath :jwt_sign.py)'",
75        "'python3 $(rootpath :jwt_generate_public_jwk_set.py)'",
76        "'python3 $(rootpath :jwt_verify.py)'",
77        "$(rootpath :jwt_test_private_keyset.json)",
78        "$(rootpath :jwt_test_public_keyset.json)",
79    ],
80    data = [
81        ":jwt_generate_public_jwk_set.py",
82        ":jwt_sign.py",
83        ":jwt_test_private_keyset.json",
84        ":jwt_test_public_keyset.json",
85        ":jwt_verify.py",
86    ],
87)
88