Skip to content

Commit 61d4fad

Browse files
committed
Add Unit Test
1 parent 389745f commit 61d4fad

File tree

2 files changed

+73
-1
lines changed

2 files changed

+73
-1
lines changed

doma-spring-boot-autoconfigure/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@
4646
<artifactId>junit</artifactId>
4747
<scope>test</scope>
4848
</dependency>
49+
<dependency>
50+
<groupId>com.h2database</groupId>
51+
<artifactId>h2</artifactId>
52+
<scope>test</scope>
53+
</dependency>
4954
</dependencies>
5055

5156
</project>

doma-spring-boot-autoconfigure/src/test/java/org/seasar/doma/boot/autoconfigure/DomaAutoConfigurationTest.java

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,75 @@
1515
*/
1616
package org.seasar.doma.boot.autoconfigure;
1717

18+
import org.junit.After;
19+
import org.junit.Before;
20+
import org.junit.Test;
21+
import org.seasar.doma.jdbc.*;
22+
import org.seasar.doma.jdbc.dialect.MysqlDialect;
23+
import org.seasar.doma.jdbc.dialect.StandardDialect;
24+
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
25+
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
26+
import org.springframework.context.annotation.Bean;
27+
import org.springframework.context.annotation.Configuration;
28+
import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy;
29+
1830
import static org.junit.Assert.*;
31+
import static org.hamcrest.CoreMatchers.*;
1932

2033
public class DomaAutoConfigurationTest {
34+
AnnotationConfigApplicationContext context;
35+
36+
@Before
37+
public void setUp() {
38+
this.context = new AnnotationConfigApplicationContext();
39+
}
40+
41+
@Test
42+
public void testAutoRegisteredConfig() {
43+
this.context.register(DomaAutoConfiguration.class,
44+
DataSourceAutoConfiguration.class);
45+
this.context.refresh();
46+
Config config = this.context.getBean(Config.class);
47+
assertThat(config, is(notNullValue()));
48+
assertThat(config.getDataSource(),
49+
is(instanceOf(TransactionAwareDataSourceProxy.class)));
50+
assertThat(config.getDialect(), is(instanceOf(StandardDialect.class)));
51+
assertThat(config.getSqlFileRepository(),
52+
is(instanceOf(GreedyCacheSqlFileRepository.class)));
53+
assertThat(config.getNaming(), is(Naming.DEFAULT));
54+
assertThat(config.getJdbcLogger(), is(instanceOf(UtilLoggingJdbcLogger.class)));
55+
}
56+
57+
@Test
58+
public void testConfigWithDomaConfigBuilder() {
59+
this.context.register(ConfigBuilderConfigure.class, DomaAutoConfiguration.class,
60+
DataSourceAutoConfiguration.class);
61+
this.context.refresh();
62+
Config config = this.context.getBean(Config.class);
63+
assertThat(config, is(notNullValue()));
64+
assertThat(config.getDataSource(),
65+
is(instanceOf(TransactionAwareDataSourceProxy.class)));
66+
assertThat(config.getDialect(), is(instanceOf(MysqlDialect.class)));
67+
assertThat(config.getSqlFileRepository(),
68+
is(instanceOf(NoCacheSqlFileRepository.class)));
69+
assertThat(config.getNaming(), is(Naming.SNAKE_UPPER_CASE));
70+
assertThat(config.getJdbcLogger(), is(instanceOf(UtilLoggingJdbcLogger.class)));
71+
}
72+
73+
@After
74+
public void tearDown() {
75+
if (this.context != null) {
76+
this.context.close();
77+
}
78+
}
2179

22-
}
80+
@Configuration
81+
public static class ConfigBuilderConfigure {
82+
@Bean
83+
DomaConfigBuilder myDomaConfigBuilder() {
84+
return new DomaConfigBuilder().dialect(new MysqlDialect())
85+
.sqlFileRepository(new NoCacheSqlFileRepository())
86+
.naming(Naming.SNAKE_UPPER_CASE);
87+
}
88+
}
89+
}

0 commit comments

Comments
 (0)