Search in sources :

Example 6 with MockResult

use of io.r2dbc.spi.test.MockResult in project spring-framework by spring-projects.

the class DefaultDatabaseClientUnitTests method mockSingleColumnResult.

/**
 * Mocks a {@link Result} with a single column "name" and a single row if a non null
 * row is provided.
 */
private MockResult mockSingleColumnResult(@Nullable MockRow.Builder row) {
    MockResult.Builder resultBuilder = MockResult.builder();
    if (row != null) {
        MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("name").javaType(String.class).build()).build();
        resultBuilder = resultBuilder.row(row.metadata(metadata).build());
    }
    return resultBuilder.build();
}
Also used : MockResult(io.r2dbc.spi.test.MockResult) MockRowMetadata(io.r2dbc.spi.test.MockRowMetadata) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString)

Example 7 with MockResult

use of io.r2dbc.spi.test.MockResult in project spring-framework by spring-projects.

the class DefaultDatabaseClientUnitTests method selectShouldEmitFirstValue.

@Test
void selectShouldEmitFirstValue() {
    MockRowMetadata metadata = MockRowMetadata.builder().columnMetadata(MockColumnMetadata.builder().name("name").javaType(String.class).build()).build();
    MockResult result = MockResult.builder().row(MockRow.builder().identified(0, Object.class, "Walter").metadata(metadata).build(), MockRow.builder().identified(0, Object.class, "White").metadata(metadata).build()).build();
    mockStatementFor("SELECT * FROM person", result);
    DatabaseClient databaseClient = databaseClientBuilder.build();
    databaseClient.sql("SELECT * FROM person").map(row -> row.get(0)).first().as(StepVerifier::create).expectNext("Walter").verifyComplete();
}
Also used : MockResult(io.r2dbc.spi.test.MockResult) MockRowMetadata(io.r2dbc.spi.test.MockRowMetadata) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) StepVerifier(reactor.test.StepVerifier) Test(org.junit.jupiter.api.Test)

Example 8 with MockResult

use of io.r2dbc.spi.test.MockResult in project spring-framework by spring-projects.

the class DefaultDatabaseClientUnitTests method shouldApplyExecuteFunction.

@Test
void shouldApplyExecuteFunction() {
    Statement statement = mockStatement();
    MockResult result = mockSingleColumnResult(MockRow.builder().identified(0, Object.class, "Walter"));
    DatabaseClient databaseClient = databaseClientBuilder.executeFunction(stmnt -> Mono.just(result)).build();
    databaseClient.sql("SELECT").fetch().all().as(StepVerifier::create).expectNextCount(1).verifyComplete();
    verifyNoInteractions(statement);
}
Also used : ConnectionFactory(io.r2dbc.spi.ConnectionFactory) Strictness(org.mockito.quality.Strictness) BeforeEach(org.junit.jupiter.api.BeforeEach) Arrays(java.util.Arrays) IncorrectResultSizeDataAccessException(org.springframework.dao.IncorrectResultSizeDataAccessException) MockitoSettings(org.mockito.junit.jupiter.MockitoSettings) StepVerifier(reactor.test.StepVerifier) Mock(org.mockito.Mock) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) BDDMockito.inOrder(org.mockito.BDDMockito.inOrder) BDDMockito.times(org.mockito.BDDMockito.times) BDDMockito.when(org.mockito.BDDMockito.when) CoreSubscriber(reactor.core.CoreSubscriber) BDDMockito.verify(org.mockito.BDDMockito.verify) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) BindMarkersFactory(org.springframework.r2dbc.core.binding.BindMarkersFactory) Result(io.r2dbc.spi.Result) Nullable(org.springframework.lang.Nullable) BDDMockito.doReturn(org.mockito.BDDMockito.doReturn) BDDMockito.verifyNoInteractions(org.mockito.BDDMockito.verifyNoInteractions) MockRow(io.r2dbc.spi.test.MockRow) BindTarget(org.springframework.r2dbc.core.binding.BindTarget) MockResult(io.r2dbc.spi.test.MockResult) MockRowMetadata(io.r2dbc.spi.test.MockRowMetadata) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) InOrder(org.mockito.InOrder) Publisher(org.reactivestreams.Publisher) Mono(reactor.core.publisher.Mono) BDDMockito.verifyNoMoreInteractions(org.mockito.BDDMockito.verifyNoMoreInteractions) Connection(io.r2dbc.spi.Connection) Test(org.junit.jupiter.api.Test) Flux(reactor.core.publisher.Flux) Subscription(org.reactivestreams.Subscription) MockColumnMetadata(io.r2dbc.spi.test.MockColumnMetadata) BDDMockito.mock(org.mockito.BDDMockito.mock) Statement(io.r2dbc.spi.Statement) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) MockResult(io.r2dbc.spi.test.MockResult) Statement(io.r2dbc.spi.Statement) StepVerifier(reactor.test.StepVerifier) Test(org.junit.jupiter.api.Test)

Aggregations

MockResult (io.r2dbc.spi.test.MockResult)8 MockRowMetadata (io.r2dbc.spi.test.MockRowMetadata)7 Test (org.junit.jupiter.api.Test)7 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)7 StepVerifier (reactor.test.StepVerifier)7 Statement (io.r2dbc.spi.Statement)6 BindTarget (org.springframework.r2dbc.core.binding.BindTarget)6 Connection (io.r2dbc.spi.Connection)5 ConnectionFactory (io.r2dbc.spi.ConnectionFactory)5 Result (io.r2dbc.spi.Result)5 MockColumnMetadata (io.r2dbc.spi.test.MockColumnMetadata)5 MockRow (io.r2dbc.spi.test.MockRow)5 Arrays (java.util.Arrays)5 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)5 BeforeEach (org.junit.jupiter.api.BeforeEach)5 ExtendWith (org.junit.jupiter.api.extension.ExtendWith)5 ArgumentMatchers.eq (org.mockito.ArgumentMatchers.eq)5 BDDMockito.doReturn (org.mockito.BDDMockito.doReturn)5 BDDMockito.inOrder (org.mockito.BDDMockito.inOrder)5 BDDMockito.mock (org.mockito.BDDMockito.mock)5