| load("@rules_python//python:defs.bzl", "py_binary") |
| load("@pip_deps//:requirements.bzl", "requirement") |
| |
| package(default_visibility = ["//visibility:private"]) |
| |
| licenses(["notice"]) |
| |
| exports_files([ |
| "jwt_test_private_keyset.json", |
| "jwt_test_public_keyset.json", |
| ]) |
| |
| py_binary( |
| name = "jwt_sign", |
| srcs = ["jwt_sign.py"], |
| python_version = "PY3", |
| deps = [ |
| requirement("absl-py"), |
| "@tink_py//tink:cleartext_keyset_handle", |
| "@tink_py//tink:tink_python", |
| "@tink_py//tink/jwt", |
| ], |
| ) |
| |
| py_binary( |
| name = "jwt_generate_public_jwk_set", |
| srcs = ["jwt_generate_public_jwk_set.py"], |
| python_version = "PY3", |
| deps = [ |
| requirement("absl-py"), |
| "@tink_py//tink:tink_python", |
| "@tink_py//tink/jwt", |
| ], |
| ) |
| |
| py_binary( |
| name = "jwt_verify", |
| srcs = ["jwt_verify.py"], |
| python_version = "PY3", |
| deps = [ |
| requirement("absl-py"), |
| "@tink_py//tink:tink_python", |
| "@tink_py//tink/jwt", |
| ], |
| ) |
| |
| sh_test( |
| name = "jwt_signature_test", |
| size = "small", |
| srcs = ["jwt_signature_test.sh"], |
| args = [ |
| "$(rootpath :jwt_sign)", |
| "$(rootpath :jwt_generate_public_jwk_set)", |
| "$(rootpath :jwt_verify)", |
| "$(rootpath :jwt_test_private_keyset.json)", |
| "$(rootpath :jwt_test_public_keyset.json)", |
| ], |
| data = [ |
| ":jwt_generate_public_jwk_set", |
| ":jwt_sign", |
| ":jwt_test_private_keyset.json", |
| ":jwt_test_public_keyset.json", |
| ":jwt_verify", |
| ], |
| ) |
| |
| # This runs the previous test assuming the Tink python package has been |
| # installed previously with pip3 install. |
| sh_test( |
| name = "jwt_signature_test_package", |
| size = "small", |
| srcs = ["jwt_signature_test.sh"], |
| args = [ |
| "'python3 $(rootpath :jwt_sign.py)'", |
| "'python3 $(rootpath :jwt_generate_public_jwk_set.py)'", |
| "'python3 $(rootpath :jwt_verify.py)'", |
| "$(rootpath :jwt_test_private_keyset.json)", |
| "$(rootpath :jwt_test_public_keyset.json)", |
| ], |
| data = [ |
| ":jwt_generate_public_jwk_set.py", |
| ":jwt_sign.py", |
| ":jwt_test_private_keyset.json", |
| ":jwt_test_public_keyset.json", |
| ":jwt_verify.py", |
| ], |
| ) |