Upgrade tests to use R2DBC 0.9.

See #710
This commit is contained in:
Mark Paluch
2022-02-07 11:14:25 +01:00
parent 907f4865b5
commit 7c3ff05cb5
9 changed files with 94 additions and 63 deletions

View File

@@ -3,6 +3,7 @@ package org.springframework.data.r2dbc.convert;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.Row;
import io.r2dbc.spi.RowMetadata;
import io.r2dbc.spi.test.MockColumnMetadata;
@@ -33,14 +34,14 @@ class EntityRowMapperUnitTests {
private Row rowMock = mock(Row.class);
private RowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("integer_set").build())
.columnMetadata(MockColumnMetadata.builder().name("boxed_integers").build())
.columnMetadata(MockColumnMetadata.builder().name("primitive_integers").build())
.columnMetadata(MockColumnMetadata.builder().name("enum_array").build())
.columnMetadata(MockColumnMetadata.builder().name("set_of_enum").build())
.columnMetadata(MockColumnMetadata.builder().name("enum_set").build())
.columnMetadata(MockColumnMetadata.builder().name("id").build())
.columnMetadata(MockColumnMetadata.builder().name("ids").build()).build();
.columnMetadata(MockColumnMetadata.builder().name("integer_set").type(R2dbcType.COLLECTION).build())
.columnMetadata(MockColumnMetadata.builder().name("boxed_integers").type(R2dbcType.COLLECTION).build())
.columnMetadata(MockColumnMetadata.builder().name("primitive_integers").type(R2dbcType.COLLECTION).build())
.columnMetadata(MockColumnMetadata.builder().name("enum_array").type(R2dbcType.COLLECTION).build())
.columnMetadata(MockColumnMetadata.builder().name("set_of_enum").type(R2dbcType.COLLECTION).build())
.columnMetadata(MockColumnMetadata.builder().name("enum_set").type(R2dbcType.COLLECTION).build())
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.columnMetadata(MockColumnMetadata.builder().name("ids").type(R2dbcType.COLLECTION).build()).build();
@Test // gh-22
void shouldMapSimpleEntity() {

View File

@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.convert;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.Row;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockRow;
@@ -228,8 +229,9 @@ public class MappingR2dbcConverterUnitTests {
MockRow row = MockRow.builder().identified("id", Object.class, 42).identified("world", Object.class, "No, universe")
.build();
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
.columnMetadata(MockColumnMetadata.builder().name("world").build()).build();
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.columnMetadata(MockColumnMetadata.builder().name("world").type(R2dbcType.VARCHAR).build()).build();
WithSpelExpression result = converter.read(WithSpelExpression.class, row, metadata);
@@ -242,8 +244,9 @@ public class MappingR2dbcConverterUnitTests {
void considersConverterBeforeEntityConstruction() {
MockRow row = MockRow.builder().identified("id", Object.class, 42).identified("person", Object.class, null).build();
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
.columnMetadata(MockColumnMetadata.builder().name("person").build()).build();
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.columnMetadata(MockColumnMetadata.builder().name("person").type(R2dbcType.VARCHAR).build()).build();
WithSimplePersonConstructor result = converter.read(WithSimplePersonConstructor.class, row, metadata);

View File

@@ -17,6 +17,7 @@ package org.springframework.data.r2dbc.convert;
import static org.assertj.core.api.Assertions.*;
import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockRow;
import io.r2dbc.spi.test.MockRowMetadata;
@@ -80,8 +81,8 @@ class MySqlMappingR2dbcConverterUnitTests {
.identified("flag2", Object.class, (byte) 0).build();
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("flag1").build())
.columnMetadata(MockColumnMetadata.builder().name("flag2").build()).build();
.columnMetadata(MockColumnMetadata.builder().name("flag1").type(R2dbcType.SMALLINT).build())
.columnMetadata(MockColumnMetadata.builder().name("flag2").type(R2dbcType.SMALLINT).build()).build();
BooleanMapping mapped = converter.read(BooleanMapping.class, row, metadata);

View File

@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.convert;
import static org.assertj.core.api.Assertions.*;
import io.r2dbc.postgresql.codec.Json;
import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockRow;
import io.r2dbc.spi.test.MockRowMetadata;
@@ -89,7 +90,7 @@ class PostgresMappingR2dbcConverterUnitTests {
MockRow row = MockRow.builder().identified("json_string", Object.class, Json.of("{\"hello\":\"world\"}")).build();
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("json_string").build()).build();
.columnMetadata(MockColumnMetadata.builder().name("json_string").type(R2dbcType.VARCHAR).build()).build();
ConvertedJson result = converter.read(ConvertedJson.class, row, metadata);
assertThat(result.jsonString).isEqualTo("{\"hello\":\"world\"}");
@@ -101,7 +102,7 @@ class PostgresMappingR2dbcConverterUnitTests {
MockRow row = MockRow.builder().identified("json_bytes", Object.class, Json.of("{\"hello\":\"world\"}")).build();
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("json_bytes").build()).build();
.columnMetadata(MockColumnMetadata.builder().name("json_bytes").type(R2dbcType.VARCHAR).build()).build();
ConvertedJson result = converter.read(ConvertedJson.class, row, metadata);
assertThat(result.jsonBytes).isEqualTo("{\"hello\":\"world\"}".getBytes());
@@ -113,7 +114,7 @@ class PostgresMappingR2dbcConverterUnitTests {
MockRow row = MockRow.builder().identified("holder", Object.class, Json.of("{\"hello\":\"world\"}")).build();
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("holder").build()).build();
.columnMetadata(MockColumnMetadata.builder().name("holder").type(R2dbcType.VARCHAR).build()).build();
WithJsonHolder result = converter.read(WithJsonHolder.class, row, metadata);
assertThat(result.holder).isNotNull();

View File

@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.core;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockResult;
import io.r2dbc.spi.test.MockRow;
@@ -87,8 +88,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldCountBy() {
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, Long.class, 1L).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -108,8 +109,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldProjectExistsResult() {
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, Object.class, null).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -126,8 +127,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldExistsByCriteria() {
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, Long.class, 1L).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -162,10 +163,11 @@ public class R2dbcEntityTemplateUnitTests {
@Test // gh-215
void selectShouldInvokeCallback() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
.columnMetadata(MockColumnMetadata.builder().name("THE_NAME").build()).build();
MockResult result = MockResult.builder().rowMetadata(metadata).row(MockRow.builder()
.identified("id", Object.class, "Walter").identified("THE_NAME", Object.class, "some-name").build()).build();
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.columnMetadata(MockColumnMetadata.builder().name("THE_NAME").type(R2dbcType.VARCHAR).build()).build();
MockResult result = MockResult.builder().row(MockRow.builder().identified("id", Object.class, "Walter")
.identified("THE_NAME", Object.class, "some-name").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -204,8 +206,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldUpdateByQuery() {
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
MockResult result = MockResult.builder().rowMetadata(metadata).rowsUpdated(1).build();
.columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
MockResult result = MockResult.builder().rowsUpdated(1).build();
recorder.addStubbing(s -> s.startsWith("UPDATE"), result);
@@ -226,8 +228,8 @@ public class R2dbcEntityTemplateUnitTests {
void shouldDeleteByQuery() {
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("name").build()).build();
MockResult result = MockResult.builder().rowMetadata(metadata).rowsUpdated(1).build();
.columnMetadata(MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()).build();
MockResult result = MockResult.builder().rowsUpdated(1).build();
recorder.addStubbing(s -> s.startsWith("DELETE"), result);

View File

@@ -17,6 +17,7 @@ package org.springframework.data.r2dbc.core;
import static org.assertj.core.api.Assertions.*;
import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockResult;
import io.r2dbc.spi.test.MockRow;
@@ -56,10 +57,11 @@ public class ReactiveInsertOperationUnitTests {
@Test // gh-220
void shouldInsert() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified("id", Object.class, 42).build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified("id", Object.class, 42).metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("INSERT"), result);
@@ -84,10 +86,11 @@ public class ReactiveInsertOperationUnitTests {
@Test // gh-220
void shouldUpdateInTable() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified("id", Object.class, 42).build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified("id", Object.class, 42).metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("INSERT"), result);

View File

@@ -19,6 +19,7 @@ import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.relational.core.query.Criteria.*;
import static org.springframework.data.relational.core.query.Query.*;
import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockResult;
import io.r2dbc.spi.test.MockRow;
@@ -57,10 +58,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectAll() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -80,10 +82,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectAs() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -103,10 +106,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectFromTable() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
.row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -126,10 +130,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectFirst() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
.row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -148,10 +153,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectOne() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -170,10 +176,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectExists() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified("id", Object.class, "Walter").build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified("id", Object.class, "Walter").metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);
@@ -192,10 +199,11 @@ public class ReactiveSelectOperationUnitTests {
@Test // gh-220
void shouldSelectCount() {
MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build())
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build())
.build();
MockResult result = MockResult.builder().rowMetadata(metadata)
.row(MockRow.builder().identified(0, Long.class, 1L).build()).build();
MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, Long.class, 1L).metadata(metadata).build()).build();
recorder.addStubbing(s -> s.startsWith("SELECT"), result);

View File

@@ -18,6 +18,7 @@ package org.springframework.data.r2dbc.repository.query;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import io.r2dbc.spi.R2dbcType;
import io.r2dbc.spi.test.MockColumnMetadata;
import io.r2dbc.spi.test.MockResult;
import io.r2dbc.spi.test.MockRow;
@@ -288,9 +289,9 @@ public class StringBasedR2dbcQueryUnitTests {
void selectsSimpleType() {
MockRowMetadata metadata = MockRowMetadata.builder()
.columnMetadata(MockColumnMetadata.builder().name("date").build()).build();
.columnMetadata(MockColumnMetadata.builder().name("date").type(R2dbcType.DATE).build()).build();
LocalDate value = LocalDate.now();
MockResult result = MockResult.builder().rowMetadata(metadata)
MockResult result = MockResult.builder()
.row(MockRow.builder().identified(0, LocalDate.class, value).build()).build();
StatementRecorder recorder = StatementRecorder.newInstance();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2020-2021 the original author or authors.
* Copyright 2020-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
*/
package org.springframework.data.r2dbc.repository
import io.r2dbc.spi.R2dbcType
import io.r2dbc.spi.test.MockColumnMetadata
import io.r2dbc.spi.test.MockResult
import io.r2dbc.spi.test.MockRow
@@ -72,11 +73,21 @@ class CoroutineRepositoryUnitTests {
@Test // gh-395
fun shouldIssueSelectQuery() {
val rowMetadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("id").build()).columnMetadata(MockColumnMetadata.builder().name("name").build()).build()
val row1 = MockRow.builder().identified("id", Object::class.java, 1L).identified("name", Object::class.java, "Walter").build()
val row2 = MockRow.builder().identified("id", Object::class.java, 2L).identified("name", Object::class.java, "White").build()
val rowMetadata = MockRowMetadata.builder()
.columnMetadata(
MockColumnMetadata.builder().name("id").type(R2dbcType.INTEGER).build()
)
.columnMetadata(
MockColumnMetadata.builder().name("name").type(R2dbcType.VARCHAR).build()
)
.build()
val row1 = MockRow.builder().identified("id", Object::class.java, 1L)
.identified("name", Object::class.java, "Walter").metadata(rowMetadata)
.build()
val row2 = MockRow.builder().identified("id", Object::class.java, 2L)
.identified("name", Object::class.java, "White").metadata(rowMetadata).build()
val result = MockResult.builder().rowMetadata(rowMetadata).row(row1).row(row2).build()
val result = MockResult.builder().row(row1).row(row2).build()
recorder.addStubbing({ s: String -> s.startsWith("SELECT") }, result)
val repository = repositoryFactory.getRepository(PersonRepository::class.java)