25
25
import org .junit .Test ;
26
26
27
27
import org .springframework .boot .autoconfigure .jdbc .DataSourceAutoConfiguration ;
28
+ import org .springframework .boot .autoconfigure .jdbc .EmbeddedDataSourceConfiguration ;
28
29
import org .springframework .boot .autoconfigure .liquibase .LiquibaseAutoConfiguration ;
29
30
import org .springframework .boot .test .util .EnvironmentTestUtils ;
30
31
import org .springframework .context .annotation .AnnotationConfigApplicationContext ;
@@ -46,14 +47,14 @@ public LiquibaseEndpointTests() {
46
47
"endpoints.liquibase" );
47
48
}
48
49
49
- @ Override
50
- protected void configureEnvironment (AnnotationConfigApplicationContext context ) {
51
- EnvironmentTestUtils .addEnvironment (context ,
52
- "spring.datasource.generate-unique-name=true" );
53
- }
54
-
55
50
@ Test
56
51
public void invoke () throws Exception {
52
+ this .context .close ();
53
+ this .context = new AnnotationConfigApplicationContext ();
54
+ EnvironmentTestUtils .addEnvironment (this .context ,
55
+ "spring.datasource.generate-unique-name=true" );
56
+ this .context .register (PooledConfig .class );
57
+ this .context .refresh ();
57
58
DataSource dataSource = this .context .getBean (DataSource .class );
58
59
assertThat (getAutoCommit (dataSource )).isTrue ();
59
60
assertThat (getEndpointBean ().invoke ()).hasSize (1 );
@@ -76,14 +77,15 @@ public void invokeWithCustomSchema() throws Exception {
76
77
this .context = new AnnotationConfigApplicationContext ();
77
78
EnvironmentTestUtils .addEnvironment (this .context ,
78
79
"liquibase.default-schema=CUSTOMSCHEMA" ,
80
+ "spring.datasource.generate-unique-name=true" ,
79
81
"spring.datasource.schema=classpath:/db/create-custom-schema.sql" );
80
- this .context .register (Config .class );
82
+ this .context .register (PooledConfig .class );
81
83
this .context .refresh ();
82
84
assertThat (getEndpointBean ().invoke ()).hasSize (1 );
83
85
}
84
86
85
87
@ Configuration
86
- @ Import ({ DataSourceAutoConfiguration .class , LiquibaseAutoConfiguration .class })
88
+ @ Import ({ EmbeddedDataSourceConfiguration .class , LiquibaseAutoConfiguration .class })
87
89
public static class Config {
88
90
89
91
private final SpringLiquibase liquibase ;
@@ -99,4 +101,21 @@ public LiquibaseEndpoint endpoint() {
99
101
100
102
}
101
103
104
+ @ Configuration
105
+ @ Import ({ DataSourceAutoConfiguration .class , LiquibaseAutoConfiguration .class })
106
+ public static class PooledConfig {
107
+
108
+ private final SpringLiquibase liquibase ;
109
+
110
+ public PooledConfig (SpringLiquibase liquibase ) {
111
+ this .liquibase = liquibase ;
112
+ }
113
+
114
+ @ Bean
115
+ public LiquibaseEndpoint endpoint () {
116
+ return new LiquibaseEndpoint (this .liquibase );
117
+ }
118
+
119
+ }
120
+
102
121
}
0 commit comments