From ee4854981d1a4501a9d115ea077d44d0b158ff7c Mon Sep 17 00:00:00 2001 From: Chad Wilson Date: Mon, 15 Nov 2021 15:48:05 +0800 Subject: [PATCH] #40 add test for bulk lookup --- .../server/recrun/RecRecordRepositoryTest.kt | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/test/kotlin/recce/server/recrun/RecRecordRepositoryTest.kt b/src/test/kotlin/recce/server/recrun/RecRecordRepositoryTest.kt index a67817d0..8e017132 100644 --- a/src/test/kotlin/recce/server/recrun/RecRecordRepositoryTest.kt +++ b/src/test/kotlin/recce/server/recrun/RecRecordRepositoryTest.kt @@ -37,16 +37,8 @@ class RecRecordRepositoryTest { List(3) { "test" to "test" } + List(4) { "test" to "test3" } - val setup = runRepository.save(RecRun("test-dataset")).toFlux().flatMap { run -> - var key = 0 - Flux.fromIterable(testRecordData) - .flatMap { (source, target) -> - recordRepository.save(RecRecord(RecRecordKey(run.id!!, "${++key}"), source, target)) - } - } - val savedRecords = mutableListOf() - StepVerifier.create(setup) + StepVerifier.create(saveTestRecords(testRecordData)) .recordWith { savedRecords } .expectNextCount(testRecordData.size.toLong()) .verifyComplete() @@ -60,4 +52,28 @@ class RecRecordRepositoryTest { } .verifyComplete() } + + private fun saveTestRecords(testRecordData: List>): Flux { + return runRepository.save(RecRun("test-dataset")).toFlux().flatMap { run -> + var key = 0 + Flux.fromIterable(testRecordData) + .flatMap { (source, target) -> + recordRepository.save(RecRecord(RecRecordKey(run.id!!, "${++key}"), source, target)) + } + } + } + + @Test + fun `should bulk check for existence of records`() { + val testRecordData = List(10) { "test" to null } + val savedRecords = mutableListOf() + StepVerifier.create(saveTestRecords(testRecordData)) + .recordWith { savedRecords } + .expectNextCount(testRecordData.size.toLong()) + .verifyComplete() + + StepVerifier.create(recordRepository.findByIdInList(savedRecords.map { it.id })) + .expectNextCount(10) + .verifyComplete(); + } }