org.keycloak.testsuite performance 4.0.0.CR1-SNAPSHOT ../pom.xml 4.0.0 performance-tests Keycloak Performance TestSuite - Tests docker-compose singlenode ${provisioner}/4cpus/${deployment} 2u2c oidc-login-logout ${project.basedir}/parameters/provisioning/${provisioning.properties}.properties ${project.basedir}/parameters/datasets/${dataset}.properties ${project.basedir}/parameters/test/${test.properties}.properties ${project.build.directory}/provisioned-system.properties https://downloads.jboss.org/keycloak-qe/${server.version} 1 1.8 1.8 2.11.7 2.1.7 2.2.1 3.2.2 3.3.0.Final keycloak.OIDCLoginAndLogoutSimulation true org.keycloak keycloak-adapter-core org.keycloak keycloak-adapter-spi org.keycloak keycloak-core org.keycloak keycloak-common com.fasterxml.jackson.core jackson-core com.fasterxml.jackson.core jackson-databind org.keycloak keycloak-admin-client org.jboss.spec.javax.ws.rs jboss-jaxrs-api_2.0_spec org.jboss.logging jboss-logging org.jboss.resteasy resteasy-jaxrs org.jboss.resteasy resteasy-client org.jboss.resteasy resteasy-jackson2-provider org.apache.httpcomponents httpclient org.scala-lang scala-library ${scala.version} io.gatling.highcharts gatling-charts-highcharts ${gatling.version} src/test/resources true org.apache.maven.plugins maven-enforcer-plugin enforce-teardown-before-clean enforce pre-clean ${provisioned.system.properties.file} true org.codehaus.mojo properties-maven-plugin 1.0.0 read-parameters initialize read-project-properties ${provisioning.properties.file} ${dataset.properties.file} ${test.properties.file} read-existing-provisioned-system-properties initialize read-project-properties ${project.build.directory}/provisioned-system.properties true net.alchim31.maven scala-maven-plugin ${scala-maven-plugin.version} add-source add-source compile compile testCompile -target:jvm-1.8 -deprecation -feature -unchecked -language:implicitConversions -language:postfixOps io.gatling gatling-maven-plugin ${gatling-plugin.version} ${project.build.testOutputDirectory} ${gatling.skip.run} true true -Dproject.build.directory=${project.build.directory} -Dkeycloak.server.uris=${keycloak.frontend.servers} -DnumOfRealms=${numOfRealms} -DusersPerRealm=${usersPerRealm} -DclientsPerRealm=${clientsPerRealm} -DrealmRoles=${realmRoles} -DrealmRolesPerUser=${realmRolesPerUser} -DclientRolesPerUser=${clientRolesPerUser} -DclientRolesPerClient=${clientRolesPerClient} -DhashIterations=${hashIterations} -DusersPerSec=${usersPerSec} -DrampUpPeriod=${rampUpPeriod} -DwarmUpPeriod=${warmUpPeriod} -DmeasurementPeriod=${measurementPeriod} -DfilterResults=${filterResults} -DuserThinkTime=${userThinkTime} -DrefreshTokenPeriod=${refreshTokenPeriod} -DrefreshTokenCount=${refreshTokenCount} -DbadLoginAttempts=${badLoginAttempts} integration-test integration-test org.codehaus.mojo exec-maven-plugin ${project.basedir} cluster cluster crossdc crossdc provision ${project.basedir} ${project.build.directory} org.apache.maven.plugins maven-antrun-plugin prepare-provisioning generate-resources run org.codehaus.mojo exec-maven-plugin provision process-test-resources exec ./${provisioner}.sh ${provisioner} ${deployment} provision ${project.version} ${management.user} ${management.user.password} ${keycloak.scale} ${keycloak.dc1.scale} ${keycloak.dc2.scale} ${keycloak.docker.cpusets} ${keycloak.dc1.docker.cpusets} ${keycloak.dc2.docker.cpusets} ${keycloak.docker.memlimit} ${keycloak.jvm.memory} ${keycloak.http.max-connections} ${keycloak.ajp.max-connections} ${keycloak.worker.io-threads} ${keycloak.worker.task-max-threads} ${keycloak.ds.min-pool-size} ${keycloak.ds.max-pool-size} ${keycloak.ds.pool-prefill} ${keycloak.ds.ps-cache-size} ${db.docker.cpusets} ${db.dc1.docker.cpusets} ${db.dc2.docker.cpusets} ${db.docker.memlimit} ${db.max.connections} ${lb.docker.cpusets} ${lb.dc1.docker.cpusets} ${lb.dc2.docker.cpusets} ${lb.docker.memlimit} ${lb.jvm.memory} ${lb.http.max-connections} ${lb.worker.io-threads} ${lb.worker.task-max-threads} ${infinispan.dc1.docker.cpusets} ${infinispan.dc2.docker.cpusets} ${infinispan.docker.memlimit} ${infinispan.jvm.memory} org.codehaus.mojo properties-maven-plugin 1.0.0 read-new-provisioned-system-properties read-project-properties pre-integration-test ${project.build.directory}/provisioned-system.properties generate-data org.codehaus.mojo exec-maven-plugin generate-data pre-integration-test exec java ${project.build.directory} -classpath -DnumOfRealms=${numOfRealms} -DusersPerRealm=${usersPerRealm} -DclientsPerRealm=${clientsPerRealm} -DrealmRoles=${realmRoles} -DrealmRolesPerUser=${realmRolesPerUser} -DclientRolesPerUser=${clientRolesPerUser} -DclientRolesPerClient=${clientRolesPerClient} -DhashIterations=${hashIterations} org.keycloak.performance.RealmsConfigurationBuilder load-data pre-integration-test exec java ${project.build.directory} -classpath -Dkeycloak.server.uris=${keycloak.frontend.servers} -DnumOfWorkers=${numOfWorkers} org.keycloak.performance.RealmsConfigurationLoader benchmark-realms.json export-dump org.codehaus.mojo exec-maven-plugin export-dump pre-integration-test exec ./${provisioner}.sh ${provisioner} ${deployment} export-dump ${dataset.properties.file} import-dump org.codehaus.mojo exec-maven-plugin import-dump pre-integration-test exec ./${provisioner}.sh ${provisioner} ${deployment} import-dump ${dataset.properties.file} ${db.dump.download.site} test false collect org.codehaus.mojo exec-maven-plugin collect-artifacts post-integration-test exec ./${provisioner}.sh ${provisioner} ${deployment} collect teardown true org.codehaus.mojo exec-maven-plugin teardown post-integration-test exec ./${provisioner}.sh ${provisioner} ${deployment} teardown ${delete.data} keep-data false monitoring org.codehaus.mojo exec-maven-plugin monitoring-on pre-integration-test exec ./${provisioner}.sh ${provisioner} monitoring provision ${monitoring.docker.cpusets} monitoring-off false org.codehaus.mojo exec-maven-plugin monitoring-off post-integration-test exec ./${provisioner}.sh ${provisioner} monitoring teardown ${delete.monitoring.data} delete-monitoring-data true sar false false org.codehaus.mojo exec-maven-plugin start-sar pre-integration-test exec ./sar.sh start stop-sar post-integration-test exec ./sar.sh stop ${gnuplot} ${bzip} gnuplot true