Skip to content

Commit 9c61737

Browse files
committed
build(deps): Bump Spring Framework to 7.0.1 and Spring Boot to 4.0.0
- Temporarily disable flaky tests to see if CI/CD successfully builds
1 parent 16431ff commit 9c61737

File tree

9 files changed

+38
-48
lines changed

9 files changed

+38
-48
lines changed

exposed-spring-boot-starter/src/main/kotlin/org/jetbrains/exposed/v1/spring/boot/DatabaseInitializer.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ import java.util.regex.Pattern
2323
* @property applicationContext The Spring ApplicationContext container responsible for managing beans.
2424
* @property excludedPackages List of packages to exclude, so that their contained tables are not auto-created.
2525
*/
26-
open class DatabaseInitializer(private val applicationContext: ApplicationContext, private val excludedPackages: List<String>) :
27-
ApplicationRunner, Ordered {
26+
open class DatabaseInitializer(
27+
private val applicationContext: ApplicationContext,
28+
private val excludedPackages: List<String>
29+
) : ApplicationRunner, Ordered {
2830
override fun getOrder(): Int = DATABASE_INITIALIZER_ORDER
2931

3032
companion object {
@@ -34,7 +36,7 @@ open class DatabaseInitializer(private val applicationContext: ApplicationContex
3436
private val logger = LoggerFactory.getLogger(javaClass)
3537

3638
@Transactional
37-
override fun run(args: ApplicationArguments?) {
39+
override fun run(args: ApplicationArguments) {
3840
val exposedTables = discoverExposedTables(applicationContext, excludedPackages)
3941
logger.info("Schema generation for tables '{}'", exposedTables.map { it.tableName })
4042

exposed-spring-boot-starter/src/main/kotlin/org/jetbrains/exposed/v1/spring/boot/autoconfigure/ExposedAutoConfiguration.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Value
88
import org.springframework.boot.autoconfigure.AutoConfiguration
99
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
1010
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
11-
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
11+
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
1212
import org.springframework.context.ApplicationContext
1313
import org.springframework.context.annotation.Bean
1414
import org.springframework.context.annotation.Primary

exposed-spring-boot-starter/src/test/kotlin/org/jetbrains/exposed/v1/spring/boot/Application.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package org.jetbrains.exposed.v1.spring.boot
22

33
import org.springframework.boot.SpringApplication
44
import org.springframework.boot.autoconfigure.SpringBootApplication
5-
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
5+
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration
66
import org.springframework.scheduling.annotation.EnableAsync
77

88
@EnableAsync

exposed-spring-boot-starter/src/test/kotlin/org/jetbrains/exposed/v1/spring/boot/DatabaseInitializerTest.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import org.jetbrains.exposed.v1.spring.boot.tables.ignore.IgnoreTable
99
import org.junit.jupiter.api.Assertions
1010
import org.junit.jupiter.api.Test
1111
import org.springframework.beans.factory.annotation.Autowired
12+
import org.springframework.boot.DefaultApplicationArguments
1213
import org.springframework.boot.test.context.SpringBootTest
1314
import org.springframework.context.ApplicationContext
1415

@@ -26,9 +27,12 @@ open class DatabaseInitializerTest {
2627
Assertions.assertThrows(ExposedSQLException::class.java) {
2728
Database.connect("jdbc:h2:mem:test-spring", user = "sa", driver = "org.h2.Driver")
2829
transaction {
29-
DatabaseInitializer(applicationContext, listOf("org.jetbrains.exposed.v1.spring.boot.tables.ignore")).run(
30-
null
30+
val noArgs = DefaultApplicationArguments()
31+
DatabaseInitializer(
32+
applicationContext,
33+
listOf("org.jetbrains.exposed.v1.spring.boot.tables.ignore")
3134
)
35+
.run(noArgs)
3236
Assertions.assertEquals(0L, TestTable.selectAll().count())
3337
IgnoreTable.selectAll().count()
3438
}

exposed-spring-boot-starter/src/test/kotlin/org/jetbrains/exposed/v1/spring/boot/autoconfigure/ExposedAutoConfigurationTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import org.junit.jupiter.api.Test
1414
import org.springframework.beans.factory.NoSuchBeanDefinitionException
1515
import org.springframework.beans.factory.annotation.Autowired
1616
import org.springframework.boot.autoconfigure.AutoConfigurations
17-
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
17+
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration
1818
import org.springframework.boot.test.context.SpringBootTest
1919
import org.springframework.boot.test.context.TestConfiguration
2020
import org.springframework.boot.test.context.runner.ApplicationContextRunner

gradle/libs.versions.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ oracle-r2dbc = "1.3.0"
3131
postgresql-r2dbc = "1.1.1.RELEASE"
3232
sqlserver-r2dbc = "1.0.3.RELEASE"
3333

34-
springFramework = "6.2.14"
35-
springBoot = "3.5.8"
34+
springFramework = "7.0.1"
35+
springBoot = "4.0.0"
3636

37-
spring-security-crypto = "6.2.1"
37+
spring-security-crypto = "7.0.0"
3838
joda-time = "2.14.0"
3939
junit5 = "5.14.1"
4040
junit6 = "6.0.1"

spring-transaction/src/main/kotlin/org/jetbrains/exposed/v1/spring/transaction/ExposedSpringTransactionAttributeSource.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class ExposedSpringTransactionAttributeSource(
2525
val rules = attr.rollbackRules.toMutableList()
2626
rollbackExceptions.forEach { exception ->
2727
val containsException = rules.any {
28-
it is RollbackRuleAttribute && it.exceptionName == exception.name
28+
it.exceptionName == exception.name
2929
}
3030
if (!containsException) {
3131
rules.add(RollbackRuleAttribute(exception))

spring-transaction/src/test/kotlin/org/jetbrains/exposed/v1/spring/transaction/ExposedTransactionManagerTest.kt

Lines changed: 18 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ import org.jetbrains.exposed.v1.jdbc.transactions.transaction
1111
import org.junit.jupiter.api.AfterEach
1212
import org.junit.jupiter.api.Assertions.assertEquals
1313
import org.junit.jupiter.api.BeforeEach
14-
import org.junit.jupiter.api.Test
14+
import org.junit.jupiter.api.RepeatedTest
1515
import org.springframework.test.annotation.Commit
16-
import org.springframework.test.annotation.Repeat
1716
import org.springframework.transaction.IllegalTransactionStateException
1817
import org.springframework.transaction.TransactionDefinition
1918
import org.springframework.transaction.annotation.Isolation
@@ -44,19 +43,17 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
4443
}
4544
}
4645

47-
@Test
46+
@RepeatedTest(5)
4847
@Transactional
4948
@Commit
50-
@Repeat(5)
5149
open fun testConnection() {
5250
T1.insertRandom()
5351
assertEquals(1, T1.selectAll().count())
5452
}
5553

56-
@Test
54+
@RepeatedTest(5)
5755
@Transactional
5856
@Commit
59-
@Repeat(5)
6057
open fun testConnection2() {
6158
val rnd = Random().nextInt().toString()
6259
T1.insert {
@@ -65,8 +62,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
6562
assertEquals(rnd, T1.selectAll().single()[T1.c1])
6663
}
6764

68-
@Test
69-
@Repeat(5)
65+
@RepeatedTest(5)
7066
@Commit
7167
open fun testConnectionCombineWithExposedTransaction() {
7268
transaction {
@@ -83,8 +79,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
8379
}
8480
}
8581

86-
@Test
87-
@Repeat(5)
82+
@RepeatedTest(5)
8883
@Commit
8984
@Transactional
9085
open fun testConnectionCombineWithExposedTransaction2() {
@@ -104,8 +99,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
10499
* Test for Propagation.NESTED
105100
* Execute within a nested transaction if a current transaction exists, behave like REQUIRED otherwise.
106101
*/
107-
@Test
108-
@Repeat(5)
102+
@RepeatedTest(5)
109103
@Transactional
110104
open fun testConnectionWithNestedTransactionCommit() {
111105
T1.insertRandom()
@@ -121,8 +115,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
121115
* Test for Propagation.NESTED with inner roll-back
122116
* The nested transaction will be roll-back only inner transaction when the transaction marks as rollback.
123117
*/
124-
@Test
125-
@Repeat(5)
118+
@RepeatedTest(5)
126119
@Transactional
127120
open fun testConnectionWithNestedTransactionInnerRollback() {
128121
T1.insertRandom()
@@ -139,8 +132,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
139132
* Test for Propagation.NESTED with outer roll-back
140133
* The nested transaction will be roll-back entire transaction when the transaction marks as rollback.
141134
*/
142-
@Test
143-
@Repeat(5)
135+
@RepeatedTest(5)
144136
fun testConnectionWithNestedTransactionOuterRollback() {
145137
transactionManager.execute {
146138
T1.insertRandom()
@@ -163,8 +155,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
163155
* Test for Propagation.REQUIRES_NEW
164156
* Create a new transaction, and suspend the current transaction if one exists.
165157
*/
166-
@Test
167-
@Repeat(5)
158+
@RepeatedTest(5)
168159
@Transactional
169160
open fun testConnectionWithRequiresNew() {
170161
T1.insertRandom()
@@ -182,8 +173,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
182173
* The inner transaction will be roll-back only inner transaction when the transaction marks as rollback.
183174
* And since isolation level is READ_COMMITTED, the inner transaction can't see the changes of outer transaction.
184175
*/
185-
@Test
186-
@Repeat(5)
176+
@RepeatedTest(5)
187177
fun testConnectionWithRequiresNewWithInnerTransactionRollback() {
188178
transactionManager.execute {
189179
T1.insertRandom()
@@ -205,8 +195,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
205195
* Test for Propagation.NEVER
206196
* Execute non-transactionally, throw an exception if a transaction exists.
207197
*/
208-
@Test
209-
@Repeat(5)
198+
@RepeatedTest(5)
210199
@Transactional(propagation = Propagation.NEVER)
211200
open fun testPropagationNever() {
212201
assertFailsWith<IllegalStateException> { // Should Be "No transaction exist"
@@ -218,8 +207,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
218207
* Test for Propagation.NEVER
219208
* Throw an exception cause outer transaction exists.
220209
*/
221-
@Test
222-
@Repeat(5)
210+
@RepeatedTest(5)
223211
@Transactional
224212
open fun testPropagationNeverWithExistingTransaction() {
225213
assertFailsWith<IllegalTransactionStateException> {
@@ -234,8 +222,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
234222
* Test for Propagation.MANDATORY
235223
* Support a current transaction, throw an exception if none exists.
236224
*/
237-
@Test
238-
@Repeat(5)
225+
@RepeatedTest(5)
239226
@Transactional
240227
open fun testPropagationMandatoryWithTransaction() {
241228
T1.insertRandom()
@@ -248,8 +235,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
248235
* Test for Propagation.MANDATORY
249236
* Throw an exception cause no transaction exists.
250237
*/
251-
@Test
252-
@Repeat(5)
238+
@RepeatedTest(5)
253239
open fun testPropagationMandatoryWithoutTransaction() {
254240
assertFailsWith<IllegalTransactionStateException> {
255241
transactionManager.execute(TransactionDefinition.PROPAGATION_MANDATORY) {
@@ -262,8 +248,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
262248
* Test for Propagation.SUPPORTS
263249
* Support a current transaction, execute non-transactionally if none exists.
264250
*/
265-
@Test
266-
@Repeat(5)
251+
@RepeatedTest(5)
267252
@Transactional
268253
open fun testPropagationSupportWithTransaction() {
269254
T1.insertRandom()
@@ -276,8 +261,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
276261
* Test for Propagation.SUPPORTS
277262
* Execute non-transactionally if none exists.
278263
*/
279-
@Test
280-
@Repeat(5)
264+
@RepeatedTest(5)
281265
open fun testPropagationSupportWithoutTransaction() {
282266
transactionManager.execute(TransactionDefinition.PROPAGATION_SUPPORTS) {
283267
assertFailsWith<IllegalStateException> { // Should Be "No transaction exist"
@@ -289,8 +273,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
289273
/**
290274
* Test for Isolation Level
291275
*/
292-
@Test
293-
@Repeat(5)
276+
@RepeatedTest(5)
294277
@Transactional(isolation = Isolation.READ_COMMITTED)
295278
open fun testIsolationLevelReadUncommitted() {
296279
assertTransactionIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED)
@@ -307,8 +290,7 @@ open class ExposedTransactionManagerTest : SpringTransactionTestBase() {
307290
* Test for Timeout
308291
* Execute with query timeout
309292
*/
310-
@Test
311-
@Repeat(5)
293+
@RepeatedTest(5)
312294
open fun testTimeout() {
313295
transactionManager.execute(timeout = 1) {
314296
try {

spring-transaction/src/test/kotlin/org/jetbrains/exposed/v1/spring/transaction/SpringMultiContainerTransactionTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,14 @@ open class Orders {
162162

163163
open fun findAll(): List<ResultRow> = Order.selectAll().toList()
164164

165+
// NOTE: qualifier names must be left in
165166
open fun findAllWithExposedTrxBlock() = org.jetbrains.exposed.v1.jdbc.transactions.transaction { findAll() }
166167

167168
open fun create() = Order.insertAndGetId {
168169
it[buyer] = 123
169170
}.value
170171

172+
// NOTE: qualifier names must be left in
171173
open fun createWithExposedTrxBlock() = org.jetbrains.exposed.v1.jdbc.transactions.transaction { create() }
172174

173175
open fun init() {

0 commit comments

Comments
 (0)