Skip to content

Commit a107b39

Browse files
committed
Move MSSQL Server tests to JUnit Jupiter
1 parent 2f61104 commit a107b39

File tree

5 files changed

+46
-56
lines changed

5 files changed

+46
-56
lines changed

modules/mssqlserver/build.gradle

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ dependencies {
66
compileOnly project(':testcontainers-r2dbc')
77
compileOnly 'io.r2dbc:r2dbc-mssql:1.0.2.RELEASE'
88

9+
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.11.0'
10+
11+
testImplementation 'org.junit.jupiter:junit-jupiter:5.13.4'
912
testImplementation project(':testcontainers-jdbc-test')
1013
testImplementation 'com.microsoft.sqlserver:mssql-jdbc:13.2.0.jre8'
1114

@@ -21,3 +24,7 @@ tasks.japicmp {
2124
"org.testcontainers.containers.MSSQLServerContainer"
2225
]
2326
}
27+
28+
test {
29+
useJUnitPlatform()
30+
}

modules/mssqlserver/src/test/java/org/testcontainers/jdbc/mssqlserver/MSSQLServerJDBCDriverTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
package org.testcontainers.jdbc.mssqlserver;
22

3-
import org.junit.runner.RunWith;
4-
import org.junit.runners.Parameterized;
53
import org.testcontainers.jdbc.AbstractJDBCDriverTest;
64

75
import java.util.Arrays;
86
import java.util.EnumSet;
97

