Skip to content

Commit fe74945

Browse files
authored
Merge pull request #135 from driessamyn/dependabot/gradle/org.junit.jupiter-junit-jupiter-5.13.1
build(deps): Bump org.junit.jupiter:junit-jupiter from 5.12.2 to 5.13.1
2 parents 3f41b40 + 520c12c commit fe74945

7 files changed

Lines changed: 62 additions & 89 deletions

File tree

core/src/integrationTest/kotlin/net/samyn/kapper/AbstractDbTests.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@ import org.junit.jupiter.api.AfterAll
66
import org.junit.jupiter.api.BeforeAll
77
import org.junit.jupiter.api.Named.named
88
import org.junit.jupiter.api.TestInstance
9+
import org.junit.jupiter.params.Parameter
10+
import org.junit.jupiter.params.ParameterizedClass
911
import org.junit.jupiter.params.provider.Arguments
1012
import org.junit.jupiter.params.provider.Arguments.arguments
13+
import org.junit.jupiter.params.provider.MethodSource
1114
import org.testcontainers.containers.JdbcDatabaseContainer
1215
import org.testcontainers.containers.MSSQLServerContainer
1316
import org.testcontainers.containers.MySQLContainer
@@ -21,10 +24,14 @@ import java.util.concurrent.ConcurrentHashMap
2124
import java.util.logging.Level
2225
import java.util.logging.Logger
2326
import kotlin.random.Random
24-
import kotlin.use
2527

