From 99e3114bf447d5628ce1dda2dbfb7a2835175334 Mon Sep 17 00:00:00 2001 From: Riya Saxena Date: Thu, 29 Feb 2024 09:16:36 -0800 Subject: [PATCH] adding addiional params findingIds, startTime and endTime Signed-off-by: Riya Saxena --- .../alerting/action/GetFindingsRequest.kt | 20 +++++++++++++++++-- .../action/GetFindingsRequestTests.kt | 9 +++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/org/opensearch/commons/alerting/action/GetFindingsRequest.kt b/src/main/kotlin/org/opensearch/commons/alerting/action/GetFindingsRequest.kt index df302a13..79b3cef1 100644 --- a/src/main/kotlin/org/opensearch/commons/alerting/action/GetFindingsRequest.kt +++ b/src/main/kotlin/org/opensearch/commons/alerting/action/GetFindingsRequest.kt @@ -6,6 +6,7 @@ import org.opensearch.commons.alerting.model.Table import org.opensearch.core.common.io.stream.StreamInput import org.opensearch.core.common.io.stream.StreamOutput import java.io.IOException +import java.time.Instant class GetFindingsRequest : ActionRequest { val findingId: String? @@ -15,6 +16,9 @@ class GetFindingsRequest : ActionRequest { val findingIndex: String? val severity: String? val detectionType: String? + val findingIds: List? + val startTime: Instant? + val endTime: Instant? constructor( findingId: String?, @@ -23,7 +27,10 @@ class GetFindingsRequest : ActionRequest { findingIndexName: String? = null, monitorIds: List? = null, severity: String? = null, - detectionType: String? = null + detectionType: String? = null , + findingIds: List? = null, + startTime: Instant? = null, + endTime: Instant? = null ) : super() { this.findingId = findingId this.table = table @@ -32,6 +39,9 @@ class GetFindingsRequest : ActionRequest { this.monitorIds = monitorIds this.severity = severity this.detectionType = detectionType + this.findingIds = findingIds + this.startTime = startTime + this.endTime = endTime } @Throws(IOException::class) @@ -42,7 +52,10 @@ class GetFindingsRequest : ActionRequest { findingIndexName = sin.readOptionalString(), monitorIds = sin.readOptionalStringList(), severity = sin.readOptionalString(), - detectionType = sin.readOptionalString() + detectionType = sin.readOptionalString(), + findingIds = sin.readOptionalStringList(), + startTime = sin.readOptionalInstant(), + endTime = sin.readOptionalInstant() ) override fun validate(): ActionRequestValidationException? { @@ -58,5 +71,8 @@ class GetFindingsRequest : ActionRequest { out.writeOptionalStringCollection(monitorIds) out.writeOptionalString(severity) out.writeOptionalString(detectionType) + out.writeOptionalStringCollection(findingIds) + out.writeOptionalInstant(startTime) + out.writeOptionalInstant(endTime) } } diff --git a/src/test/kotlin/org/opensearch/commons/alerting/action/GetFindingsRequestTests.kt b/src/test/kotlin/org/opensearch/commons/alerting/action/GetFindingsRequestTests.kt index 066f0eb2..b77d2609 100644 --- a/src/test/kotlin/org/opensearch/commons/alerting/action/GetFindingsRequestTests.kt +++ b/src/test/kotlin/org/opensearch/commons/alerting/action/GetFindingsRequestTests.kt @@ -8,14 +8,16 @@ import org.junit.jupiter.api.Test import org.opensearch.common.io.stream.BytesStreamOutput import org.opensearch.commons.alerting.model.Table import org.opensearch.core.common.io.stream.StreamInput +import java.time.Instant internal class GetFindingsRequestTests { + @Test fun `test get findings request`() { val table = Table("asc", "sortString", null, 1, 0, "") - val req = GetFindingsRequest("2121", table, "1", "finding_index_name", listOf("1", "2"), "severity", "detectionType") + val req = GetFindingsRequest("2121", table, "1", "finding_index_name", listOf("1", "2"), "severity", "detectionType", listOf("id1", "id2", ), Instant.now(), Instant.now().plusSeconds(30000)) assertNotNull(req) val out = BytesStreamOutput() @@ -31,13 +33,16 @@ internal class GetFindingsRequestTests { assertEquals(table, newReq.table) assertTrue(newReq.monitorIds!!.contains("1")) assertTrue(newReq.monitorIds!!.contains("2")) + assertTrue(newReq.findingIds!!.contains("id1")) + assertTrue(newReq.findingIds!!.contains("id2")) + assertTrue(newReq.startTime!! < newReq.endTime, "startTime less than endTime") } @Test fun `test validate returns null`() { val table = Table("asc", "sortString", null, 1, 0, "") - val req = GetFindingsRequest("2121", table, "1", "active", listOf("1", "2"), "severity", "detectionType") + val req = GetFindingsRequest("2121", table, "1", "active", listOf("1", "2"), "severity", "detectionType", listOf("id1", "id2", ), Instant.now(), Instant.now().plusSeconds(30000)) assertNotNull(req) assertNull(req.validate()) }