public class MyDataProvider : MockDataProvider {
@Throws(SQLException::class)
override fun execute(ctx: MockExecuteContext): Array<out MockResult>? {
val create = using(SQLDialect.
MYSQL)
val sql = ctx.sql()
println(sql)
val result = create.newResult<Int, String>(field(
AUTHOR.ID), field(AUTHOR.LAST_NAME))
result.add(create.newRecord(field(
AUTHOR.ID), field(AUTHOR.LAST_NAME)).values(1, "Orwell"))
result.add(create.newRecord(field(
AUTHOR.ID), field(AUTHOR.LAST_NAME)).values(2, "One"))
var mock = MockResult(1, result)
return
arrayOf(mock)
}
}
@Test
fun JooqTest() {
val provider = MyDataProvider()
val connection = MockConnection(provider)
val create = DSL.using(connection, SQLDialect.
DEFAULT)
var rq = create.select().from(AUTHOR.TABLE).where(AUTHOR.ID.eq(2)).fetch()
}
when I run it I get on rq :
0 = {RecordImpl@6450} "+----+---------+\n| id|LAST_NAME|\n+----+---------+\n| 1|Orwell |\n+----+---------+\n"
1 = {RecordImpl@6451} "+----+---------+\n| id|LAST_NAME|\n+----+---------+\n| 2|One |\n+----+---------+\n"
I expected get only second row
Br,