keycloak-aplcache

KEYCLOAK-5332 Fix GitLab social test

11/6/2017 11:48:39 AM

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/social/GitLabLoginPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/social/GitLabLoginPage.java
index 04b91e2..34fb4b6 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/social/GitLabLoginPage.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/social/GitLabLoginPage.java
@@ -27,20 +27,24 @@ import org.openqa.selenium.support.FindBy;
  */
 public class GitLabLoginPage extends AbstractSocialLoginPage {
     @FindBy(id = "user_login")
-    //@FindBy(name = "user[login]")
     private WebElement usernameInput;
 
     @FindBy(id = "user_password")
-    //@FindBy(name = "user[password]")
     private WebElement passwordInput;
 
-    @FindBy(name = "commit")
-    private WebElement loginButton;
+    @FindBy(xpath = "//input[@name='commit' and @value='Authorize']")
+    private WebElement authorizeButton;
 
     @Override
     public void login(String user, String password) {
-        usernameInput.sendKeys(user);
-        passwordInput.sendKeys(password);
-        passwordInput.sendKeys(Keys.RETURN);
+        try {
+            usernameInput.sendKeys(user);
+            passwordInput.sendKeys(password);
+            passwordInput.sendKeys(Keys.RETURN);
+        }
+        catch (NoSuchElementException e) {
+            // already logged in
+        }
+        authorizeButton.click();
     }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/SocialLoginTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/SocialLoginTest.java
index 66eaea2..aeebb1a 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/SocialLoginTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/SocialLoginTest.java
@@ -125,15 +125,10 @@ public class SocialLoginTest extends AbstractKeycloakTest {
 
     private Provider currentTestProvider;
 
-    private static final boolean localConfig = false;
-
     @BeforeClass
     public static void loadConfig() throws Exception {
-        if (localConfig) {
-        } else {
-            assumeTrue(System.getProperties().containsKey(SOCIAL_CONFIG));
-            config.load(new FileInputStream(System.getProperty(SOCIAL_CONFIG)));
-        }
+        assumeTrue(System.getProperties().containsKey(SOCIAL_CONFIG));
+        config.load(new FileInputStream(System.getProperty(SOCIAL_CONFIG)));
     }
     
     @Before
@@ -228,30 +223,14 @@ public class SocialLoginTest extends AbstractKeycloakTest {
         testTokenExchange();
     }
 
-    // disabled as I can't get this to work with automated login
-    //@Test
-    public void gitLabLogin() throws InterruptedException {
+    @Test
+    public void gitlabLogin() throws InterruptedException {
         currentTestProvider = GITLAB;
-        // I can't get automated login to work.  inspected elements in browser, are not found in the GitLabLoginPage.
         performLogin();
         assertAccount();
         testTokenExchange();
     }
 
-    protected void manualLogin() throws InterruptedException {
-        System.out.println("****** START MANUAL LOGIN ******");
-        System.out.println("****** START MANUAL LOGIN ******");
-        System.out.println("****** START MANUAL LOGIN ******");
-        Thread.sleep(2000);
-        for (int i = 0; i < 60; i++) {
-            List<UserRepresentation> users = adminClient.realm(REALM).users().search(null, null, null);
-            if (users.size() > 0) return;
-            System.out.println("....waiting");
-            Thread.sleep(1000);
-        }
-
-    }
-
     @Test
     public void facebookLogin() throws InterruptedException {
         currentTestProvider = FACEBOOK;
@@ -263,7 +242,6 @@ public class SocialLoginTest extends AbstractKeycloakTest {
 
     @Test
     public void githubLogin() throws InterruptedException {
-        //Thread.sleep(100000000);
         currentTestProvider = GITHUB;
         performLogin();
         assertAccount();