Migrate to AssertJ in Kotlin tests

Closes gh-23475
This commit is contained in:
Sebastien Deleuze
2019-09-02 15:59:26 +02:00
parent 3fcf4233a2
commit ca02cc1194
35 changed files with 336 additions and 403 deletions

View File

@@ -21,8 +21,7 @@ import java.sql.*
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNull
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
/**
@@ -40,21 +39,21 @@ class JdbcOperationsExtensionsTests {
@Test
fun `queryForObject with reified type parameters`() {
every { template.queryForObject(sql, any<Class<Int>>()) } returns 2
assertEquals(2, template.queryForObject<Int>(sql))
assertThat(template.queryForObject<Int>(sql)).isEqualTo(2)
verify { template.queryForObject(sql, any<Class<Int>>()) }
}
@Test
fun `queryForObject with RowMapper-like function`() {
every { template.queryForObject(sql, any<RowMapper<Int>>(), any<Int>()) } returns 2
assertEquals(2, template.queryForObject(sql, 3) { rs: ResultSet, _: Int -> rs.getInt(1) })
assertThat(template.queryForObject(sql, 3) { rs: ResultSet, _: Int -> rs.getInt(1) }).isEqualTo(2)
verify { template.queryForObject(eq(sql), any<RowMapper<Int>>(), eq(3)) }
}
@Test // gh-22682
fun `queryForObject with nullable RowMapper-like function`() {
every { template.queryForObject(sql, any<RowMapper<Int>>(), 3) } returns null
assertNull(template.queryForObject(sql, 3) { _, _ -> null as Int? })
assertThat(template.queryForObject(sql, 3) { _, _ -> null as Int? }).isNull()
verify { template.queryForObject(eq(sql), any<RowMapper<Int?>>(), eq(3)) }
}
@@ -63,7 +62,7 @@ class JdbcOperationsExtensionsTests {
val args = arrayOf(3)
val argTypes = intArrayOf(JDBCType.INTEGER.vendorTypeNumber)
every { template.queryForObject(sql, args, argTypes, any<Class<Int>>()) } returns 2
assertEquals(2, template.queryForObject<Int>(sql, args, argTypes))
assertThat(template.queryForObject<Int>(sql, args, argTypes)).isEqualTo(2)
verify { template.queryForObject(sql, args, argTypes, any<Class<Int>>()) }
}
@@ -71,7 +70,7 @@ class JdbcOperationsExtensionsTests {
fun `queryForObject with reified type parameters and args`() {
val args = arrayOf(3)
every { template.queryForObject(sql, args, any<Class<Int>>()) } returns 2
assertEquals(2, template.queryForObject<Int>(sql, args))
assertThat(template.queryForObject<Int>(sql, args)).isEqualTo(2)
verify { template.queryForObject(sql, args, any<Class<Int>>()) }
}
@@ -79,7 +78,7 @@ class JdbcOperationsExtensionsTests {
fun `queryForList with reified type parameters`() {
val list = listOf(1, 2, 3)
every { template.queryForList(sql, any<Class<Int>>()) } returns list
assertEquals(list, template.queryForList<Int>(sql))
assertThat(template.queryForList<Int>(sql)).isEqualTo(list)
verify { template.queryForList(sql, any<Class<Int>>()) }
}
@@ -89,7 +88,7 @@ class JdbcOperationsExtensionsTests {
val args = arrayOf(3)
val argTypes = intArrayOf(JDBCType.INTEGER.vendorTypeNumber)
every { template.queryForList(sql, args, argTypes, any<Class<Int>>()) } returns list
assertEquals(list, template.queryForList<Int>(sql, args, argTypes))
assertThat(template.queryForList<Int>(sql, args, argTypes)).isEqualTo(list)
verify { template.queryForList(sql, args, argTypes, any<Class<Int>>()) }
}
@@ -105,17 +104,17 @@ class JdbcOperationsExtensionsTests {
@Test
fun `query with ResultSetExtractor-like function`() {
every { template.query(eq(sql), any<ResultSetExtractor<Int>>(), eq(3)) } returns 2
assertEquals(2, template.query<Int>(sql, 3) { rs ->
assertThat(template.query<Int>(sql, 3) { rs ->
rs.next()
rs.getInt(1)
})
}).isEqualTo(2)
verify { template.query(eq(sql), any<ResultSetExtractor<Int>>(), eq(3)) }
}
@Test // gh-22682
fun `query with nullable ResultSetExtractor-like function`() {
every { template.query(eq(sql), any<ResultSetExtractor<Int?>>(), eq(3)) } returns null
assertNull(template.query<Int?>(sql, 3) { _ -> null })
assertThat(template.query<Int?>(sql, 3) { _ -> null }).isNull()
verify { template.query(eq(sql), any<ResultSetExtractor<Int?>>(), eq(3)) }
}
@@ -124,7 +123,7 @@ class JdbcOperationsExtensionsTests {
fun `query with RowCallbackHandler-like function`() {
every { template.query(sql, ofType<RowCallbackHandler>(), 3) } returns Unit
template.query(sql, 3) { rs ->
assertEquals(22, rs.getInt(1))
assertThat(rs.getInt(1)).isEqualTo(22)
}
verify { template.query(sql, ofType<RowCallbackHandler>(), 3) }
}
@@ -133,9 +132,9 @@ class JdbcOperationsExtensionsTests {
fun `query with RowMapper-like function`() {
val list = listOf(1, 2, 3)
every { template.query(sql, ofType<RowMapper<*>>(), 3) } returns list
assertEquals(list, template.query(sql, 3) { rs, _ ->
assertThat(template.query(sql, 3) { rs, _ ->
rs.getInt(1)
})
}).isEqualTo(list)
verify { template.query(sql, ofType<RowMapper<*>>(), 3) }
}

View File

@@ -16,9 +16,9 @@
package org.springframework.jdbc.core.namedparam
import org.assertj.core.api.Assertions.assertThat
import java.sql.JDBCType
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
/**
@@ -32,24 +32,24 @@ class MapSqlParameterSourceExtensionsTests {
fun `setter with value`() {
val source = MapSqlParameterSource()
source["foo"] = 2
assertEquals(2, source.getValue("foo"))
assertThat(source.getValue("foo")).isEqualTo(2)
}
@Test
fun `setter with value and type`() {
val source = MapSqlParameterSource()
source["foo", JDBCType.INTEGER.vendorTypeNumber] = 2
assertEquals(2, source.getValue("foo"))
assertEquals(JDBCType.INTEGER.vendorTypeNumber, source.getSqlType("foo"))
assertThat(source.getValue("foo")).isEqualTo(2)
assertThat(source.getSqlType("foo")).isEqualTo(JDBCType.INTEGER.vendorTypeNumber)
}
@Test
fun `setter with value, type and type name`() {
val source = MapSqlParameterSource()
source["foo", JDBCType.INTEGER.vendorTypeNumber, "INT"] = 2
assertEquals(2, source.getValue("foo"))
assertEquals(JDBCType.INTEGER.vendorTypeNumber, source.getSqlType("foo"))
assertEquals("INT", source.getTypeName("foo"))
assertThat(source.getValue("foo")).isEqualTo(2)
assertThat(source.getSqlType("foo")).isEqualTo(JDBCType.INTEGER.vendorTypeNumber)
assertThat(source.getTypeName("foo")).isEqualTo("INT")
}
}