2628
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
29+
@ParameterizedClass
30+
@MethodSource("databaseContainers")
2731
abstract class AbstractDbTests {
32+
@Parameter
33+
protected lateinit var connection: Connection
34+
2835
companion object {
2936
init {
3037
Class.forName("org.sqlite.JDBC")

core/src/integrationTest/kotlin/net/samyn/kapper/ExecuteTests.kt

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,13 @@ import io.kotest.assertions.throwables.shouldThrow
55
import io.kotest.matchers.collections.shouldBeEmpty
66
import io.kotest.matchers.shouldBe
77
import net.samyn.kapper.internal.getDbFlavour
8-
import org.junit.jupiter.params.ParameterizedTest
9-
import org.junit.jupiter.params.provider.MethodSource
10-
import java.sql.Connection
8+
import org.junit.jupiter.api.Test
119
import java.sql.SQLException
1210
import java.util.UUID
1311

1412
class ExecuteTests : AbstractDbTests() {
15-
@ParameterizedTest()
16-
@MethodSource("databaseContainers")
17-
fun `SQL Insert single`(connection: Connection) {
13+
@Test
14+
fun `SQL Insert single`() {
1815
val supermanClone = superman.copy(id = UUID.randomUUID())
1916
val results =
2017
connection.execute(
@@ -44,9 +41,8 @@ class ExecuteTests : AbstractDbTests() {
4441
}
4542
}
4643

47-
@ParameterizedTest()
48-
@MethodSource("databaseContainers")
49-
fun `SQL Update single`(connection: Connection) {
44+
@Test
45+
fun `SQL Update single`() {
5046
val batmanClone = batman.copy(id = UUID.randomUUID())
5147
connection.createStatement().use { stmt ->
5248
stmt.execute(
@@ -81,9 +77,8 @@ class ExecuteTests : AbstractDbTests() {
8177
}
8278
}
8379

84-
@ParameterizedTest()
85-
@MethodSource("databaseContainers")
86-
fun `SQL Update multiple`(connection: Connection) {
80+
@Test
81+
fun `SQL Update multiple`() {
8782
val ids = listOf(UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID())
8883
val name = "foo-${UUID.randomUUID()}"
8984
connection.createStatement().use { stmt ->
@@ -105,9 +100,8 @@ class ExecuteTests : AbstractDbTests() {
105100
results.shouldBe(ids.size)
106101
}
107102

108-
@ParameterizedTest()
109-
@MethodSource("databaseContainers")
110-
fun `SQL Delete single`(connection: Connection) {
103+
@Test
104+
fun `SQL Delete single`() {
111105
val spidermanClone = spiderMan.copy(id = UUID.randomUUID())
112106
connection.createStatement().use { stmt ->
113107
stmt.execute(
@@ -136,9 +130,8 @@ class ExecuteTests : AbstractDbTests() {
136130
}
137131
}
138132

139-
@ParameterizedTest()
140-
@MethodSource("databaseContainers")
141-
fun `SQL Delete multiple`(connection: Connection) {
133+
@Test
134+
fun `SQL Delete multiple`() {
142135
val ids = listOf(UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID())
143136
val name = "bar-${UUID.randomUUID()}"
144137
connection.createStatement().use { stmt ->
@@ -159,9 +152,8 @@ class ExecuteTests : AbstractDbTests() {
159152
results.shouldBe(ids.size)
160153
}
161154

162-
@ParameterizedTest()
163-
@MethodSource("databaseContainers")
164-
fun `with TX completes`(connection: Connection) {
155+
@Test
156+
fun `with TX completes`() {
165157
connection.withTransaction {
166158
val results =
167159
connection.execute(
@@ -184,9 +176,8 @@ class ExecuteTests : AbstractDbTests() {
184176
}
185177
}
186178

187-
@ParameterizedTest()
188-
@MethodSource("databaseContainers")
189-
fun `with TX rolls back`(connection: Connection) {
179+
@Test
180+
fun `with TX rolls back`() {
190181
val id = UUID.randomUUID()
191182
shouldThrow<SQLException> {
192183
connection.withTransaction {

core/src/integrationTest/kotlin/net/samyn/kapper/QuerySingleTests.kt

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@ import io.kotest.matchers.shouldBe
77
import io.kotest.matchers.string.shouldContain
88
import net.samyn.kapper.internal.DbFlavour
99
import net.samyn.kapper.internal.getDbFlavour
10-
import org.junit.jupiter.params.ParameterizedTest
11-
import org.junit.jupiter.params.provider.MethodSource
12-
import java.sql.Connection
10+
import org.junit.jupiter.api.Test
1311
import java.sql.ResultSet
1412

1513
class QuerySingleTests : AbstractDbTests() {
16-
@ParameterizedTest()
17-
@MethodSource("databaseContainers")
18-
fun `should query 1 heros`(connection: Connection) {
14+
@Test
15+
fun `should query 1 heros`() {
1916
val sql =
2017
if (DbFlavour.MSSQLSERVER == connection.getDbFlavour()) {
2118
"SELECT TOP 1 * FROM super_heroes_$testId ORDER BY age DESC"
@@ -28,16 +25,14 @@ class QuerySingleTests : AbstractDbTests() {
2825
hero.shouldBe(superman)
2926
}
3027

31-
@ParameterizedTest
32-
@MethodSource("databaseContainers")
33-
fun `should query hero with condition`(connection: Connection) {
28+
@Test
29+
fun `should query hero with condition`() {
3430
val hero = connection.querySingle<SuperHero>("SELECT * FROM super_heroes_$testId WHERE age > :age", "age" to 85)
3531
hero.shouldBe(superman)
3632
}
3733

38-
@ParameterizedTest
39-
@MethodSource("databaseContainers")
40-
fun `should query specific columns`(connection: Connection) {
34+
@Test
35+
fun `should query specific columns`() {
4136
val hero =
4237
connection.querySingle<SuperHero>(
4338
"SELECT id, name FROM super_heroes_$testId WHERE name = :name",
@@ -46,9 +41,8 @@ class QuerySingleTests : AbstractDbTests() {
4641
hero.shouldBe(SuperHero(superman.id, superman.name))
4742
}
4843

49-
@ParameterizedTest
50-
@MethodSource("databaseContainers")
51-
fun `should handle empty result set`(connection: Connection) {
44+
@Test
45+
fun `should handle empty result set`() {
5246
val hero =
5347
connection.querySingle<SuperHero>(
5448
"SELECT * FROM super_heroes_$testId WHERE name = :name",
@@ -57,9 +51,8 @@ class QuerySingleTests : AbstractDbTests() {
5751
hero.shouldBeNull()
5852
}
5953

60-
@ParameterizedTest
61-
@MethodSource("databaseContainers")
62-
fun `should throw when larger than one result`(connection: Connection) {
54+
@Test
55+
fun `should throw when larger than one result`() {
6356
val ex =
6457
shouldThrow<KapperResultException> {
6558
connection.querySingle<SuperHero>(
@@ -69,9 +62,8 @@ class QuerySingleTests : AbstractDbTests() {
6962
ex.message.shouldContain("3")
7063
}
7164

72-
@ParameterizedTest
73-
@MethodSource("databaseContainers")
74-
fun `should query with multiple conditions`(connection: Connection) {
65+
@Test
66+
fun `should query with multiple conditions`() {
7567
val hero =
7668
connection.querySingle<SuperHero>(
7769
"SELECT * FROM super_heroes_$testId WHERE age BETWEEN :fromAge AND :toAge",
@@ -81,9 +73,8 @@ class QuerySingleTests : AbstractDbTests() {
8173
hero.shouldBe(superman)
8274
}
8375

84-
@ParameterizedTest
85-
@MethodSource("databaseContainers")
86-
fun `can use custom mapper`(connection: Connection) {
76+
@Test
77+
fun `can use custom mapper`() {
8778
val villain =
8879
connection.querySingle<Villain>(
8980
"SELECT id, name FROM super_heroes_$testId WHERE name = :name",

core/src/integrationTest/kotlin/net/samyn/kapper/QueryTests.kt

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,12 @@ import io.kotest.matchers.collections.shouldBeEmpty
44
import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder
55
import io.kotest.matchers.collections.shouldContainOnly
66
import io.kotest.matchers.shouldBe
7-
import org.junit.jupiter.params.ParameterizedTest
8-
import org.junit.jupiter.params.provider.MethodSource
9-
import java.sql.Connection
7+
import org.junit.jupiter.api.Test
108
import java.sql.ResultSet
119

1210
class QueryTests : AbstractDbTests() {
13-
@ParameterizedTest
14-
@MethodSource("databaseContainers")
15-
fun `should query all heros`(connection: Connection) {
11+
@Test
12+
fun `should query all heros`() {
1613
val heroes = connection.query<SuperHero>("SELECT * FROM super_heroes_$testId")
1714
heroes.shouldContainExactlyInAnyOrder(
1815
superman,
@@ -21,19 +18,17 @@ class QueryTests : AbstractDbTests() {
2118
)
2219
}
2320

24-
@ParameterizedTest
25-
@MethodSource("databaseContainers")
26-
fun `should query heros with condition`(connection: Connection) {
21+
@Test
22+
fun `should query heros with condition`() {
2723
val heroes = connection.query<SuperHero>("SELECT * FROM super_heroes_$testId WHERE age > :age", "age" to 80)
2824
heroes.shouldContainExactlyInAnyOrder(
2925
superman,
3026
batman,
3127
)
3228
}
3329

34-
@ParameterizedTest
35-
@MethodSource("databaseContainers")
36-
fun `should query specific columns`(connection: Connection) {
30+
@Test
31+
fun `should query specific columns`() {
3732
val heroes =
3833
connection.query<SuperHero>(
3934
"SELECT id, name FROM super_heroes_$testId WHERE name = :name",
@@ -44,9 +39,8 @@ class QueryTests : AbstractDbTests() {
4439
)
4540
}
4641

47-
@ParameterizedTest
48-
@MethodSource("databaseContainers")
49-
fun `should handle empty result set`(connection: Connection) {
42+
@Test
43+
fun `should handle empty result set`() {
5044
val heroes =
5145
connection.query<SuperHero>(
5246
"SELECT * FROM super_heroes_$testId WHERE name = :name",
@@ -55,9 +49,8 @@ class QueryTests : AbstractDbTests() {
5549
heroes.shouldBeEmpty()
5650
}
5751

58-
@ParameterizedTest
59-
@MethodSource("databaseContainers")
60-
fun `should query with multiple conditions`(connection: Connection) {
52+
@Test
53+
fun `should query with multiple conditions`() {
6154
val heroes =
6255
connection.query<SuperHero>(
6356
"SELECT * FROM super_heroes_$testId WHERE age BETWEEN :fromAge AND :toAge",
@@ -70,9 +63,8 @@ class QueryTests : AbstractDbTests() {
7063
)
7164
}
7265

73-
@ParameterizedTest
74-
@MethodSource("databaseContainers")
75-
fun `support field labels`(connection: Connection) {
66+
@Test
67+
fun `support field labels`() {
7668
data class SimpleClass(val superHeroName: String)
7769
val hero =
7870
connection.query<SimpleClass>(
@@ -84,9 +76,8 @@ class QueryTests : AbstractDbTests() {
8476
)
8577
}
8678

87-
@ParameterizedTest()
88-
@MethodSource("databaseContainers")
89-
fun `can use custom registered mapper`(connection: Connection) {
79+
@Test
80+
fun `can use custom registered mapper`() {
9081
data class SuperHero2(val name: String, val email: String? = null, val age: Int? = null)
9182

9283
class SuperHeroMapper : Mapper<SuperHero2> {
@@ -110,9 +101,8 @@ class QueryTests : AbstractDbTests() {
110101
)
111102
}
112103

113-
@ParameterizedTest
114-
@MethodSource("databaseContainers")
115-
fun `can use custom mapper`(connection: Connection) {
104+
@Test
105+
fun `can use custom mapper`() {
116106
val villain =
117107
connection.query<Villain>(
118108
"SELECT id, name FROM super_heroes_$testId WHERE name = :name",
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
package net.samyn.kapper
22

33
import io.kotest.matchers.collections.shouldNotBeEmpty
4-
import org.junit.jupiter.params.ParameterizedTest
5-
import org.junit.jupiter.params.provider.MethodSource
6-
import java.sql.Connection
4+
import org.junit.jupiter.api.Test
75

86
class SqlInjectionTest : AbstractDbTests() {
9-
@ParameterizedTest()
10-
@MethodSource("databaseContainers")
11-
fun `cannot inject SQL with parameter`(connection: Connection) {
7+
@Test
8+
fun `cannot inject SQL with parameter`() {
129
connection.execute(
1310
"UPDATE super_heroes_$testId SET name = 'foo' WHERE name = :name",
1411
"name" to "bar; DROP TABLE super_heroes",
1512
)
16-
1713
connection.query<SuperHero>("SELECT * FROM super_heroes_$testId").shouldNotBeEmpty()
1814
}
1915
}

core/src/integrationTest/kotlin/net/samyn/kapper/TypesTest.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ package net.samyn.kapper
22

33
import io.kotest.matchers.shouldBe
44
import net.samyn.kapper.internal.getDbFlavour
5-
import org.junit.jupiter.params.ParameterizedTest
6-
import org.junit.jupiter.params.provider.MethodSource
5+
import org.junit.jupiter.api.Test
76
import java.sql.Connection
87
import java.time.Instant
98
import java.time.LocalDate
@@ -49,9 +48,8 @@ class TypesTest : AbstractDbTests() {
4948
}
5049
}
5150

52-
@ParameterizedTest()
53-
@MethodSource("databaseContainers")
54-
fun `can insert and retreive the same types`(connection: Connection) {
51+
@Test
52+
fun `can insert and retreive the same types`() {
5553
val testData = createTestObject()
5654
val result =
5755
connection.execute(

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
dokka = "2.0.0"
33
git-semver = "0.16.0"
44
jmh = "1.37"
5-
junit-jupiter = "5.12.2"
5+
junit-jupiter = "5.13.1"
66
kotest = "6.0.0.M4"
77
kotlin = "2.1.21"
88
kotlinx-coroutines = "1.10.2"

0 commit comments

Comments
 (0)