Skip to content
Snippets Groups Projects
Commit 9f3bb2b8 authored by Jean-Paul Calderone's avatar Jean-Paul Calderone
Browse files

speak the issuer protocol correctly

at least, maybe.  we don't actually get any zkaps from this as of now.
parent 820b0759
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env python3 #!/usr/bin/env python3
from sys import argv from sys import argv
from requests import post from requests import post, get, put
from json import dumps from json import dumps
from time import sleep
def main(): def main():
clientAPIRoot, issuerAPIRoot = argv[1:] clientAPIRoot, issuerAPIRoot = argv[1:]
voucher = "0123456789" # Construct a voucher that's acceptable to various parts of the system.
zkapauthz = clientAPIRoot + "/storage-plugins/privatestorage-zkapauthorizer-v1" voucher = "a" * 44
zkapauthz = clientAPIRoot + "/storage-plugins/privatestorageio-zkapauthz-v1"
# Simulate a payment for a voucher. # Simulate a payment for a voucher.
post( post(
issuerAPIRoot + "/v1/stripe/webhook", issuerAPIRoot + "/v1/stripe/webhook",
dumps(charge_succeeded_json(voucher)), dumps(charge_succeeded_json(voucher)),
headers={"content-type": "application/json"},
) )
# Tell the client to redeem the voucher. # Tell the client to redeem the voucher.
post( response = put(
zkapauthz + "/voucher", zkapauthz + "/voucher",
dumps({"voucher": voucher}), dumps({"voucher": voucher}),
) )
if response.status_code // 100 != 2:
print("Unexpected response: {}".format(response.content))
response.raise_for_status()
# Poll the vouchers list for a while to see it get redeemed. # Poll the vouchers list for a while to see it get redeemed.
expected = {"number": voucher, "redeemed": True} expected = {"version": 1, "number": voucher, "redeemed": True}
def find_redeemed_voucher():
response = get(zkapauthz + "/voucher/" + voucher)
response.raise_for_status()
actual = response.json()
print("Actual response: {}".format(actual))
return expected == actual
retry( retry(
"find redeemed voucher", "find redeemed voucher",
lambda: expected == get(zkapauthz + "/voucher/" + voucher), find_redeemed_voucher,
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment