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