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 "hybrid_test_public_keyset.json", 10 "hybrid_test_private_keyset.json", 11]) 12 13py_binary( 14 name = "hybrid", 15 srcs = ["hybrid.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/hybrid", 22 ], 23) 24 25sh_test( 26 name = "hybrid_test", 27 size = "small", 28 srcs = ["hybrid_test.sh"], 29 args = [ 30 "$(rootpath :hybrid)", 31 "$(rootpath :hybrid_test_public_keyset.json)", 32 "$(rootpath :hybrid_test_private_keyset.json)", 33 ], 34 data = [ 35 ":hybrid", 36 ":hybrid_test_private_keyset.json", 37 ":hybrid_test_public_keyset.json", 38 ], 39) 40 41# This runs the previous test assuming the Tink python package has been 42# installed previously with pip3 install. 43sh_test( 44 name = "hybrid_test_package", 45 size = "small", 46 srcs = ["hybrid_test.sh"], 47 args = [ 48 "'python3 $(rootpath :hybrid)'", 49 "$(rootpath :hybrid_test_public_keyset.json)", 50 "$(rootpath :hybrid_test_private_keyset.json)", 51 ], 52 data = [ 53 ":hybrid", 54 ":hybrid_test_private_keyset.json", 55 ":hybrid_test_public_keyset.json", 56 ], 57) 58 59py_library( 60 name = "hybrid_basic", 61 srcs = ["hybrid_basic.py"], 62 deps = [ 63 "@tink_py//tink:cleartext_keyset_handle", 64 "@tink_py//tink:tink_python", 65 "@tink_py//tink/hybrid", 66 ], 67) 68 69py_test( 70 name = "hybrid_basic_test", 71 srcs = ["hybrid_basic_test.py"], 72 python_version = "PY3", 73 deps = [ 74 requirement("absl-py"), 75 ":hybrid_basic", 76 ], 77) 78