keycloak-uncached
Changes
dependencies/server-all/pom.xml 4(+0 -4)
distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml 2(+1 -1)
federation/ldap2/pom.xml 2(+1 -1)
federation/pom.xml 1(+0 -1)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java 57(+55 -2)
pom.xml 5(+0 -5)
services/pom.xml 2(+1 -1)
testsuite/integration/pom.xml 4(+0 -4)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java 186(+0 -186)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/FederationProvidersIntegrationTest.java 867(+0 -867)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapper2WaySyncTest.java 252(+0 -252)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperSyncTest.java 312(+0 -312)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperTest.java 361(+0 -361)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPMultipleAttributesTest.java 239(+0 -239)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPRoleMappingsTest.java 355(+0 -355)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPSyncTest.java 368(+0 -368)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/FederationTestUtils.java 287(+0 -287)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPExampleServlet.java 63(+0 -63)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosLdapAdapterTest.java 129(+0 -129)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java 71(+0 -71)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserStorageMapperTest.java 10(+5 -5)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserStorageRestTest.java 4(+3 -1)
Details
dependencies/server-all/pom.xml 4(+0 -4)
diff --git a/dependencies/server-all/pom.xml b/dependencies/server-all/pom.xml
index 3dcb6e5..526a0cf 100755
--- a/dependencies/server-all/pom.xml
+++ b/dependencies/server-all/pom.xml
@@ -69,10 +69,6 @@
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
- <artifactId>keycloak-ldap-storage</artifactId>
- </dependency>
- <dependency>
- <groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
</dependency>
<!-- saml -->
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml
index 58977da..43a1d64 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml
@@ -21,7 +21,7 @@
</properties>
<resources>
- <artifact name="${org.keycloak:keycloak-ldap-storage}"/>
+ <artifact name="${org.keycloak:keycloak-ldap-federation}"/>
</resources>
<dependencies>
federation/ldap2/pom.xml 2(+1 -1)
diff --git a/federation/ldap2/pom.xml b/federation/ldap2/pom.xml
index dccdee0..bf3feea 100755
--- a/federation/ldap2/pom.xml
+++ b/federation/ldap2/pom.xml
@@ -25,7 +25,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>keycloak-ldap-storage</artifactId>
+ <artifactId>keycloak-ldap-federation</artifactId>
<name>Keycloak LDAP UserStoreProvider</name>
<description />
federation/pom.xml 1(+0 -1)
diff --git a/federation/pom.xml b/federation/pom.xml
index 1318643..c0cd494 100755
--- a/federation/pom.xml
+++ b/federation/pom.xml
@@ -34,7 +34,6 @@
<modules>
<module>kerberos</module>
- <module>ldap</module>
<module>ldap2</module>
<module>sssd</module>
</modules>
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
index b51d911..5531de1 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
@@ -501,8 +501,7 @@ public class UserCacheSession implements UserCache {
@Override
public UserModel getServiceAccount(ClientModel client) {
// Just an attempt to find the user from cache by default serviceAccount username
- String username = ServiceAccountConstants.SERVICE_ACCOUNT_USER_PREFIX + client.getClientId();
- UserModel user = getUserByUsername(username, client.getRealm());
+ UserModel user = findServiceAccount(client);
if (user != null && user.getServiceAccountClientLink() != null && user.getServiceAccountClientLink().equals(client.getId())) {
return user;
}
@@ -510,6 +509,60 @@ public class UserCacheSession implements UserCache {
return getDelegate().getServiceAccount(client);
}
+ public UserModel findServiceAccount(ClientModel client) {
+ String username = ServiceAccountConstants.SERVICE_ACCOUNT_USER_PREFIX + client.getClientId();
+ logger.tracev("getServiceAccount: {0}", username);
+ username = username.toLowerCase();
+ RealmModel realm = client.getRealm();
+ if (realmInvalidations.contains(realm.getId())) {
+ logger.tracev("realmInvalidations");
+ return getDelegate().getServiceAccount(client);
+ }
+ String cacheKey = getUserByUsernameCacheKey(realm.getId(), username);
+ if (invalidations.contains(cacheKey)) {
+ logger.tracev("invalidations");
+ return getDelegate().getServiceAccount(client);
+ }
+ UserListQuery query = cache.get(cacheKey, UserListQuery.class);
+
+ String userId = null;
+ if (query == null) {
+ logger.tracev("query null");
+ Long loaded = cache.getCurrentRevision(cacheKey);
+ UserModel model = getDelegate().getServiceAccount(client);
+ if (model == null) {
+ logger.tracev("model from delegate null");
+ return null;
+ }
+ userId = model.getId();
+ if (invalidations.contains(userId)) return model;
+ if (managedUsers.containsKey(userId)) {
+ logger.tracev("return managed user");
+ return managedUsers.get(userId);
+ }
+
+ UserModel adapter = getUserAdapter(realm, userId, loaded, model);
+ if (adapter instanceof UserAdapter) { // this was cached, so we can cache query too
+ query = new UserListQuery(loaded, cacheKey, realm, model.getId());
+ cache.addRevisioned(query, startupRevision);
+ }
+ managedUsers.put(userId, adapter);
+ return adapter;
+ } else {
+ userId = query.getUsers().iterator().next();
+ if (invalidations.contains(userId)) {
+ logger.tracev("invalidated cache return delegate");
+ return getDelegate().getUserByUsername(username, realm);
+
+ }
+ logger.trace("return getUserById");
+ return getUserById(userId, realm);
+ }
+ }
+
+
+
+
@Override
public List<UserModel> getUsers(RealmModel realm, boolean includeServiceAccounts) {
return getDelegate().getUsers(realm, includeServiceAccounts);
pom.xml 5(+0 -5)
diff --git a/pom.xml b/pom.xml
index 1e132d4..8a61e5b 100755
--- a/pom.xml
+++ b/pom.xml
@@ -713,11 +713,6 @@
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
- <artifactId>keycloak-ldap-storage</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-min</artifactId>
<version>${project.version}</version>
<type>pom</type>
services/pom.xml 2(+1 -1)
diff --git a/services/pom.xml b/services/pom.xml
index f642178..78e3f42 100755
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -65,7 +65,7 @@
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
- <artifactId>keycloak-ldap-storage</artifactId>
+ <artifactId>keycloak-ldap-federation</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/services/src/main/java/org/keycloak/services/DefaultKeycloakTransactionManager.java b/services/src/main/java/org/keycloak/services/DefaultKeycloakTransactionManager.java
index 0039fa0..4ddcaf2 100755
--- a/services/src/main/java/org/keycloak/services/DefaultKeycloakTransactionManager.java
+++ b/services/src/main/java/org/keycloak/services/DefaultKeycloakTransactionManager.java
@@ -92,9 +92,11 @@ public class DefaultKeycloakTransactionManager implements KeycloakTransactionMan
if (jtaPolicy == JTAPolicy.REQUIRES_NEW) {
JtaTransactionManagerLookup jtaLookup = session.getProvider(JtaTransactionManagerLookup.class);
- TransactionManager tm = jtaLookup.getTransactionManager();
- if (tm != null) {
- enlist(new JtaTransactionWrapper(tm));
+ if (jtaLookup != null) {
+ TransactionManager tm = jtaLookup.getTransactionManager();
+ if (tm != null) {
+ enlist(new JtaTransactionWrapper(tm));
+ }
}
}
testsuite/integration/pom.xml 4(+0 -4)
diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml
index 8aa1afb..d1311b5 100755
--- a/testsuite/integration/pom.xml
+++ b/testsuite/integration/pom.xml
@@ -128,10 +128,6 @@
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
- <artifactId>keycloak-ldap-storage</artifactId>
- </dependency>
- <dependency>
- <groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
</dependency>
<dependency>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
index 98c7437..f193645 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
@@ -22,8 +22,7 @@ import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
import org.keycloak.common.constants.KerberosConstants;
-import org.keycloak.federation.ldap.mappers.FullNameLDAPFederationMapper;
-import org.keycloak.federation.ldap.mappers.FullNameLDAPFederationMapperFactory;
+import org.keycloak.component.ComponentModel;
import org.keycloak.models.AuthenticationFlowModel;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientTemplateModel;
@@ -49,6 +48,9 @@ import org.keycloak.protocol.oidc.mappers.OIDCAttributeMapperHelper;
import org.keycloak.protocol.oidc.mappers.UserSessionNoteMapper;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.services.managers.RealmManager;
+import org.keycloak.storage.UserStorageProviderModel;
+import org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapper;
+import org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory;
import java.util.List;
import java.util.Map;
@@ -278,31 +280,28 @@ public class ImportTest extends AbstractModelTest {
// Test federation providers
List<UserFederationProviderModel> fedProviders = realm.getUserFederationProviders();
- Assert.assertTrue(fedProviders.size() == 2);
- UserFederationProviderModel ldap1 = fedProviders.get(0);
- Assert.assertEquals("MyLDAPProvider1", ldap1.getDisplayName());
- Assert.assertEquals("ldap", ldap1.getProviderName());
+ Assert.assertTrue(fedProviders.size() == 0);
+ List<UserStorageProviderModel> storageProviders = realm.getUserStorageProviders();
+ Assert.assertTrue(storageProviders.size() == 2);
+ UserStorageProviderModel ldap1 = storageProviders.get(0);
+ Assert.assertEquals("MyLDAPProvider1", ldap1.getName());
+ Assert.assertEquals("ldap", ldap1.getProviderId());
Assert.assertEquals(1, ldap1.getPriority());
- Assert.assertEquals("ldap://foo", ldap1.getConfig().get(LDAPConstants.CONNECTION_URL));
+ Assert.assertEquals("ldap://foo", ldap1.getConfig().getFirst(LDAPConstants.CONNECTION_URL));
- UserFederationProviderModel ldap2 = fedProviders.get(1);
- Assert.assertEquals("MyLDAPProvider2", ldap2.getDisplayName());
- Assert.assertEquals("ldap://bar", ldap2.getConfig().get(LDAPConstants.CONNECTION_URL));
+ UserStorageProviderModel ldap2 = storageProviders.get(1);
+ Assert.assertEquals("MyLDAPProvider2", ldap2.getName());
+ Assert.assertEquals("ldap://bar", ldap2.getConfig().getFirst(LDAPConstants.CONNECTION_URL));
// Test federation mappers
- Set<UserFederationMapperModel> fedMappers1 = realm.getUserFederationMappersByFederationProvider(ldap1.getId());
- Assert.assertTrue(fedMappers1.size() == 1);
- UserFederationMapperModel fullNameMapper = fedMappers1.iterator().next();
+ Set<UserFederationMapperModel> userFedMappers1 = realm.getUserFederationMappers();
+ Assert.assertTrue(userFedMappers1.size() == 0);
+ List<ComponentModel> fedMappers1 = realm.getComponents(ldap1.getId());
+ ComponentModel fullNameMapper = fedMappers1.iterator().next();
Assert.assertEquals("FullNameMapper", fullNameMapper.getName());
- Assert.assertEquals(FullNameLDAPFederationMapperFactory.PROVIDER_ID, fullNameMapper.getFederationMapperType());
- Assert.assertEquals(ldap1.getId(), fullNameMapper.getFederationProviderId());
- Assert.assertEquals("cn", fullNameMapper.getConfig().get(FullNameLDAPFederationMapper.LDAP_FULL_NAME_ATTRIBUTE));
-
- // All builtin LDAP mappers should be here
- Set<UserFederationMapperModel> fedMappers2 = realm.getUserFederationMappersByFederationProvider(ldap2.getId());
- Assert.assertTrue(fedMappers2.size() > 3);
- Set<UserFederationMapperModel> allMappers = realm.getUserFederationMappers();
- Assert.assertEquals(allMappers.size(), fedMappers1.size() + fedMappers2.size());
+ Assert.assertEquals(FullNameLDAPStorageMapperFactory.PROVIDER_ID, fullNameMapper.getProviderId());
+ Assert.assertEquals(ldap1.getId(), fullNameMapper.getParentId());
+ Assert.assertEquals("cn", fullNameMapper.getConfig().getFirst(FullNameLDAPStorageMapper.LDAP_FULL_NAME_ATTRIBUTE));
// Assert that federation link wasn't created during import
UserFederationProviderFactory factory = (UserFederationProviderFactory)session.getKeycloakSessionFactory().getProviderFactory(UserFederationProvider.class, "dummy");
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java
index 7d005e9..b23194a 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java
@@ -1509,77 +1509,6 @@ public class PermissionsTest extends AbstractKeycloakTest {
}
@Test
- public void userFederation() {
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().getProviderInstances();
- }
- }, Resource.REALM, false);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().getProviderFactories();
- }
- }, Resource.REALM, false);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().getProviderFactory("nosuch");
- }
- }, Resource.REALM, false);
- invoke(new InvocationWithResponse() {
- public void invoke(RealmResource realm, AtomicReference<Response> response) {
- UserFederationProviderRepresentation rep = new UserFederationProviderRepresentation();
- rep.setProviderName("ldap");
- response.set(realm.userFederation().create(rep));
- }
- }, Resource.REALM, true);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().get("nosuch").toRepresentation();
- }
- }, Resource.REALM, false);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().get("nosuch").update(new UserFederationProviderRepresentation());
- }
- }, Resource.REALM, true);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().get("nosuch").remove();
- }
- }, Resource.REALM, true);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().get("nosuch").syncUsers("nosuch");
- }
- }, Resource.REALM, true);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().get("nosuch").getMapperTypes();
- }
- }, Resource.REALM, false);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().get("nosuch").getMappers();
- }
- }, Resource.REALM, false);
- invoke(new InvocationWithResponse() {
- public void invoke(RealmResource realm, AtomicReference<Response> response) {
- response.set(realm.userFederation().get("nosuch").addMapper(new UserFederationMapperRepresentation()));
- }
- }, Resource.REALM, true);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().get("nosuch").getMapperById("nosuch");
- }
- }, Resource.REALM, false);
- invoke(new Invocation() {
- public void invoke(RealmResource realm) {
- realm.userFederation().get("nosuch").syncMapperData("nosuch", "nosuch");
- }
- }, Resource.REALM, true);
- }
-
- @Test
public void components() {
invoke(new Invocation() {
public void invoke(RealmResource realm) {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java
index 2c45818..001ed86 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java
@@ -25,10 +25,11 @@ import org.keycloak.admin.client.resource.ClientTemplateResource;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.common.constants.KerberosConstants;
-import org.keycloak.federation.ldap.mappers.FullNameLDAPFederationMapper;
-import org.keycloak.federation.ldap.mappers.FullNameLDAPFederationMapperFactory;
+import org.keycloak.component.ComponentModel;
import org.keycloak.models.Constants;
import org.keycloak.models.LDAPConstants;
+import org.keycloak.models.UserFederationMapperModel;
+import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.utils.DefaultAuthenticationFlows;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.mappers.OIDCAttributeMapperHelper;
@@ -37,6 +38,8 @@ import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
import org.keycloak.representations.idm.ClientMappingsRepresentation;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ClientTemplateRepresentation;
+import org.keycloak.representations.idm.ComponentExportRepresentation;
+import org.keycloak.representations.idm.ComponentRepresentation;
import org.keycloak.representations.idm.FederatedIdentityRepresentation;
import org.keycloak.representations.idm.IdentityProviderRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
@@ -49,6 +52,11 @@ import org.keycloak.representations.idm.authorization.PolicyRepresentation;
import org.keycloak.representations.idm.authorization.ResourceRepresentation;
import org.keycloak.representations.idm.authorization.ResourceServerRepresentation;
import org.keycloak.representations.idm.authorization.ScopeRepresentation;
+import org.keycloak.storage.UserStorageProvider;
+import org.keycloak.storage.UserStorageProviderModel;
+import org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapper;
+import org.keycloak.storage.ldap.mappers.FullNameLDAPStorageMapperFactory;
+import org.keycloak.storage.ldap.mappers.LDAPStorageMapper;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.client.KeycloakTestingClient;
import org.keycloak.testsuite.util.RealmRepUtil;
@@ -260,33 +268,34 @@ public class ExportImportUtil {
Assert.assertEquals("googleId", google.getConfig().get("clientId"));
Assert.assertEquals("googleSecret", google.getConfig().get("clientSecret"));
+ //////////////////
// Test federation providers
+ // on import should convert UserfederationProviderRepresentation to Component model
List<UserFederationProviderRepresentation> fedProviders = realm.getUserFederationProviders();
- Assert.assertTrue(fedProviders.size() == 2);
- UserFederationProviderRepresentation ldap1 = fedProviders.get(0);
- Assert.assertEquals("MyLDAPProvider1", ldap1.getDisplayName());
- Assert.assertEquals("ldap", ldap1.getProviderName());
- Assert.assertEquals(1, ldap1.getPriority());
- Assert.assertEquals("ldap://foo", ldap1.getConfig().get(LDAPConstants.CONNECTION_URL));
+ Assert.assertTrue(fedProviders == null || fedProviders.size() == 0);
+ List<ComponentRepresentation> storageProviders = realmRsc.components().query(realm.getId(), UserStorageProvider.class.getName());
+ Assert.assertTrue(storageProviders.size() == 2);
+ ComponentRepresentation ldap1 = storageProviders.get(0);
+ ComponentRepresentation ldap2 = storageProviders.get(1);
+ if (!"MyLDAPProvider1".equals(ldap1.getName())) {
+ ldap2 = ldap1;
+ ldap1 = storageProviders.get(1);
+ }
+ Assert.assertEquals("MyLDAPProvider1", ldap1.getName());
+ Assert.assertEquals("ldap", ldap1.getProviderId());
+ Assert.assertEquals("1", ldap1.getConfig().getFirst("priority"));
+ Assert.assertEquals("ldap://foo", ldap1.getConfig().getFirst(LDAPConstants.CONNECTION_URL));
- UserFederationProviderRepresentation ldap2 = fedProviders.get(1);
- Assert.assertEquals("MyLDAPProvider2", ldap2.getDisplayName());
- Assert.assertEquals("ldap://bar", ldap2.getConfig().get(LDAPConstants.CONNECTION_URL));
+ Assert.assertEquals("MyLDAPProvider2", ldap2.getName());
+ Assert.assertEquals("ldap://bar", ldap2.getConfig().getFirst(LDAPConstants.CONNECTION_URL));
// Test federation mappers
- List<UserFederationMapperRepresentation> fedMappers1 = realmRsc.userFederation().get(ldap1.getId()).getMappers();
- Assert.assertTrue(fedMappers1.size() == 1);
- UserFederationMapperRepresentation fullNameMapper = fedMappers1.iterator().next();
+ List<ComponentRepresentation> fedMappers1 = realmRsc.components().query(ldap1.getId(), LDAPStorageMapper.class.getName());
+ ComponentRepresentation fullNameMapper = fedMappers1.iterator().next();
Assert.assertEquals("FullNameMapper", fullNameMapper.getName());
- Assert.assertEquals(FullNameLDAPFederationMapperFactory.PROVIDER_ID, fullNameMapper.getFederationMapperType());
- //Assert.assertEquals(ldap1.getId(), fullNameMapper.getFederationProviderId());
- Assert.assertEquals("cn", fullNameMapper.getConfig().get(FullNameLDAPFederationMapper.LDAP_FULL_NAME_ATTRIBUTE));
-
- // All builtin LDAP mappers should be here
- List<UserFederationMapperRepresentation> fedMappers2 = realmRsc.userFederation().get(ldap2.getId()).getMappers();
- Assert.assertTrue(fedMappers2.size() > 3);
- List<UserFederationMapperRepresentation> allMappers = realm.getUserFederationMappers();
- Assert.assertEquals(allMappers.size(), fedMappers1.size() + fedMappers2.size());
+ Assert.assertEquals(FullNameLDAPStorageMapperFactory.PROVIDER_ID, fullNameMapper.getProviderId());
+ Assert.assertEquals("cn", fullNameMapper.getConfig().getFirst(FullNameLDAPStorageMapper.LDAP_FULL_NAME_ATTRIBUTE));
+ /////////////////
// Assert that federation link wasn't created during import
Assert.assertNull(testingClient.testing().getUserByUsernameFromFedProviderFactory(realm.getRealm(), "wburke"));
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java
index eba2baf..0e78d2e 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java
@@ -158,7 +158,7 @@ public class ClientAuthSignedJWTTest extends AbstractKeycloakTest {
defaultUser = UserBuilder.create()
.id(KeycloakModelUtils.generateId())
- .serviceAccountId(app1.getClientId())
+ //.serviceAccountId(app1.getClientId())
.username("test-user@localhost")
.password("password")
.build();