From 9f3bb2b8dd5b6759d20d45473f5f5ae2bb1b373e Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Thu, 26 Sep 2019 15:41:23 -0400 Subject: [PATCH] speak the issuer protocol correctly at least, maybe. we don't actually get any zkaps from this as of now. --- nixos/modules/tests/get-passes.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/nixos/modules/tests/get-passes.py b/nixos/modules/tests/get-passes.py index f387f9be..a7e3abe6 100755 --- a/nixos/modules/tests/get-passes.py +++ b/nixos/modules/tests/get-passes.py @@ -1,32 +1,46 @@ #!/usr/bin/env python3 from sys import argv -from requests import post +from requests import post, get, put from json import dumps +from time import sleep def main(): clientAPIRoot, issuerAPIRoot = argv[1:] - voucher = "0123456789" - zkapauthz = clientAPIRoot + "/storage-plugins/privatestorage-zkapauthorizer-v1" + # Construct a voucher that's acceptable to various parts of the system. + voucher = "a" * 44 + + zkapauthz = clientAPIRoot + "/storage-plugins/privatestorageio-zkapauthz-v1" # Simulate a payment for a voucher. post( issuerAPIRoot + "/v1/stripe/webhook", dumps(charge_succeeded_json(voucher)), + headers={"content-type": "application/json"}, ) # Tell the client to redeem the voucher. - post( + response = put( zkapauthz + "/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. - 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( "find redeemed voucher", - lambda: expected == get(zkapauthz + "/voucher/" + voucher), + find_redeemed_voucher, ) -- GitLab