Keycloak
660 строк · 33.8 Кб
1<?xml version='1.0' encoding='UTF-8'?>
2<!--
3~ Copyright 2016 Red Hat, Inc. and/or its affiliates
4~ and other contributors as indicated by the @author tags.
5~
6~ Licensed under the Apache License, Version 2.0 (the "License");
7~ you may not use this file except in compliance with the License.
8~ You may obtain a copy of the License at
9~
10~ http://www.apache.org/licenses/LICENSE-2.0
11~
12~ Unless required by applicable law or agreed to in writing, software
13~ distributed under the License is distributed on an "AS IS" BASIS,
14~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15~ See the License for the specific language governing permissions and
16~ limitations under the License.
17-->
18<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">19
20<modelVersion>4.0.0</modelVersion>21
22<parent>23<groupId>org.keycloak</groupId>24<artifactId>keycloak-testsuite-pom</artifactId>25<version>999.0.0-SNAPSHOT</version>26<relativePath>../pom.xml</relativePath>27</parent>28
29<groupId>org.keycloak.testsuite</groupId>30<artifactId>integration-arquillian</artifactId>31<packaging>pom</packaging>32
33<name>Keycloak Arquillian Integration TestSuite</name>34
35<properties>36
37<containers.home>${project.build.directory}/containers</containers.home>38<auth.server.java.home>${java.home}</auth.server.java.home>39<app.server.java.home>${java.home}</app.server.java.home>40<app.server>disabled</app.server>41<cache.server.java.home>${java.home}</cache.server.java.home>42
43<!--component versions-->44<arquillian-core.version>1.8.0.Final</arquillian-core.version>45<!--the version of shrinkwrap_resolver should align with the version in arquillian-bom-->46<shrinkwrap-resolver.version>3.2.1</shrinkwrap-resolver.version>47<selenium.version>3.14.0</selenium.version>48<arquillian-drone.version>2.5.5</arquillian-drone.version>49<arquillian-graphene.version>3.0.0-alpha.3</arquillian-graphene.version>50<arquillian-wildfly-container.version>3.0.1.Final</arquillian-wildfly-container.version>51<arquillian-wls-container.version>1.0.1.Final</arquillian-wls-container.version>52<arquillian-jetty9-container.version>1.0.0.CR3</arquillian-jetty9-container.version>53<arquillian-container-karaf.version>2.2.0.Final</arquillian-container-karaf.version>54<arquillian-infinispan-container.version>1.2.0.Beta3</arquillian-infinispan-container.version>55<arquillian-tomcat8-container-version>1.1.0.Final</arquillian-tomcat8-container-version>56<arquillian-tomcat9-container-version>1.1.0.Final</arquillian-tomcat9-container-version>57<undertow.version>${undertow-jakarta.version}</undertow.version>58<undertow-embedded.version>1.0.0.Final</undertow-embedded.version>59<version.org.wildfly.extras.creaper>1.6.1</version.org.wildfly.extras.creaper>60<appium.client.version>6.1.0</appium.client.version>61<jakarta.persistence-legacy.version>2.2.3</jakarta.persistence-legacy.version>62<smallrye.jandex.version>3.0.5</smallrye.jandex.version>63
64<!--migration properties-->65<migration.70.version>1.9.8.Final</migration.70.version>66<migration.71.version>2.5.5.Final</migration.71.version>67<migration.72.version>3.4.3.Final</migration.72.version>68<migration.73.version>4.8.3.Final</migration.73.version>69
70<!-- By default, skip docker-maven-plugin when running base tests-->71<docker.database.skip>true</docker.database.skip>72<docker.database.postStart>/bin/true</docker.database.postStart>73<docker.database.wait-for-log-regex>NEVER-MATCHING-REGEX</docker.database.wait-for-log-regex>74<docker.database.cmd>NEVER-USED-CMD</docker.database.cmd>75<docker.database.shmsize>67108864</docker.database.shmsize>76
77<jdbc.mvn.groupId>com.h2database</jdbc.mvn.groupId>78<jdbc.mvn.artifactId>h2</jdbc.mvn.artifactId>79<jdbc.mvn.version>${h2.version}</jdbc.mvn.version>80
81<keycloak.connectionsJpa.schema>DEFAULT</keycloak.connectionsJpa.schema>82
83<dballocator.skip>true</dballocator.skip>84</properties>85
86<dependencyManagement>87<dependencies>88
89<!-- Selenium Server -->90<dependency>91<groupId>org.seleniumhq.selenium</groupId>92<artifactId>selenium-server</artifactId>93<version>${selenium.version}</version>94</dependency>95
96<!-- Selenium dependencies -->97<dependency>98<groupId>org.seleniumhq.selenium</groupId>99<artifactId>selenium-api</artifactId>100<version>${selenium.version}</version>101</dependency>102<dependency>103<groupId>org.seleniumhq.selenium</groupId>104<artifactId>selenium-java</artifactId>105<version>${selenium.version}</version>106</dependency>107<dependency>108<groupId>org.seleniumhq.selenium</groupId>109<artifactId>selenium-support</artifactId>110<version>${selenium.version}</version>111</dependency>112<dependency>113<groupId>org.seleniumhq.selenium</groupId>114<artifactId>selenium-leg-rc</artifactId>115<version>${selenium.version}</version>116</dependency>117<dependency>118<groupId>org.seleniumhq.selenium</groupId>119<artifactId>lift</artifactId>120<version>${selenium.version}</version>121</dependency>122
123<!-- Drivers -->124<dependency>125<groupId>org.seleniumhq.selenium</groupId>126<artifactId>selenium-chrome-driver</artifactId>127<version>${selenium.version}</version>128</dependency>129<dependency>130<groupId>org.seleniumhq.selenium</groupId>131<artifactId>selenium-firefox-driver</artifactId>132<version>${selenium.version}</version>133</dependency>134<dependency>135<groupId>org.seleniumhq.selenium</groupId>136<artifactId>selenium-ie-driver</artifactId>137<version>${selenium.version}</version>138</dependency>139<dependency>140<groupId>org.seleniumhq.selenium</groupId>141<artifactId>selenium-edge-driver</artifactId>142<version>${selenium.version}</version>143</dependency>144<dependency>145<groupId>org.seleniumhq.selenium</groupId>146<artifactId>selenium-safari-driver</artifactId>147<version>${selenium.version}</version>148</dependency>149<dependency>150<groupId>org.seleniumhq.selenium</groupId>151<artifactId>selenium-remote-driver</artifactId>152<version>${selenium.version}</version>153</dependency>154<dependency>155<groupId>org.seleniumhq.selenium</groupId>156<artifactId>selenium-opera-driver</artifactId>157<version>${selenium.version}</version>158</dependency>159
160<dependency>161<groupId>org.jboss.arquillian</groupId>162<artifactId>arquillian-bom</artifactId>163<version>${arquillian-core.version}</version>164<type>pom</type>165<scope>import</scope>166</dependency>167<dependency>168<groupId>org.jboss.shrinkwrap.resolver</groupId>169<artifactId>shrinkwrap-resolver-bom</artifactId>170<version>${shrinkwrap-resolver.version}</version>171<type>pom</type>172<scope>import</scope>173</dependency>174<dependency>175<groupId>org.jboss.arquillian.extension</groupId>176<artifactId>arquillian-drone-bom</artifactId>177<version>${arquillian-drone.version}</version>178<type>pom</type>179<scope>import</scope>180</dependency>181<dependency>182<groupId>org.infinispan.arquillian.container</groupId>183<artifactId>infinispan-arquillian-impl</artifactId>184<version>${arquillian-infinispan-container.version}</version>185</dependency>186<dependency>187<groupId>org.wildfly.arquillian</groupId>188<artifactId>wildfly-arquillian-container-managed</artifactId>189<version>${arquillian-wildfly-container.version}</version>190</dependency>191<dependency>192<groupId>org.wildfly.arquillian</groupId>193<artifactId>wildfly-arquillian-container-remote</artifactId>194<version>${arquillian-wildfly-container.version}</version>195</dependency>196<dependency>197<groupId>org.wildfly.arquillian</groupId>198<artifactId>wildfly-arquillian-container-domain-managed</artifactId>199<version>${arquillian-wildfly-container.version}</version>200</dependency>201<dependency>202<groupId>org.jboss.arquillian.container</groupId>203<artifactId>arquillian-wls-remote-12.1.x</artifactId>204<version>${arquillian-wls-container.version}</version>205<scope>test</scope>206</dependency>207<dependency>208<groupId>org.jboss.arquillian.container</groupId>209<artifactId>undertow-embedded</artifactId>210<version>${undertow-embedded.version}</version>211</dependency>212<dependency>213<groupId>org.keycloak</groupId>214<artifactId>keycloak-rest-admin-ui-ext</artifactId>215</dependency>216
217<!-- Fuse adapter tests dependencies -->218<dependency>219<groupId>org.jboss.arquillian.container</groupId>220<artifactId>arquillian-container-karaf-managed</artifactId>221<version>${arquillian-container-karaf.version}</version>222</dependency>223<dependency>224<groupId>org.jboss.arquillian.container</groupId>225<artifactId>arquillian-container-osgi</artifactId>226<version>${arquillian-container-karaf.version}</version>227<exclusions>228<exclusion>229<groupId>com.google.guava</groupId>230<artifactId>guava</artifactId>231</exclusion>232</exclusions>233</dependency>234<!-- Fuse adapter tests dependencies END -->235
236</dependencies>237</dependencyManagement>238
239<build>240<pluginManagement>241<plugins>242<plugin>243<groupId>org.keycloak</groupId>244<artifactId>db-allocator-plugin</artifactId>245<version>${project.version}</version>246<configuration>247<propertyDatabase>keycloak.connectionsJpa.database</propertyDatabase>248<propertyDriver>keycloak.connectionsJpa.driver</propertyDriver>249<propertyURL>keycloak.connectionsJpa.url</propertyURL>250<propertyUser>keycloak.connectionsJpa.user</propertyUser>251<propertyPassword>keycloak.connectionsJpa.password</propertyPassword>252</configuration>253</plugin>254<plugin>255<artifactId>maven-surefire-plugin</artifactId>256<configuration>257<failIfNoTests>false</failIfNoTests>258</configuration>259</plugin>260<plugin>261<groupId>org.codehaus.mojo</groupId>262<artifactId>xml-maven-plugin</artifactId>263<version>1.0.1</version>264</plugin>265<plugin>266<artifactId>maven-resources-plugin</artifactId>267<version>3.0.1</version>268</plugin>269<plugin>270<groupId>org.commonjava.maven.plugins</groupId>271<artifactId>directory-maven-plugin</artifactId>272<version>0.3.1</version>273</plugin>274<plugin>275<groupId>com.googlecode.maven-download-plugin</groupId>276<artifactId>download-maven-plugin</artifactId>277<version>1.4.1</version>278</plugin>279<plugin>280<groupId>org.codehaus.mojo</groupId>281<artifactId>keytool-maven-plugin</artifactId>282<version>1.5</version>283</plugin>284</plugins>285</pluginManagement>286
287<plugins>288<plugin>289<groupId>org.apache.maven.plugins</groupId>290<artifactId>maven-enforcer-plugin</artifactId>291<version>${version.enforcer.plugin}</version>292<executions>293<execution>294<id>enforce-maven</id>295<goals>296<goal>enforce</goal>297</goals>298<configuration>299<rules>300<requireMavenVersion>301<version>3.5.4</version>302</requireMavenVersion>303</rules>304</configuration>305</execution>306<execution>307<id>enforce-maven-for-deploy-phase</id>308<goals>309<goal>enforce</goal>310</goals>311<phase>deploy</phase>312<configuration>313<rules>314<requireMavenVersion>315<version>3.6.0</version>316</requireMavenVersion>317</rules>318</configuration>319</execution>320</executions>321</plugin>322</plugins>323</build>324
325<modules>326<module>test-apps</module>327<module>servers</module>328<module>tests</module>329<module>util</module>330</modules>331
332<profiles>333<profile>334<id>jpa</id>335<build>336<plugins>337<!-- Just allocate the DB now. It will be released after the tests, so the "release" is declared in the base-tests module -->338<plugin>339<groupId>org.keycloak</groupId>340<artifactId>db-allocator-plugin</artifactId>341<inherited>false</inherited>342<executions>343<execution>344<id>allocate-db</id>345<goals>346<goal>allocate</goal>347</goals>348</execution>349</executions>350</plugin>351</plugins>352</build>353</profile>354
355<profile>356<id>test-70-migration</id>357<properties>358<migrated.auth.server.version>${migration.70.version}</migrated.auth.server.version>359</properties>360<build>361<pluginManagement>362<plugins>363<plugin>364<artifactId>maven-surefire-plugin</artifactId>365<configuration>366<systemPropertyVariables>367<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>368</systemPropertyVariables>369</configuration>370</plugin>371</plugins>372</pluginManagement>373</build>374</profile>375<profile>376<id>test-71-migration</id>377<properties>378<migrated.auth.server.version>${migration.71.version}</migrated.auth.server.version>379</properties>380<build>381<pluginManagement>382<plugins>383<plugin>384<artifactId>maven-surefire-plugin</artifactId>385<configuration>386<systemPropertyVariables>387<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>388</systemPropertyVariables>389</configuration>390</plugin>391</plugins>392</pluginManagement>393</build>394</profile>395<profile>396<id>test-72-migration</id>397<properties>398<migrated.auth.server.version>${migration.72.version}</migrated.auth.server.version>399</properties>400<build>401<pluginManagement>402<plugins>403<plugin>404<artifactId>maven-surefire-plugin</artifactId>405<configuration>406<systemPropertyVariables>407<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>408</systemPropertyVariables>409</configuration>410</plugin>411</plugins>412</pluginManagement>413</build>414</profile>415<profile>416<id>test-73-migration</id>417<properties>418<migrated.auth.server.version>${migration.73.version}</migrated.auth.server.version>419</properties>420<build>421<pluginManagement>422<plugins>423<plugin>424<artifactId>maven-surefire-plugin</artifactId>425<configuration>426<systemPropertyVariables>427<migrated.auth.server.version>${migrated.auth.server.version}</migrated.auth.server.version>428</systemPropertyVariables>429</configuration>430</plugin>431</plugins>432</pluginManagement>433</build>434</profile>435<!-- Specifies default DB properties, which are used for test with embedded H2. Those are overriden when testing with any docker container436profile like "db-mysql" or any dballocator profile. Also those can be manually overriden when running the test from CMD -->
437<profile>438<id>db-default-properties</id>439<activation>440<property>441<name>!dballocator.uri</name>442</property>443</activation>444<properties>445<keycloak.connectionsJpa.driver>org.h2.Driver</keycloak.connectionsJpa.driver>446<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>447<keycloak.connectionsJpa.user>sa</keycloak.connectionsJpa.user>448<keycloak.connectionsJpa.password/>449<keycloak.connectionsJpa.url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</keycloak.connectionsJpa.url>450</properties>451</profile>452<profile>453<id>db-mysql</id>454<properties>455<keycloak.storage.connections.vendor>mysql</keycloak.storage.connections.vendor>456<keycloak.connectionsJpa.driver>com.mysql.jdbc.Driver</keycloak.connectionsJpa.driver>457<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>458<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>459<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>460<keycloak.connectionsJpa.url>jdbc:mysql://${auth.server.db.host}/${keycloak.connectionsJpa.database}?allowPublicKeyRetrieval=true</keycloak.connectionsJpa.url>461
462<!-- JDBC properties point to "default" JDBC driver for the particular DB -->463<!-- For EAP testing, it is recommended to override those with system properties pointing to GAV of more appropriate JDBC driver -->464<!-- for the particular EAP version -->465<jdbc.mvn.groupId>com.mysql</jdbc.mvn.groupId>466<jdbc.mvn.artifactId>mysql-connector-j</jdbc.mvn.artifactId>467<jdbc.mvn.version>${mysql-jdbc.version}</jdbc.mvn.version>468<docker.database.image>mysql:${mysql.version}</docker.database.image>469<docker.database.port>3306</docker.database.port>470<docker.database.skip>false</docker.database.skip>471<docker.database.cmd>mysqld</docker.database.cmd>472<docker.database.wait-for-log-regex>(?si)Ready for start up.*ready [^\n]{0,30}connections</docker.database.wait-for-log-regex>473</properties>474</profile>475<profile>476<id>db-allocator-db-mysql</id>477<properties>478<keycloak.storage.connections.vendor>mysql</keycloak.storage.connections.vendor>479<dballocator.type>mysql80</dballocator.type>480<dballocator.skip>false</dballocator.skip>481</properties>482</profile>483<profile>484<id>db-postgres</id>485<properties>486<keycloak.storage.connections.vendor>postgres</keycloak.storage.connections.vendor>487<keycloak.connectionsJpa.driver>org.postgresql.Driver</keycloak.connectionsJpa.driver>488<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>489<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>490<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>491<keycloak.connectionsJpa.url>jdbc:postgresql://${auth.server.db.host}/${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.url>492<!-- JDBC properties point to "default" JDBC driver for the particular DB -->493<!-- For EAP testing, it is recommended to override those with system properties pointing to GAV of more appropriate JDBC driver -->494<!-- for the particular EAP version -->495<jdbc.mvn.groupId>org.postgresql</jdbc.mvn.groupId>496<jdbc.mvn.artifactId>postgresql</jdbc.mvn.artifactId>497<jdbc.mvn.version>${postgresql-jdbc.version}</jdbc.mvn.version>498<docker.database.image>postgres:${postgresql.version}</docker.database.image>499<docker.database.port>5432</docker.database.port>500<docker.database.skip>false</docker.database.skip>501<docker.database.cmd>postgres</docker.database.cmd>502<docker.database.wait-for-log-regex>(?si)Ready for start up.*ready [^\n]{0,30}connections</docker.database.wait-for-log-regex>503</properties>504</profile>505<profile>506<id>db-aurora-postgres</id>507<properties>508<keycloak.storage.connections.vendor>aurora-postgres</keycloak.storage.connections.vendor>509<keycloak.connectionsJpa.driver>software.amazon.jdbc.Driver</keycloak.connectionsJpa.driver>510<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>511<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>512<keycloak.connectionsJpa.password>secret99</keycloak.connectionsJpa.password>513<keycloak.connectionsJpa.jdbcParameters/>514<keycloak.connectionsJpa.url>jdbc:aws-wrapper:postgresql://${auth.server.db.host}/${keycloak.connectionsJpa.database}${keycloak.connectionsJpa.jdbcParameters}</keycloak.connectionsJpa.url>515<!-- JDBC properties point to "default" JDBC driver for the particular DB -->516<!-- For EAP testing, it is recommended to override those with system properties pointing to GAV of more appropriate JDBC driver -->517<!-- for the particular EAP version -->518<jdbc.mvn.groupId>software.amazon.jdbc</jdbc.mvn.groupId>519<jdbc.mvn.artifactId>aws-advanced-jdbc-wrapper</jdbc.mvn.artifactId>520<jdbc.mvn.version>${aws-jdbc-wrapper.version}</jdbc.mvn.version>521</properties>522</profile>523<profile>524<id>db-allocator-db-postgres</id>525<properties>526<keycloak.storage.connections.vendor>postgres</keycloak.storage.connections.vendor>527<dballocator.type>postgresql132</dballocator.type>528<dballocator.skip>false</dballocator.skip>529</properties>530</profile>531<profile>532<id>db-allocator-db-postgresplus</id>533<properties>534<keycloak.storage.connections.vendor>postgres</keycloak.storage.connections.vendor>535<dballocator.type>postgresplus131</dballocator.type>536<dballocator.skip>false</dballocator.skip>537</properties>538</profile>539<profile>540<id>db-mariadb</id>541<properties>542<keycloak.storage.connections.vendor>mariadb</keycloak.storage.connections.vendor>543<keycloak.connectionsJpa.driver>org.mariadb.jdbc.Driver</keycloak.connectionsJpa.driver>544<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>545<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>546<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>547<keycloak.connectionsJpa.url>jdbc:mariadb://${auth.server.db.host}/${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.url>548<!-- JDBC properties point to "default" JDBC driver for the particular DB -->549<!-- For EAP testing, it is recommended to override those with system properties pointing to GAV of more appropriate JDBC driver -->550<!-- for the particular EAP version -->551<jdbc.mvn.groupId>org.mariadb.jdbc</jdbc.mvn.groupId>552<jdbc.mvn.artifactId>mariadb-java-client</jdbc.mvn.artifactId>553<jdbc.mvn.version>${mariadb-jdbc.version}</jdbc.mvn.version>554<docker.database.image>docker.io/mariadb:${mariadb.version}</docker.database.image>555<docker.database.port>3306</docker.database.port>556<docker.database.skip>false</docker.database.skip>557<!-- Need to explicitly enable utf8 as it is not the default settings in the mariadb docker image -->558<docker.database.cmd>--character-set-server=utf8 --collation-server=utf8_unicode_ci</docker.database.cmd>559<docker.database.wait-for-log-regex>(?si)Ready for start up.*ready [^\n]{0,30}connections</docker.database.wait-for-log-regex>560</properties>561</profile>562<profile>563<id>db-allocator-db-mariadb</id>564<properties>565<keycloak.storage.connections.vendor>mariadb</keycloak.storage.connections.vendor>566<dballocator.type>mariadb_galera_103</dballocator.type>567<dballocator.skip>false</dballocator.skip>568</properties>569</profile>570<profile>571<id>db-mssql</id>572<properties>573<docker.database.image>mcr.microsoft.com/mssql/server:${mssql.version}</docker.database.image>574<docker.database.port>1433</docker.database.port>575<docker.database.skip>false</docker.database.skip>576<docker.database.postStart>/opt/mssql-tools/bin/sqlcmd -e -U sa -P vEry5tron9Pwd -d master -Q CREATE\ DATABASE\ ${keycloak.connectionsJpa.database}</docker.database.postStart>577<docker.database.cmd>/bin/sh -c /opt/mssql/bin/sqlservr</docker.database.cmd>578<docker.database.wait-for-log-regex>Recovery is complete. This is an informational message only. No user action is required.</docker.database.wait-for-log-regex>579<keycloak.storage.connections.vendor>mssql</keycloak.storage.connections.vendor>580<keycloak.connectionsJpa.driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</keycloak.connectionsJpa.driver>581<keycloak.connectionsJpa.database>keycloak</keycloak.connectionsJpa.database>582<keycloak.connectionsJpa.user>sa</keycloak.connectionsJpa.user>583<keycloak.connectionsJpa.password>vEry5tron9Pwd</keycloak.connectionsJpa.password>584<keycloak.connectionsJpa.url>jdbc:sqlserver://${auth.server.db.host}:${docker.database.port};databaseName=${keycloak.connectionsJpa.database};integratedSecurity=false;encrypt=false;trustServerCertificate=true;sendStringParametersAsUnicode=false;</keycloak.connectionsJpa.url>585<!-- JDBC properties point to "default" JDBC driver for the particular DB -->586<!-- For EAP testing, it is recommended to override those with system properties pointing to GAV of more appropriate JDBC driver -->587<!-- for the particular EAP version -->588<jdbc.mvn.groupId>com.microsoft.sqlserver</jdbc.mvn.groupId>589<jdbc.mvn.artifactId>mssql-jdbc</jdbc.mvn.artifactId>590<jdbc.mvn.version>${mssql-jdbc.version}</jdbc.mvn.version>591</properties>592</profile>593<profile>594<id>db-allocator-db-mssql2019</id>595<properties>596<keycloak.storage.connections.vendor>mssql</keycloak.storage.connections.vendor>597<dballocator.type>mssql2019</dballocator.type>598<dballocator.skip>false</dballocator.skip>599</properties>600</profile>601<profile>602<id>db-oracle</id>603<properties>604<docker.database.image>docker.io/miquelsi/oracle-19c:${oracledb.version}</docker.database.image>605<docker.database.port>1521</docker.database.port>606<docker.database.shmsize>1073741824</docker.database.shmsize>607<docker.database.skip>false</docker.database.skip>608<docker.database.cmd>/bin/sh -c exec\ $ORACLE_BASE/$RUN_FILE</docker.database.cmd>609<docker.database.wait-for-log-regex>(?si)DATABASE IS READY TO USE</docker.database.wait-for-log-regex>610<keycloak.storage.connections.vendor>oracle</keycloak.storage.connections.vendor>611<keycloak.connectionsJpa.driver>oracle.jdbc.OracleDriver</keycloak.connectionsJpa.driver>612<keycloak.connectionsJpa.database>XE</keycloak.connectionsJpa.database>613<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>614<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>615<keycloak.connectionsJpa.url>jdbc:oracle:thin:@${auth.server.db.host}:${docker.database.port}:${keycloak.connectionsJpa.database}</keycloak.connectionsJpa.url>616
617<docker.database.postStart>bash -c while\ !\ sqlplus\ -L\ SYS/sa@localhost/XE\ AS\ SYSDBA\ <<<\ $'alter\ session\ set\ \"_ORACLE_SCRIPT\"=true;\n\ CREATE\ USER\ ${keycloak.connectionsJpa.user}\ IDENTIFIED\ BY\ ${keycloak.connectionsJpa.password};\n\ GRANT\ CONNECT,\ RESOURCE,\ DBA,\ GRANT\ ANY\ PRIVILEGE,\ UNLIMITED\ TABLESPACE\ TO\ ${keycloak.connectionsJpa.user};\n';\ do\ sleep\ 5;\ done</docker.database.postStart>618<!-- JDBC properties point to "default" JDBC driver for the particular DB -->619<!-- For EAP testing, it is recommended to override those with system properties pointing to GAV of more appropriate JDBC driver -->620<!-- for the particular EAP version -->621<jdbc.mvn.groupId>com.oracle.database.jdbc</jdbc.mvn.groupId>622<jdbc.mvn.artifactId>ojdbc11</jdbc.mvn.artifactId>623<jdbc.mvn.version>${oracle-jdbc.version}</jdbc.mvn.version>624</properties>625</profile>626<profile>627<id>db-allocator-db-oracleRAC</id>628<properties>629<keycloak.storage.connections.vendor>oracle</keycloak.storage.connections.vendor>630<dballocator.type>oracle19cRAC</dballocator.type>631<dballocator.skip>false</dballocator.skip>632</properties>633</profile>634
635<!-- Workaround for issues related to PhantomJS in some newer linux environment. See for example here for more details https://github.com/nodejs/node/issues/43132 -->636<profile>637<id>phantomjs-openssl-workaround</id>638<activation>639<os>640<family>unix</family>641</os>642</activation>643<build>644<pluginManagement>645<plugins>646<plugin>647<artifactId>maven-surefire-plugin</artifactId>648<configuration>649<environmentVariables>650<OPENSSL_CONF>/dev/null</OPENSSL_CONF>651</environmentVariables>652</configuration>653</plugin>654</plugins>655</pluginManagement>656</build>657</profile>658</profiles>659
660</project>661