keycloak-aplcache

Details

diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
index 3503880..2d927a9 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
@@ -11,6 +11,9 @@ import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
 import org.openqa.selenium.support.ui.Select;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @author fkiss, pdrozd
  */
@@ -188,6 +191,21 @@ public class LdapUserProviderForm extends Form {
         vendorSelect.selectByVisibleText(vendor);
     }
 
+    public List<String> getVendors() {
+        waitUntilElement(By.id("vendor")).is().present();
+
+        List<WebElement> vendorsElements = vendorSelect.getOptions();
+        List<String> vendorsString = new ArrayList<>();
+
+        for (WebElement vendorElement : vendorsElements) {
+            String text = vendorElement.getText();
+            if (text.equals("")) {continue;}
+            vendorsString.add(text);
+        }
+
+        return vendorsString;
+    }
+
     public void selectAuthenticationType(String authenticationType) {
         waitUntilElement(By.id("authType")).is().present();
         authTypeSelect.selectByVisibleText(authenticationType);
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
index a4eb399..d0d2a27 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
@@ -1,9 +1,12 @@
 package org.keycloak.testsuite.console.federation;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
+import java.util.List;
 import java.util.Properties;
 
+import org.apache.commons.configuration.ConfigurationException;
 import org.jboss.arquillian.graphene.page.Page;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -12,6 +15,7 @@ import org.keycloak.representations.idm.UserFederationProviderRepresentation;
 import org.keycloak.testsuite.console.AbstractConsoleTest;
 import org.keycloak.testsuite.console.page.federation.CreateLdapUserProvider;
 import org.keycloak.util.ldap.LDAPEmbeddedServer;
+import org.openqa.selenium.WebElement;
 
 /**
  * @author fkiss, pdrozd
@@ -158,6 +162,21 @@ public class LdapUserFederationTest extends AbstractConsoleTest {
         }
     }
 
+    @Test
+    public void checkVendors() throws ConfigurationException {
+        createLdapUserProvider.navigateTo();
+
+        List<String> vendorsExpected = (List<String>) (List<?>) getConstantsProperties().getList("ldap-vendors");
+        List<String> vendorsActual = createLdapUserProvider.form().getVendors();
+
+        int vendorsExpectedSize = vendorsExpected.size();
+        int vendorsActualSize = vendorsActual.size();
+        assertTrue("Expected vendors count: " + vendorsExpectedSize + "; actual count: " + vendorsActualSize,
+                vendorsExpectedSize == vendorsActualSize);
+
+        assertTrue("Vendors list doesn't match", vendorsExpected.containsAll(vendorsActual));
+    }
+
     private void assertLdapProviderSetting(UserFederationProviderRepresentation ufpr, String name, int priority,
             String editMode, String syncRegistrations, String vendor, String searchScope, String connectionPooling,
             String pagination, String enableAccountAfterPasswordUpdate) {