|
16 | 16 | package org.seasar.doma.boot.autoconfigure; |
17 | 17 |
|
18 | 18 | import static org.hamcrest.CoreMatchers.*; |
19 | | -import static org.junit.Assert.assertThat; |
| 19 | +import static org.junit.Assert.*; |
20 | 20 |
|
21 | 21 | import java.sql.SQLException; |
22 | 22 | import java.sql.SQLTimeoutException; |
23 | 23 | import java.util.Collections; |
| 24 | +import java.util.Map; |
24 | 25 |
|
25 | 26 | import javax.sql.DataSource; |
26 | 27 |
|
|
29 | 30 | import org.junit.Test; |
30 | 31 | import org.seasar.doma.boot.DomaPersistenceExceptionTranslator; |
31 | 32 | import org.seasar.doma.jdbc.*; |
| 33 | +import org.seasar.doma.jdbc.criteria.Entityql; |
| 34 | +import org.seasar.doma.jdbc.criteria.NativeSql; |
32 | 35 | import org.seasar.doma.jdbc.dialect.Dialect; |
33 | 36 | import org.seasar.doma.jdbc.dialect.MysqlDialect; |
34 | 37 | import org.seasar.doma.jdbc.dialect.PostgresDialect; |
@@ -194,6 +197,29 @@ public void testSQLExceptionTranslator() { |
194 | 197 | } |
195 | 198 | } |
196 | 199 |
|
| 200 | + @Test |
| 201 | + public void testAutoRegisteredCriteriaAPI() { |
| 202 | + this.context.register(DomaAutoConfiguration.class, DataSourceAutoConfiguration.class); |
| 203 | + this.context.refresh(); |
| 204 | + Entityql entityql = this.context.getBean(Entityql.class); |
| 205 | + assertNotNull(entityql); |
| 206 | + NativeSql nativeSql = this.context.getBean(NativeSql.class); |
| 207 | + assertNotNull(nativeSql); |
| 208 | + } |
| 209 | + |
| 210 | + @Test |
| 211 | + public void testCriteriaAPIWithConfig() { |
| 212 | + this.context.register(MyCriteriaAPIConfig.class, DomaAutoConfiguration.class, |
| 213 | + DataSourceAutoConfiguration.class); |
| 214 | + this.context.refresh(); |
| 215 | + Map<String, Entityql> entityqlBeans = this.context.getBeansOfType(Entityql.class); |
| 216 | + assertEquals(1, entityqlBeans.size()); |
| 217 | + assertNotNull(entityqlBeans.get("myEntityql")); |
| 218 | + Map<String, NativeSql> nativeSqlBeans = this.context.getBeansOfType(NativeSql.class); |
| 219 | + assertEquals(1, nativeSqlBeans.size()); |
| 220 | + assertNotNull(nativeSqlBeans.get("myNativeSql")); |
| 221 | + } |
| 222 | + |
197 | 223 | @After |
198 | 224 | public void tearDown() { |
199 | 225 | if (this.context != null) { |
@@ -260,4 +286,18 @@ public static void addEnvironment(ConfigurableApplicationContext context, |
260 | 286 | value))); |
261 | 287 | } |
262 | 288 | } |
| 289 | + |
| 290 | + @Configuration |
| 291 | + public static class MyCriteriaAPIConfig { |
| 292 | + |
| 293 | + @Bean |
| 294 | + public Entityql myEntityql(Config config) { |
| 295 | + return new Entityql(config); |
| 296 | + } |
| 297 | + |
| 298 | + @Bean |
| 299 | + public NativeSql myNativeSql(Config config) { |
| 300 | + return new NativeSql(config); |
| 301 | + } |
| 302 | + } |
263 | 303 | } |
0 commit comments