|
34 | 34 | import org.apache.cayenne.datasource.DataSourceBuilder; |
35 | 35 | import org.apache.cayenne.dba.DbAdapter; |
36 | 36 | import org.apache.cayenne.di.AdhocObjectFactory; |
37 | | -import org.apache.cayenne.di.DIBootstrap; |
38 | 37 | import org.apache.cayenne.di.Injector; |
39 | 38 | import org.apache.cayenne.di.Module; |
40 | 39 | import org.apache.cayenne.log.JdbcEventLogger; |
|
46 | 45 | import org.apache.cayenne.test.jdbc.TableHelper; |
47 | 46 | import org.apache.cayenne.unit.dba.TestDbAdapter; |
48 | 47 | import org.apache.cayenne.unit.runtime.FlavoredDbHelper; |
49 | | -import org.apache.cayenne.unit.runtime.RuntimeCaseModule; |
50 | 48 | import org.apache.cayenne.unit.util.SQLTemplateCustomizer; |
51 | 49 | import org.junit.jupiter.api.extension.AfterEachCallback; |
52 | 50 | import org.junit.jupiter.api.extension.BeforeEachCallback; |
|
64 | 62 | */ |
65 | 63 | public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { |
66 | 64 |
|
67 | | - private static final Injector INJECTOR; |
68 | | - |
69 | 65 | // shared stack parts... use these directly from the tests |
| 66 | + // TODO: we should support multiple physically-isolated schemas for cleaner tests |
70 | 67 | public static final DbSchemaManager COMMON_SCHEMA; |
71 | 68 |
|
72 | 69 | static { |
73 | | - INJECTOR = DIBootstrap.createInjector(new RuntimeCaseModule()); |
74 | | - |
75 | | - DataSourceDescriptor dataSourceDescriptor = INJECTOR.getInstance(DataSourceDescriptor.class); |
76 | | - DataSource dataSource = DataSourceBuilder |
77 | | - .url(dataSourceDescriptor.getDataSourceUrl()) |
78 | | - .driver(dataSourceDescriptor.getJdbcDriver()) |
79 | | - .userName(dataSourceDescriptor.getUserName()) |
80 | | - .password(dataSourceDescriptor.getPassword()) |
81 | | - .pool(dataSourceDescriptor.getMinConnections(), dataSourceDescriptor.getMaxConnections()) |
| 70 | + DataSourceDescriptor dsDescriptor = TestDataSourceDescriptorFactory.create(); |
| 71 | + DataSource ds = DataSourceBuilder |
| 72 | + .url(dsDescriptor.getDataSourceUrl()) |
| 73 | + .driver(dsDescriptor.getJdbcDriver()) |
| 74 | + .userName(dsDescriptor.getUserName()) |
| 75 | + .password(dsDescriptor.getPassword()) |
| 76 | + .pool(dsDescriptor.getMinConnections(), dsDescriptor.getMaxConnections()) |
82 | 77 | .build(); |
83 | 78 |
|
84 | 79 | // "cayenne-ALL.xml" is a special synthetic project file that includes all test DataMaps |
85 | | - COMMON_SCHEMA = new DbSchemaManager("cayenne-ALL.xml", dataSource); |
| 80 | + COMMON_SCHEMA = new DbSchemaManager("cayenne-ALL.xml", dsDescriptor, ds); |
86 | 81 | COMMON_SCHEMA.rebuildSchema(); |
87 | 82 | } |
88 | 83 |
|
@@ -263,10 +258,6 @@ public DbCleaner dbCleaner() { |
263 | 258 | return dbCleaner; |
264 | 259 | } |
265 | 260 |
|
266 | | - public DataSourceDescriptor dataSourceDescriptor() { |
267 | | - return INJECTOR.getInstance(DataSourceDescriptor.class); |
268 | | - } |
269 | | - |
270 | 261 | public SQLTemplateCustomizer sqlTemplateCustomizer() { |
271 | 262 | return SQLTemplateCustomizer.of(dataNode().getAdapter()); |
272 | 263 | } |
|
0 commit comments