From 05caac302f10845f95dab68fbdb4e793da100d75 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 4 Oct 2024 20:39:33 -0400 Subject: [PATCH] nixos/keycloak: fixup login test after ui change --- nixos/tests/keycloak.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/nixos/tests/keycloak.nix b/nixos/tests/keycloak.nix index 67b412c80961..8fbab8ffae21 100644 --- a/nixos/tests/keycloak.nix +++ b/nixos/tests/keycloak.nix @@ -48,8 +48,7 @@ let ]; }; environment.systemPackages = with pkgs; [ - xmlstarlet - html-tidy + htmlq jq ]; }; @@ -151,16 +150,14 @@ let # post url. keycloak.succeed( "curl -sSf -c cookie '${frontendUrl}/realms/${realm.realm}/protocol/openid-connect/auth?client_id=${client.name}&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=openid+email&response_type=code&response_mode=query&nonce=qw4o89g3qqm' >login_form", - "tidy -asxml -q -m login_form || true", - "xml sel -T -t -m \"_:html/_:body/_:div/_:div/_:div/_:div/_:div/_:div/_:form[@id='kc-form-login']\" -v @action login_form >form_post_url", + "htmlq '#kc-form-login' --attribute action --filename login_form --output form_post_url" ) # Post the login form and save the response. Once again tidy up # the HTML, then extract the authorization code. keycloak.succeed( "curl -sSf -L -b cookie -d 'username=${user.username}' -d 'password=${password}' -d 'credentialId=' \"$(auth_code_html", - "tidy -asxml -q -m auth_code_html || true", - "xml sel -T -t -m \"_:html/_:body/_:div/_:div/_:div/_:div/_:div/_:input[@id='code']\" -v @value auth_code_html >auth_code", + "htmlq '#code' --attribute value --filename auth_code_html --output auth_code" ) # Exchange the authorization code for an access token.