Skip to content

Commit

Permalink
Retain old JWT paths for LTS tests (#5711)
Browse files Browse the repository at this point in the history
  • Loading branch information
eddyashton authored Oct 4, 2023
1 parent e73cf2f commit cf8b57b
Showing 1 changed file with 32 additions and 17 deletions.
49 changes: 32 additions & 17 deletions tests/infra/jwt_issuer.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,23 +216,38 @@ def wait_for_refresh(self, network, args, kid=None):
kid_ = kid or self.default_kid
primary, _ = network.find_nodes()
end_time = time.time() + timeout
with primary.api_versioned_client(
network.consortium.get_any_active_member().local_id,
api_version=args.gov_api_version,
) as c:
while time.time() < end_time:
logs = []
r = c.get("/gov/service/jwk", log_capture=logs)
assert r.status_code == 200, r
body = r.body.json()
LOG.warning(body)
keys = body["keys"]
if kid_ in keys:
stored_cert = keys[kid_]["certificate"]
if self.cert_pem == stored_cert:
flush_info(logs)
return
time.sleep(0.1)
if primary.version_after("ccf-5.0.0-rc3"):
with primary.api_versioned_client(
network.consortium.get_any_active_member().local_id,
api_version=args.gov_api_version,
) as c:
while time.time() < end_time:
logs = []
r = c.get("/gov/service/jwk", log_capture=logs)
assert r.status_code == 200, r
body = r.body.json()
LOG.warning(body)
keys = body["keys"]
if kid_ in keys:
stored_cert = keys[kid_]["certificate"]
if self.cert_pem == stored_cert:
flush_info(logs)
return
time.sleep(0.1)
else:
with primary.client(
network.consortium.get_any_active_member().local_id
) as c:
while time.time() < end_time:
logs = []
r = c.get("/gov/jwt_keys/all", log_capture=logs)
assert r.status_code == 200, r
if kid_ in r.body.json():
stored_cert = r.body.json()[kid_]["cert"]
if self.cert_pem == stored_cert:
flush_info(logs)
return
time.sleep(0.1)
flush_info(logs)
raise TimeoutError(
f"JWT public signing keys were not refreshed after {timeout}s"
Expand Down

0 comments on commit cf8b57b

Please sign in to comment.