diff --git a/backend/bdd/features/pki/acme/account.feature b/backend/bdd/features/pki/acme/account.feature index 1540aa1df..12000b35c 100644 --- a/backend/bdd/features/pki/acme/account.feature +++ b/backend/bdd/features/pki/acme/account.feature @@ -11,3 +11,16 @@ Feature: Account When I have an ACME client connecting to {BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory Then I register a new ACME account with email fangpen@infisical.com without EAB Then the value error with jq ".type" should be equal to "urn:ietf:params:acme:error:externalAccountRequired" + + Scenario Outline: Scenario: Create a new account with bad EAB credentials + Given I have an ACME cert profile as "acme_profile" + When I have an ACME client connecting to {BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory + Then I register a new ACME account with email fangpen@infisical.com and EAB key id "" with secret "" as acme_account + Then the value error with jq ".type" should be equal to "urn:ietf:params:acme:error:malformed" + Then the value error with jq ".detail" should be equal to "Invalid external account binding JWS signature" + + Examples: Bad Credentials + | eab_kid | eab_secret | + | bad | Cg== | + | {acme_profile.eab_kid} | Cg== | + | 4bc7959c-fe2d-4447-ae91-0cd893667af6 | {acme_profile.eab_secret} | diff --git a/backend/bdd/features/steps/pki_acme.py b/backend/bdd/features/steps/pki_acme.py index 2e0596666..c07a712de 100644 --- a/backend/bdd/features/steps/pki_acme.py +++ b/backend/bdd/features/steps/pki_acme.py @@ -249,7 +249,10 @@ def step_impl(context: Context, email: str, kid: str, secret: str, account_var: email=email, external_account_binding=eab, ) - context.vars[account_var] = acme_client.new_account(registration) + try: + context.vars[account_var] = acme_client.new_account(registration) + except Exception: + context.vars["error"] = acme_client.new_account(registration) @then("I register a new ACME account with email {email} without EAB") @@ -259,7 +262,7 @@ def step_impl(context: Context, email: str): email=email, ) try: - acme_client.new_account(registration) + context.vars["error"] = acme_client.new_account(registration) except Exception as exp: context.vars["error"] = exp