|
22 | 22 | import io.flamingock.internal.core.transaction.TransactionManager; |
23 | 23 | import org.junit.jupiter.api.*; |
24 | 24 | import org.junit.jupiter.params.ParameterizedTest; |
| 25 | +import org.junit.jupiter.params.provider.Arguments; |
25 | 26 | import org.junit.jupiter.params.provider.EnumSource; |
| 27 | +import org.junit.jupiter.params.provider.MethodSource; |
26 | 28 | import org.testcontainers.containers.JdbcDatabaseContainer; |
27 | 29 | import org.testcontainers.containers.MySQLContainer; |
28 | 30 | import org.testcontainers.containers.PostgreSQLContainer; |
|
32 | 34 |
|
33 | 35 | import javax.sql.DataSource; |
34 | 36 | import java.sql.*; |
| 37 | +import java.util.Arrays; |
35 | 38 | import java.util.Set; |
| 39 | +import java.util.stream.Collectors; |
| 40 | +import java.util.stream.Stream; |
36 | 41 |
|
37 | 42 | @TestInstance(TestInstance.Lifecycle.PER_METHOD) |
38 | 43 | public class SqlAuditMarkerDialectHelperTest { |
@@ -132,8 +137,32 @@ private void dropTable() throws SQLException { |
132 | 137 | } |
133 | 138 | } |
134 | 139 |
|
| 140 | + static Stream<Arguments> dialectProvider() { |
| 141 | + String enabledDialects = System.getProperty("sql.test.dialects", "mysql"); |
| 142 | + Set<String> enabled = Arrays.stream(enabledDialects.split(",")) |
| 143 | + .map(String::trim) |
| 144 | + .collect(Collectors.toSet()); |
| 145 | + |
| 146 | + Stream<Arguments> allDialects = Stream.of( |
| 147 | + Arguments.of(SqlDialect.MYSQL, "mysql"), |
| 148 | + Arguments.of(SqlDialect.SQLSERVER, "sqlserver"), |
| 149 | + Arguments.of(SqlDialect.ORACLE, "oracle"), |
| 150 | + Arguments.of(SqlDialect.POSTGRESQL, "postgresql"), |
| 151 | + Arguments.of(SqlDialect.MARIADB, "mariadb"), |
| 152 | + Arguments.of(SqlDialect.H2, "h2"), |
| 153 | + Arguments.of(SqlDialect.SQLITE, "sqlite"), |
| 154 | + Arguments.of(SqlDialect.INFORMIX, "informix"), |
| 155 | + Arguments.of(SqlDialect.FIREBIRD, "firebird") |
| 156 | + ); |
| 157 | + |
| 158 | + return allDialects.filter(args -> { |
| 159 | + String dialectName = (String) args.get()[1]; |
| 160 | + return enabled.contains(dialectName); |
| 161 | + }); |
| 162 | + } |
| 163 | + |
135 | 164 | @ParameterizedTest(name = "[{index}] dialect={0} - Should add and list two marks successfully") |
136 | | - @EnumSource(SqlDialect.class) |
| 165 | + @MethodSource("dialectProvider") |
137 | 166 | void addOngoingTaskMark(SqlDialect dialect) { |
138 | 167 | JdbcDatabaseContainer<?> container = createContainerForDialect(dialect); |
139 | 168 | Assumptions.assumeTrue(container != null || |
@@ -179,7 +208,7 @@ void addOngoingTaskMark(SqlDialect dialect) { |
179 | 208 | } |
180 | 209 |
|
181 | 210 | @ParameterizedTest(name = "[{index}] dialect={0} - Should remove all marks successfully") |
182 | | - @EnumSource(SqlDialect.class) |
| 211 | + @MethodSource("dialectProvider") |
183 | 212 | void removeOngoingTaskMark(SqlDialect dialect) { |
184 | 213 | JdbcDatabaseContainer<?> container = createContainerForDialect(dialect); |
185 | 214 | Assumptions.assumeTrue(container != null || |
|
0 commit comments