diff --git a/multiuser/keycloak/che-multiuser-keycloak-server/src/main/java/org/eclipse/che/multiuser/keycloak/server/KeycloakSettings.java b/multiuser/keycloak/che-multiuser-keycloak-server/src/main/java/org/eclipse/che/multiuser/keycloak/server/KeycloakSettings.java index 436319b2a6..091cf9c287 100644 --- a/multiuser/keycloak/che-multiuser-keycloak-server/src/main/java/org/eclipse/che/multiuser/keycloak/server/KeycloakSettings.java +++ b/multiuser/keycloak/che-multiuser-keycloak-server/src/main/java/org/eclipse/che/multiuser/keycloak/server/KeycloakSettings.java @@ -18,6 +18,7 @@ import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.OSO_EN import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.PASSWORD_ENDPOINT_SETTING; import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.PROFILE_ENDPOINT_SETTING; import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.REALM_SETTING; +import static org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants.TOKEN_ENDPOINT_SETTING; import com.google.common.collect.Maps; import java.util.Collections; @@ -49,6 +50,7 @@ public class KeycloakSettings { settings.put( LOGOUT_ENDPOINT_SETTING, serverURL + "/realms/" + realm + "/protocol/openid-connect/logout"); + settings.put(TOKEN_ENDPOINT_SETTING,serverURL + "/realms/" + realm + "/protocol/openid-connect/token"); settings.put(OSO_ENDPOINT_SETTING, osoEndpoint); settings.put(GITHUB_ENDPOINT_SETTING, gitHubEndpoint); diff --git a/selenium/che-selenium-test/selenium-tests.sh b/selenium/che-selenium-test/selenium-tests.sh index a5a548114f..637102fe6b 100755 --- a/selenium/che-selenium-test/selenium-tests.sh +++ b/selenium/che-selenium-test/selenium-tests.sh @@ -14,11 +14,8 @@ export CALLER=$(basename $0) cd $CUR_DIR -index=0 -params=($*) -CLEAN_GOAL="clean" TESTS_SCOPE="--suite=CheSuite.xml" -cheMultiuserValue=${CHE_MULTIUSER:-false} +CLEAN_GOAL="clean" for var in "$@"; do if [[ "$var" =~ --test=.* ]] || [[ "$var" =~ --suite=.* ]]; then TESTS_SCOPE= @@ -32,11 +29,16 @@ for var in "$@"; do CLEAN_GOAL= break fi +done +index=0 +params=($*) +cheMultiuserValue=${CHE_MULTIUSER:-false} +for var in "$@"; do if [[ "$var" =~ --multiuser ]]; then - cheMultiuserValue=true - unset params[$index] # remove "--multiuser" from parameters - break + cheMultiuserValue=true + unset params[$index] # remove "--multiuser" from parameters + break fi let "index+=1" done @@ -45,7 +47,6 @@ export CHE_MULTIUSER=$cheMultiuserValue set -- "${params[@]}" - mvn $CLEAN_GOAL dependency:unpack-dependencies \ -DincludeArtifactIds=che-selenium-core \ -DincludeGroupIds=org.eclipse.che.selenium \ @@ -53,5 +54,4 @@ mvn $CLEAN_GOAL dependency:unpack-dependencies \ -DoutputDirectory=${CUR_DIR}/target/bin chmod +x target/bin/webdriver.sh - -(target/bin/webdriver.sh "$TESTS_SCOPE" $@) +(target/bin/webdriver.sh "$TESTS_SCOPE" $@) \ No newline at end of file diff --git a/selenium/che-selenium-test/src/main/java/org/eclipse/che/selenium/core/client/KeycloakTestAuthServiceClient.java b/selenium/che-selenium-test/src/main/java/org/eclipse/che/selenium/core/client/KeycloakTestAuthServiceClient.java index 1e5735ec89..a1b6447a14 100644 --- a/selenium/che-selenium-test/src/main/java/org/eclipse/che/selenium/core/client/KeycloakTestAuthServiceClient.java +++ b/selenium/che-selenium-test/src/main/java/org/eclipse/che/selenium/core/client/KeycloakTestAuthServiceClient.java @@ -113,9 +113,13 @@ public class KeycloakTestAuthServiceClient implements TestAuthServiceClient { private KeycloakToken requestToken(String grandType, List> params) { KeycloakToken token = null; HttpURLConnection http = null; - final String keycloakApiEndpoint = keycloakSettings.getKeycloakTokenEndpoint(); + final String keycloakTokenEndpoint = keycloakSettings.getKeycloakTokenEndpoint(); + if (keycloakTokenEndpoint == null) { + throw new RuntimeException("Keycloak token endpoint is not configured"); + } try { - http = (HttpURLConnection) new URL(keycloakApiEndpoint).openConnection(); + + http = (HttpURLConnection) new URL(keycloakTokenEndpoint).openConnection(); http.setRequestMethod(POST); http.setAllowUserInteraction(false); http.setRequestProperty(CONTENT_TYPE, FORM_MIME_TYPE); @@ -137,7 +141,7 @@ public class KeycloakTestAuthServiceClient implements TestAuthServiceClient { if (http.getResponseCode() != 200) { throw new RuntimeException( "Can not get access token using the KeyCloak REST API. Server response code: " - + keycloakApiEndpoint + + keycloakTokenEndpoint + " " + http.getResponseCode() + IoUtil.readStream(http.getErrorStream()));