2020-11-20 10:07:07 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
<modelVersion > 4.0.0</modelVersion>
<parent >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-testsuite-pom</artifactId>
2023-03-03 10:11:44 +00:00
<version > 999.0.0-SNAPSHOT</version>
2020-11-20 10:07:07 +00:00
<relativePath > ../pom.xml</relativePath>
</parent>
<groupId > org.keycloak.testsuite</groupId>
<artifactId > keycloak-model-test</artifactId>
<name > Tests for logical storage layer</name>
<description > Tests for storage layer functionality targetting logical layer, i.e. models</description>
<packaging > jar</packaging>
<properties >
2023-05-26 15:43:53 +00:00
<maven.compiler.release > 11</maven.compiler.release>
<maven.compiler.source > 11</maven.compiler.source>
<maven.compiler.target > 11</maven.compiler.target>
2020-11-20 10:07:07 +00:00
<keycloak.connectionsJpa.driver > org.h2.Driver</keycloak.connectionsJpa.driver>
<keycloak.connectionsJpa.database > keycloak</keycloak.connectionsJpa.database>
<keycloak.connectionsJpa.user > sa</keycloak.connectionsJpa.user>
<keycloak.connectionsJpa.password > </keycloak.connectionsJpa.password>
2022-10-07 09:38:00 +00:00
<keycloak.connectionsJpa.url > jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</keycloak.connectionsJpa.url>
2020-11-20 10:07:07 +00:00
<jdbc.mvn.groupId > com.h2database</jdbc.mvn.groupId>
<jdbc.mvn.artifactId > h2</jdbc.mvn.artifactId>
<jdbc.mvn.version > ${h2.version}</jdbc.mvn.version>
<log4j.configuration > file:${project.build.directory}/dependency/log4j.properties</log4j.configuration>
2021-05-11 06:50:36 +00:00
<jacoco.skip > true</jacoco.skip>
2021-05-04 08:01:33 +00:00
<keycloak.profile.feature.map_storage > disabled</keycloak.profile.feature.map_storage>
2022-01-26 08:05:14 +00:00
<keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase > false</keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase>
2020-11-20 10:07:07 +00:00
</properties>
<dependencies >
<dependency >
<groupId > junit</groupId>
<artifactId > junit</artifactId>
2021-03-11 15:55:13 +00:00
<scope > compile</scope>
2020-11-20 10:07:07 +00:00
</dependency>
2022-03-24 13:21:36 +00:00
<dependency >
<groupId > net.jcip</groupId>
<artifactId > jcip-annotations</artifactId>
<version > 1.0</version>
<scope > compile</scope>
</dependency>
2020-11-20 10:07:07 +00:00
<dependency >
<groupId > org.hamcrest</groupId>
2021-11-12 15:37:03 +00:00
<artifactId > hamcrest</artifactId>
2020-11-20 10:07:07 +00:00
<scope > test</scope>
</dependency>
<dependency >
<groupId > log4j</groupId>
<artifactId > log4j</artifactId>
</dependency>
<dependency >
<groupId > org.slf4j</groupId>
<artifactId > slf4j-api</artifactId>
</dependency>
<dependency >
<groupId > org.slf4j</groupId>
2023-05-05 11:57:45 +00:00
<artifactId > slf4j-reload4j</artifactId>
2020-11-20 10:07:07 +00:00
</dependency>
<dependency >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-services</artifactId>
</dependency>
<dependency >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-server-spi-private</artifactId>
</dependency>
<dependency >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-server-spi</artifactId>
</dependency>
2020-11-30 07:53:31 +00:00
<dependency >
<groupId > org.keycloak.testsuite</groupId>
<artifactId > integration-arquillian-tests-base</artifactId>
<version > ${project.version}</version>
</dependency>
2020-11-20 10:07:07 +00:00
<dependency >
<groupId > ${jdbc.mvn.groupId}</groupId>
<artifactId > ${jdbc.mvn.artifactId}</artifactId>
<version > ${jdbc.mvn.version}</version>
<scope > test</scope>
</dependency>
<dependency >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-model-jpa</artifactId>
</dependency>
<dependency >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-model-infinispan</artifactId>
</dependency>
<dependency >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-model-map</artifactId>
</dependency>
<dependency >
<groupId > org.keycloak.testsuite</groupId>
<artifactId > integration-arquillian-testsuite-providers</artifactId>
<version > ${project.version}</version>
</dependency>
2021-06-26 15:35:40 +00:00
<dependency >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-model-map-hot-rod</artifactId>
</dependency>
2022-02-02 09:30:47 +00:00
<dependency >
<groupId > org.keycloak</groupId>
<artifactId > keycloak-model-map-ldap</artifactId>
</dependency>
2021-06-26 15:35:40 +00:00
<dependency >
<groupId > org.infinispan</groupId>
2023-01-19 16:59:04 +00:00
<artifactId > infinispan-core-jakarta</artifactId>
2021-06-26 15:35:40 +00:00
</dependency>
2022-04-22 19:43:01 +00:00
<dependency >
<groupId > org.postgresql</groupId>
<artifactId > postgresql</artifactId>
2022-11-29 23:04:56 +00:00
<version > ${postgresql-jdbc.version}</version>
2022-04-22 19:43:01 +00:00
</dependency>
2022-08-02 13:49:17 +00:00
<dependency >
<groupId > org.testcontainers</groupId>
<artifactId > testcontainers</artifactId>
<version > ${testcontainers.version}</version>
<scope > test</scope>
</dependency>
2022-10-17 10:29:42 +00:00
<dependency >
<groupId > org.testcontainers</groupId>
<artifactId > postgresql</artifactId>
<version > ${testcontainers.version}</version>
<scope > test</scope>
</dependency>
2023-03-07 17:51:19 +00:00
<!-- annotations needed to avoid compile time warnings about enums constants -->
<dependency >
<groupId > org.infinispan</groupId>
<artifactId > infinispan-component-annotations</artifactId>
<scope > provided</scope>
</dependency>
2020-11-20 10:07:07 +00:00
</dependencies>
<build >
<plugins >
2021-05-11 06:50:36 +00:00
<plugin >
<groupId > org.jacoco</groupId>
<artifactId > jacoco-maven-plugin</artifactId>
<version > 0.8.7</version>
<executions >
<execution >
<goals >
<goal > prepare-agent</goal>
</goals>
<configuration >
<append > true</append>
<includes >
<include > org/keycloak/**/*</include>
</includes>
</configuration>
</execution>
<execution >
<id > report</id>
<phase > test</phase>
<goals >
<goal > report</goal>
</goals>
</execution>
</executions>
</plugin>
2020-11-20 10:07:07 +00:00
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-surefire-plugin</artifactId>
<configuration >
2023-01-31 17:54:43 +00:00
<!-- See also https://github.com/wildfly/wildfly - core/blob/7e5624cf92ebe4b64a4793a8c0b2a340c0d6d363/core - feature - pack/common/src/main/resources/content/bin/common.sh#L57 - L60 -->
2023-03-03 08:40:57 +00:00
<argLine > @{argLine} -Xmx1536m -XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED</argLine>
2020-11-20 10:07:07 +00:00
<systemPropertyVariables >
<!-- keycloak.model.parameters lists parameter classes from
org.keycloak.model.parameters package and determine enabled providers -->
<keycloak.model.parameters > ${keycloak.model.parameters}</keycloak.model.parameters>
<keycloak.connectionsJpa.default.driver > ${keycloak.connectionsJpa.driver}</keycloak.connectionsJpa.default.driver>
<keycloak.connectionsJpa.default.database > ${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.default.database>
<keycloak.connectionsJpa.default.user > ${keycloak.connectionsJpa.user}</keycloak.connectionsJpa.default.user>
<keycloak.connectionsJpa.default.password > ${keycloak.connectionsJpa.password}</keycloak.connectionsJpa.default.password>
<keycloak.connectionsJpa.default.url > ${keycloak.connectionsJpa.url}</keycloak.connectionsJpa.default.url>
2022-04-22 19:43:01 +00:00
<keycloak.map.storage.connectionsJpa.url > ${keycloak.map.storage.connectionsJpa.url}</keycloak.map.storage.connectionsJpa.url>
<keycloak.map.storage.connectionsJpa.user > ${keycloak.map.storage.connectionsJpa.user}</keycloak.map.storage.connectionsJpa.user>
<keycloak.map.storage.connectionsJpa.password > ${keycloak.map.storage.connectionsJpa.password}</keycloak.map.storage.connectionsJpa.password>
2020-11-20 10:07:07 +00:00
<log4j.configuration > file:${project.build.directory}/test-classes/log4j.properties</log4j.configuration> <!-- for the logging to properly work with tests in the 'other' module -->
2021-05-04 08:01:33 +00:00
<keycloak.profile.feature.map_storage > ${keycloak.profile.feature.map_storage}</keycloak.profile.feature.map_storage>
2021-05-26 07:54:28 +00:00
<keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase > ${keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase}</keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase>
2022-02-17 10:22:17 +00:00
<java.util.logging.manager > org.jboss.logmanager.LogManager</java.util.logging.manager>
<org.jboss.logging.provider > log4j</org.jboss.logging.provider>
2022-08-02 13:49:17 +00:00
<infinispan.version > ${infinispan.version}</infinispan.version>
2022-08-29 14:12:28 +00:00
<project.version > ${project.version}</project.version>
2020-11-20 10:07:07 +00:00
</systemPropertyVariables>
2022-08-02 13:49:17 +00:00
<properties >
<property >
<name > listener</name>
<value > org.keycloak.testsuite.model.AfterSuiteListener</value>
</property>
</properties>
2020-11-20 10:07:07 +00:00
</configuration>
</plugin>
2021-03-11 15:55:13 +00:00
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-antrun-plugin</artifactId>
<executions >
<execution >
<phase > process-test-resources</phase>
<goals >
<goal > run</goal>
</goals>
<configuration >
<target >
<delete >
<fileset dir= "${project.build.directory}" includes= "map-*.json" />
<fileset dir= "${project.build.directory}" includes= "map/**/*.json" />
</delete>
</target>
</configuration>
</execution>
</executions>
2022-08-29 14:12:28 +00:00
</plugin>
<plugin >
<artifactId > maven-dependency-plugin</artifactId>
<executions >
<execution >
<id > copy-testsuite-providers-to-model-testsuite</id>
<phase > generate-test-resources</phase>
<goals >
<goal > copy-dependencies</goal>
</goals>
<configuration >
<includeGroupIds > org.keycloak.testsuite</includeGroupIds>
<includeArtifactIds > integration-arquillian-testsuite-providers</includeArtifactIds>
<outputDirectory > ${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
2020-11-20 10:07:07 +00:00
</plugins>
</build>
<profiles >
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa</id>
2020-11-20 10:07:07 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > LegacyJpa</keycloak.model.parameters>
2020-11-20 10:07:07 +00:00
</properties>
</profile>
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa+infinispan</id>
2020-11-20 10:07:07 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > Infinispan,LegacyJpa</keycloak.model.parameters>
2020-11-20 10:07:07 +00:00
</properties>
2021-11-09 10:30:37 +00:00
</profile>
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa+infinispan+client-storage</id>
2021-11-09 10:30:37 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > LegacyJpa,Infinispan,HardcodedClientStorage</keycloak.model.parameters>
2021-11-09 10:30:37 +00:00
</properties>
2020-11-20 10:07:07 +00:00
</profile>
2021-06-26 15:35:40 +00:00
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa+cross-dc-infinispan</id>
2021-06-26 15:35:40 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > CrossDCInfinispan,LegacyJpa</keycloak.model.parameters>
2021-06-26 15:35:40 +00:00
</properties>
</profile>
2021-05-26 07:54:28 +00:00
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa+cross-dc-infinispan-offline-sessions-preloading</id>
2022-01-26 08:05:14 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > CrossDCInfinispan,LegacyJpa</keycloak.model.parameters>
2022-01-26 08:05:14 +00:00
<keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase > true</keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase>
</properties>
</profile>
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa+infinispan-offline-sessions-preloading</id>
2021-05-26 07:54:28 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > Infinispan,LegacyJpa</keycloak.model.parameters>
2022-01-26 08:05:14 +00:00
<keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase > true</keycloak.userSessions.infinispan.preloadOfflineSessionsFromDatabase>
2021-05-26 07:54:28 +00:00
</properties>
</profile>
2020-11-20 10:07:07 +00:00
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa-federation+infinispan</id>
2020-11-20 10:07:07 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > Infinispan,LegacyJpaFederation,TestsuiteUserMapStorage</keycloak.model.parameters>
2020-11-20 10:07:07 +00:00
</properties>
</profile>
2020-12-04 07:33:42 +00:00
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa-federation-backward+infinispan</id>
2020-12-04 07:33:42 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > Infinispan,LegacyJpaFederation,BackwardsCompatibilityUserStorage</keycloak.model.parameters>
2020-12-04 07:33:42 +00:00
</properties>
</profile>
2020-11-20 10:07:07 +00:00
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa-federation</id>
2020-11-20 10:07:07 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > LegacyJpaFederation,TestsuiteUserMapStorage</keycloak.model.parameters>
2020-11-30 07:53:31 +00:00
</properties>
</profile>
2020-12-04 07:33:42 +00:00
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa-federation-backward</id>
2020-12-04 07:33:42 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > LegacyJpaFederation,BackwardsCompatibilityUserStorage</keycloak.model.parameters>
2020-12-04 07:33:42 +00:00
</properties>
</profile>
2021-05-12 11:09:05 +00:00
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa-federation-file-storage</id>
2021-05-12 11:09:05 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > LegacyJpaFederation,TestsuiteUserFileStorage</keycloak.model.parameters>
2021-05-12 11:09:05 +00:00
</properties>
</profile>
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa-federation-file-storage+infinispan</id>
2021-05-12 11:09:05 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > LegacyJpaFederation,TestsuiteUserFileStorage,Infinispan</keycloak.model.parameters>
2021-05-12 11:09:05 +00:00
</properties>
</profile>
2020-11-30 07:53:31 +00:00
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa-federation+ldap</id>
2020-11-30 07:53:31 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > LegacyJpaFederation,LdapUserStorage</keycloak.model.parameters>
2020-11-30 07:53:31 +00:00
</properties>
</profile>
<profile >
2022-02-18 20:10:10 +00:00
<id > legacy-jpa-federation+ldap+infinispan</id>
2020-11-30 07:53:31 +00:00
<properties >
2022-02-18 20:10:10 +00:00
<keycloak.model.parameters > LegacyJpaFederation,LdapUserStorage,Infinispan</keycloak.model.parameters>
2020-11-20 10:07:07 +00:00
</properties>
2021-03-11 15:55:13 +00:00
</profile>
<profile >
<id > map</id>
<properties >
2021-05-04 08:01:33 +00:00
<keycloak.profile.feature.map_storage > enabled</keycloak.profile.feature.map_storage>
2022-10-05 12:13:10 +00:00
<keycloak.model.parameters > Map,ConcurrentHashMapStorage</keycloak.model.parameters>
2020-11-20 10:07:07 +00:00
</properties>
</profile>
2021-06-26 15:35:40 +00:00
2023-02-07 13:59:23 +00:00
<profile >
<id > file</id>
<properties >
<keycloak.profile.feature.map_storage > enabled</keycloak.profile.feature.map_storage>
<keycloak.model.parameters > Map,FileMapStorage</keycloak.model.parameters>
</properties>
</profile>
2021-06-26 15:35:40 +00:00
<profile >
<id > hot-rod</id>
<properties >
<keycloak.profile.feature.map_storage > enabled</keycloak.profile.feature.map_storage>
2022-10-05 12:13:10 +00:00
<keycloak.model.parameters > Map,HotRodMapStorage</keycloak.model.parameters>
2021-06-26 15:35:40 +00:00
</properties>
</profile>
2022-02-02 09:30:47 +00:00
<profile >
<id > map-ldap</id>
<properties >
<keycloak.profile.feature.map_storage > enabled</keycloak.profile.feature.map_storage>
2022-10-05 12:13:10 +00:00
<keycloak.model.parameters > Map,LdapMapStorage</keycloak.model.parameters>
2022-02-02 09:30:47 +00:00
</properties>
</profile>
2022-04-22 19:43:01 +00:00
<profile >
<id > map-jpa</id>
<properties >
<keycloak.profile.feature.map_storage > enabled</keycloak.profile.feature.map_storage>
<keycloak.model.parameters > Map,JpaMapStorage</keycloak.model.parameters>
</properties>
</profile>
2022-12-17 07:50:21 +00:00
<profile >
<id > map-jpa-cockroachdb</id>
<properties >
<keycloak.profile.feature.map_storage > enabled</keycloak.profile.feature.map_storage>
<keycloak.model.parameters > Map,JpaMapStorageCockroachdb</keycloak.model.parameters>
</properties>
</profile>
2022-04-28 15:59:15 +00:00
<profile >
<id > .asyncProfiler</id>
<activation >
<property > <name > libasyncProfilerPath</name> </property>
</activation>
<properties >
<asyncProfiler.event > cpu</asyncProfiler.event>
<asyncProfiler.file > target/profile.html</asyncProfiler.file>
<argLine > -agentpath:${libasyncProfilerPath}=start,event=${asyncProfiler.event},file=${asyncProfiler.file}</argLine>
</properties>
</profile>
2020-11-20 10:07:07 +00:00
</profiles>
2021-05-12 11:09:05 +00:00
</project>