Keycloak

Форк
0
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 container
436
             profile 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\ &lt;&lt;&lt;\ $'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

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.