From 7bde0f81a3054c0631a91da42e176e49c0448e16 Mon Sep 17 00:00:00 2001 From: lumber1000 <45400511+lumber1000@users.noreply.github.com> Date: Mon, 23 Sep 2024 12:54:04 +0400 Subject: [PATCH] fixes after merge --- .../handlers/messages/MessageExtractor.kt | 29 +++++++++---------- .../handlers/events/TimestampGeneratorTest.kt | 13 +-------- 2 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/main/kotlin/com/exactpro/th2/rptdataprovider/handlers/messages/MessageExtractor.kt b/src/main/kotlin/com/exactpro/th2/rptdataprovider/handlers/messages/MessageExtractor.kt index 07af264d..b816a520 100644 --- a/src/main/kotlin/com/exactpro/th2/rptdataprovider/handlers/messages/MessageExtractor.kt +++ b/src/main/kotlin/com/exactpro/th2/rptdataprovider/handlers/messages/MessageExtractor.kt @@ -17,7 +17,6 @@ package com.exactpro.th2.rptdataprovider.handlers.messages import com.exactpro.cradle.BookId -import com.exactpro.cradle.Order as CradleOrder import com.exactpro.cradle.Order.DIRECT import com.exactpro.cradle.Order.REVERSE import com.exactpro.cradle.TimeRelation.AFTER @@ -60,18 +59,18 @@ class MessageExtractor( private var lastTimestamp: Instant? = null private val order = when (request.searchDirection) { - AFTER -> Order.DIRECT - BEFORE -> Order.REVERSE + AFTER -> DIRECT + BEFORE -> REVERSE } private val sequenceComparator = when (order) { - Order.DIRECT -> { l1: Long, l2: Long -> l1 < l2 } - Order.REVERSE -> { l1: Long, l2: Long -> l2 < l1 } + DIRECT -> { l1: Long, l2: Long -> l1 < l2 } + REVERSE -> { l1: Long, l2: Long -> l2 < l1 } } private val timestampComparator = when (order) { - Order.DIRECT -> Instant::isBefore - Order.REVERSE -> Instant::isAfter + DIRECT -> Instant::isBefore + REVERSE -> Instant::isAfter } init { @@ -89,8 +88,8 @@ class MessageExtractor( private val StoredGroupedMessageBatch.orderedMessages: Collection get() = when (order) { - Order.DIRECT -> messages - Order.REVERSE -> messagesReverse + DIRECT -> messages + REVERSE -> messagesReverse } override suspend fun processMessage() { @@ -136,12 +135,12 @@ class MessageExtractor( groupName(sessionGroup) order(order) - if (order == Order.DIRECT) { - request.startTimestamp?.let { timestampFrom().isGreaterThanOrEqualTo(it) } - request.endTimestamp?.let { timestampTo().isLessThan(it) } - } else { + if (order == REVERSE) { // default: DIRECT request.startTimestamp?.let { timestampTo().isLessThanOrEqualTo(it) } request.endTimestamp?.let { timestampFrom().isGreaterThan(it) } + } else { + request.startTimestamp?.let { timestampFrom().isGreaterThanOrEqualTo(it) } + request.endTimestamp?.let { timestampTo().isLessThan(it) } } }.build() ) @@ -229,8 +228,8 @@ class MessageExtractor( isStreamEmpty = true lastTimestamp = when (order) { - Order.DIRECT -> Instant.MAX - Order.REVERSE -> Instant.MIN + DIRECT -> Instant.MAX + REVERSE -> Instant.MIN } LOGGER.debug { "no more data for stream $commonStreamName (lastId=${lastElement.toString()} lastTimestamp=${lastTimestamp})" } diff --git a/src/test/kotlin/handlers/events/TimestampGeneratorTest.kt b/src/test/kotlin/handlers/events/TimestampGeneratorTest.kt index 354af1d6..b8710d29 100644 --- a/src/test/kotlin/handlers/events/TimestampGeneratorTest.kt +++ b/src/test/kotlin/handlers/events/TimestampGeneratorTest.kt @@ -34,10 +34,8 @@ import org.junit.jupiter.api.TestInstance import java.time.Instant import java.time.temporal.ChronoUnit - @TestInstance(TestInstance.Lifecycle.PER_CLASS) class TimestampGeneratorTest { - private val startTimestamp = Instant.parse("2022-04-21T12:00:00Z") private val endTimestamp = Instant.parse("2022-04-21T23:00:00Z") @@ -47,7 +45,6 @@ class TimestampGeneratorTest { private val eventId = StoredTestEventId(bookId, scope, startTimestamp, "id") private val providerEventIdSingle = ProviderEventId(null, eventId) - private fun getSearchRequest( startTimestamp: Instant?, endTimestamp: Instant?, @@ -71,9 +68,6 @@ class TimestampGeneratorTest { } } - parameters["bookId"] = listOf(bookId.toString()) - parameters["scope"] = listOf(scope) - return SseEventSearchRequest(parameters, FilterPredicate(emptyList())) .copy(searchDirection = searchDirection) .also { @@ -81,18 +75,15 @@ class TimestampGeneratorTest { } } - private fun mockEvent(startTimestamp: Instant, resumeId: ProviderEventId): StoredTestEvent { val event: StoredTestEvent = mockk() every { event.startTimestamp } answers { startTimestamp } - every { event.id } answers { resumeId.eventId } return event } - @Test fun testTimestampInOneDay() { val request = getSearchRequest(startTimestamp, endTimestamp) @@ -126,6 +117,7 @@ class TimestampGeneratorTest { ) ), result + ) } @@ -156,7 +148,6 @@ class TimestampGeneratorTest { ) } - @Test fun testTimestampInDifferentDaysReverse() { val startMinusOneDay = startTimestamp.minus(1, ChronoUnit.DAYS) @@ -207,7 +198,6 @@ class TimestampGeneratorTest { ) } - @Test fun testResumeIdSingleInTwoDays() { val startPlusOneDay = startTimestamp.plus(1, ChronoUnit.DAYS) @@ -238,5 +228,4 @@ class TimestampGeneratorTest { result ) } - } \ No newline at end of file