1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.testcontainers;
17
18 import javax.sql.DataSource;
19
20 import org.apache.ibatis.datasource.unpooled.UnpooledDataSource;
21 import org.testcontainers.containers.PostgreSQLContainer;
22
23 public class PgContainer {
24
25 private static final String DB_NAME = "mybatis_test";
26 private static final String USERNAME = "u";
27 private static final String PASSWORD = "p";
28 private static final String DRIVER = "org.postgresql.Driver";
29
30 private static final PostgreSQLContainer<?> INSTANCE = initContainer();
31
32 private static PostgreSQLContainer<?> initContainer() {
33 @SuppressWarnings("resource")
34 PostgreSQLContainer<?> container = new PostgreSQLContainer<>().withDatabaseName(DB_NAME).withUsername(USERNAME)
35 .withPassword(PASSWORD);
36 container.start();
37 return container;
38 }
39
40 public static DataSource getUnpooledDataSource() {
41 return new UnpooledDataSource(PgContainer.DRIVER, INSTANCE.getJdbcUrl(), PgContainer.USERNAME,
42 PgContainer.PASSWORD);
43 }
44
45 private PgContainer() {
46 }
47 }