mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 22:28:15 +00:00
Improve var replacement
This commit is contained in:
@@ -22,16 +22,18 @@ class AcmeProfile:
|
|||||||
self.id = id
|
self.id = id
|
||||||
|
|
||||||
|
|
||||||
def replace_vars(payload: dict, vars: dict):
|
def replace_vars(payload: dict | list | int | float | str, vars: dict):
|
||||||
for key, value in payload.items():
|
if isinstance(payload, dict):
|
||||||
if isinstance(value, dict):
|
return {
|
||||||
replace_vars(value, vars)
|
replace_vars(key, vars): replace_vars(value, vars)
|
||||||
elif isinstance(value, list):
|
for key, value in payload.items()
|
||||||
payload[key] = [replace_vars(item, vars) for item in value]
|
}
|
||||||
elif isinstance(value, str):
|
elif isinstance(payload, list):
|
||||||
payload[key] = value.format(**vars)
|
return [replace_vars(item, vars) for item in payload]
|
||||||
else:
|
elif isinstance(payload, str):
|
||||||
payload[key] = value
|
return payload.format(**vars)
|
||||||
|
else:
|
||||||
|
return payload
|
||||||
|
|
||||||
|
|
||||||
@given('I have an ACME cert profile as "{profile_var}"')
|
@given('I have an ACME cert profile as "{profile_var}"')
|
||||||
@@ -85,8 +87,8 @@ def step_impl(context: Context, header: str):
|
|||||||
def step_impl(context: Context):
|
def step_impl(context: Context):
|
||||||
payload = context.response.json()
|
payload = context.response.json()
|
||||||
expected = json.loads(context.text)
|
expected = json.loads(context.text)
|
||||||
replace_vars(expected, context.vars)
|
replaced = replace_vars(expected, context.vars)
|
||||||
assert payload == expected, f"{payload} != {expected}"
|
assert payload == replaced, f"{payload} != {replaced}"
|
||||||
|
|
||||||
|
|
||||||
@then(
|
@then(
|
||||||
@@ -102,7 +104,8 @@ def step_impl(context: Context, email: str, kid: str, secret: str, account_var:
|
|||||||
"I submit the certificate signing request PEM {pem_var} certificate order to the ACME server as {order_var}"
|
"I submit the certificate signing request PEM {pem_var} certificate order to the ACME server as {order_var}"
|
||||||
)
|
)
|
||||||
def step_impl(context: Context, pem_var: str, order_var: str):
|
def step_impl(context: Context, pem_var: str, order_var: str):
|
||||||
context.vars[order_var] = context.acme_client.new_order(context.vars[pem_var])
|
order = context.acme_client.new_order(context.vars[pem_var])
|
||||||
|
context.vars[order_var] = order
|
||||||
|
|
||||||
|
|
||||||
@when("I create certificate signing request as {csr_var}")
|
@when("I create certificate signing request as {csr_var}")
|
||||||
|
|||||||
Reference in New Issue
Block a user