10-
@RunWith(Parameterized.class)
11-
public class MSSQLServerJDBCDriverTest extends AbstractJDBCDriverTest {
8+
class MSSQLServerJDBCDriverTest extends AbstractJDBCDriverTest {
129

13-
@Parameterized.Parameters(name = "{index} - {0}")
1410
public static Iterable<Object[]> data() {
1511
return Arrays.asList(
1612
new Object[][] {

modules/mssqlserver/src/test/java/org/testcontainers/junit/mssqlserver/CustomPasswordMSSQLServerTest.java

Lines changed: 30 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
package org.testcontainers.junit.mssqlserver;
22

33
import org.apache.commons.lang3.RandomStringUtils;
4-
import org.junit.Test;
5-
import org.junit.runner.RunWith;
6-
import org.junit.runners.Parameterized;
4+
import org.junit.jupiter.params.ParameterizedTest;
5+
import org.junit.jupiter.params.provider.Arguments;
6+
import org.junit.jupiter.params.provider.MethodSource;
77
import org.testcontainers.MSSQLServerTestImages;
88
import org.testcontainers.containers.MSSQLServerContainer;
99

10-
import java.util.Arrays;
11-
import java.util.Collection;
10+
import java.util.stream.Stream;
1211

1312
import static org.assertj.core.api.Assertions.fail;
1413

1514
/**
1615
* Tests if the password passed to the container satisfied the password policy described at
1716
* https://docs.microsoft.com/en-us/sql/relational-databases/security/password-policy?view=sql-server-2017
1817
*/
19-
@RunWith(Parameterized.class)
2018
public class CustomPasswordMSSQLServerTest {
2119

2220
private static String UPPER_CASE_LETTERS = "ABCDE";
@@ -27,51 +25,40 @@ public class CustomPasswordMSSQLServerTest {
2725

2826
private static String SPECIAL_CHARS = "_(!)_";
2927

30-
private String password;
31-
32-
private Boolean valid;
33-
34-
public CustomPasswordMSSQLServerTest(String password, Boolean valid) {
35-
this.password = password;
36-
this.valid = valid;
37-
}
38-
39-
@Parameterized.Parameters
40-
public static Collection<Object[]> data() {
41-
return Arrays.asList(
42-
new Object[][] {
43-
new Object[] { null, false },
44-
// too short
45-
{ "abc123", false },
46-
// too long
47-
{ RandomStringUtils.randomAlphabetic(129), false },
48-
// only 2 categories
49-
{ UPPER_CASE_LETTERS + NUMBERS, false },
50-
{ UPPER_CASE_LETTERS + SPECIAL_CHARS, false },
51-
{ LOWER_CASE_LETTERS + NUMBERS, false },
52-
{ LOWER_CASE_LETTERS + SPECIAL_CHARS, false },
53-
{ NUMBERS + SPECIAL_CHARS, false },
54-
// 3 categories
55-
{ UPPER_CASE_LETTERS + LOWER_CASE_LETTERS + NUMBERS, true },
56-
{ UPPER_CASE_LETTERS + LOWER_CASE_LETTERS + SPECIAL_CHARS, true },
57-
{ UPPER_CASE_LETTERS + NUMBERS + SPECIAL_CHARS, true },
58-
{ LOWER_CASE_LETTERS + NUMBERS + SPECIAL_CHARS, true },
59-
// 4 categories
60-
{ UPPER_CASE_LETTERS + LOWER_CASE_LETTERS + NUMBERS + SPECIAL_CHARS, true },
61-
}
28+
public static Stream<Arguments> data() {
29+
return Stream.of(
30+
Arguments.arguments(null, false),
31+
// too short
32+
Arguments.arguments("abc123", false),
33+
// too long
34+
Arguments.arguments(RandomStringUtils.randomAlphabetic(129), false),
35+
// only 2 categories
36+
Arguments.arguments(UPPER_CASE_LETTERS + NUMBERS, false),
37+
Arguments.arguments(UPPER_CASE_LETTERS + SPECIAL_CHARS, false),
38+
Arguments.arguments(LOWER_CASE_LETTERS + NUMBERS, false),
39+
Arguments.arguments(LOWER_CASE_LETTERS + SPECIAL_CHARS, false),
40+
Arguments.arguments(NUMBERS + SPECIAL_CHARS, false),
41+
// 3 categories
42+
Arguments.arguments(UPPER_CASE_LETTERS + LOWER_CASE_LETTERS + NUMBERS, true),
43+
Arguments.arguments(UPPER_CASE_LETTERS + LOWER_CASE_LETTERS + SPECIAL_CHARS, true),
44+
Arguments.arguments(UPPER_CASE_LETTERS + NUMBERS + SPECIAL_CHARS, true),
45+
Arguments.arguments(LOWER_CASE_LETTERS + NUMBERS + SPECIAL_CHARS, true),
46+
// 4 categories
47+
Arguments.arguments(UPPER_CASE_LETTERS + LOWER_CASE_LETTERS + NUMBERS + SPECIAL_CHARS, true)
6248
);
6349
}
6450

65-
@Test
66-
public void runPasswordTests() {
51+
@ParameterizedTest
52+
@MethodSource("data")
53+
public void runPasswordTests(String password, boolean valid) {
6754
try {
68-
new MSSQLServerContainer<>(MSSQLServerTestImages.MSSQL_SERVER_IMAGE).withPassword(this.password);
55+
new MSSQLServerContainer<>(MSSQLServerTestImages.MSSQL_SERVER_IMAGE).withPassword(password);
6956
if (!valid) {
70-
fail("Password " + this.password + " is not valid. Expected exception");
57+
fail("Password " + password + " is not valid. Expected exception");
7158
}
7259
} catch (IllegalArgumentException e) {
7360
if (valid) {
74-
fail("Password " + this.password + " should have been validated");
61+
fail("Password " + password + " should have been validated");
7562
}
7663
}
7764
}

modules/mssqlserver/src/test/java/org/testcontainers/junit/mssqlserver/CustomizableMSSQLServerTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.testcontainers.junit.mssqlserver;
22

3-
import org.junit.Test;
3+
import org.junit.jupiter.api.Test;
44
import org.testcontainers.containers.MSSQLServerContainer;
55
import org.testcontainers.db.AbstractContainerDatabaseTest;
66
import org.testcontainers.utility.DockerImageName;
@@ -10,12 +10,12 @@
1010

1111
import static org.assertj.core.api.Assertions.assertThat;
1212

13-
public class CustomizableMSSQLServerTest extends AbstractContainerDatabaseTest {
13+
class CustomizableMSSQLServerTest extends AbstractContainerDatabaseTest {
1414

1515
private static final String STRONG_PASSWORD = "myStrong(!)Password";
1616

1717
@Test
18-
public void testSqlServerConnection() throws SQLException {
18+
void testSqlServerConnection() throws SQLException {
1919
try (
2020
MSSQLServerContainer<?> mssqlServerContainer = new MSSQLServerContainer<>(
2121
DockerImageName.parse("mcr.microsoft.com/mssql/server:2022-CU14-ubuntu-22.04")

modules/mssqlserver/src/test/java/org/testcontainers/junit/mssqlserver/SimpleMSSQLServerTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.testcontainers.junit.mssqlserver;
22

3-
import org.junit.Test;
3+
import org.junit.jupiter.api.Test;
44
import org.testcontainers.MSSQLServerTestImages;
55
import org.testcontainers.containers.MSSQLServerContainer;
66
import org.testcontainers.db.AbstractContainerDatabaseTest;
@@ -13,10 +13,10 @@
1313

1414
import static org.assertj.core.api.Assertions.assertThat;
1515

16-
public class SimpleMSSQLServerTest extends AbstractContainerDatabaseTest {
16+
class SimpleMSSQLServerTest extends AbstractContainerDatabaseTest {
1717

1818
@Test
19-
public void testSimple() throws SQLException {
19+
void testSimple() throws SQLException {
2020
try ( // container {
2121
MSSQLServerContainer<?> mssqlServer = new MSSQLServerContainer<>(
2222
"mcr.microsoft.com/mssql/server:2022-CU20-ubuntu-22.04"
@@ -34,7 +34,7 @@ public void testSimple() throws SQLException {
3434
}
3535

3636
@Test
37-
public void testWithAdditionalUrlParamInJdbcUrl() {
37+
void testWithAdditionalUrlParamInJdbcUrl() {
3838
try (
3939
MSSQLServerContainer<?> mssqlServer = new MSSQLServerContainer<>(MSSQLServerTestImages.MSSQL_SERVER_IMAGE)
4040
.withUrlParam("integratedSecurity", "false")
@@ -48,7 +48,7 @@ public void testWithAdditionalUrlParamInJdbcUrl() {
4848
}
4949

5050
@Test
51-
public void testSetupDatabase() throws SQLException {
51+
void testSetupDatabase() throws SQLException {
5252
try (
5353
MSSQLServerContainer<?> mssqlServer = new MSSQLServerContainer<>(MSSQLServerTestImages.MSSQL_SERVER_IMAGE)
5454
) {

0 commit comments

Comments
 (0)