aboutsummaryrefslogtreecommitdiffstats
path: root/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/messages.kt
diff options
context:
space:
mode:
Diffstat (limited to 'sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/messages.kt')
-rw-r--r--sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/messages.kt66
1 files changed, 36 insertions, 30 deletions
diff --git a/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/messages.kt b/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/messages.kt
index 01e11665..90c4aa13 100644
--- a/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/messages.kt
+++ b/sources/hv-collector-test-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/tests/utils/messages.kt
@@ -23,61 +23,67 @@ import com.google.protobuf.ByteString
import io.netty.buffer.ByteBuf
import io.netty.buffer.ByteBufAllocator
import io.netty.buffer.PooledByteBufAllocator
-import org.onap.dcae.collectors.veshv.domain.WireFrameMessage.Companion.RESERVED_BYTE_COUNT
import org.onap.dcae.collectors.veshv.domain.VesEventDomain
-import org.onap.dcae.collectors.veshv.domain.VesEventDomain.PERF3GPP
import org.onap.dcae.collectors.veshv.domain.VesEventDomain.OTHER
+import org.onap.dcae.collectors.veshv.domain.VesEventDomain.PERF3GPP
+import org.onap.dcae.collectors.veshv.domain.WireFrameMessage.Companion.RESERVED_BYTE_COUNT
import org.onap.ves.VesEventOuterClass.VesEvent
-
import java.util.UUID.randomUUID
val allocator: ByteBufAllocator = PooledByteBufAllocator.DEFAULT
-private fun ByteBuf.writeValidWireFrameHeaders() {
+private fun validWireFrame() = allocator.buffer().run {
writeByte(0xAA) // always 0xAA
writeByte(0x01) // major version
writeByte(0x00) // minor version
writeZero(RESERVED_BYTE_COUNT) // reserved
- writeShort(0x0001) // content type = GPB
+ writeShort(0x0001) // content type = GPB
+}
+
+private fun invalidWireFrame() = allocator.buffer().run {
+ writeByte(0xAA) // always 0xAA
+ writeByte(0x00) // invalid major version
+ writeByte(0x00) // minor version
+ writeZero(RESERVED_BYTE_COUNT) // reserved
+ writeShort(0x0001) // content type = GPB
+}
+
+fun garbageFrame(): ByteBuf = allocator.buffer().run {
+ writeBytes("the meaning of life is &@)(*_!".toByteArray())
}
fun vesWireFrameMessage(domain: VesEventDomain = OTHER,
id: String = randomUUID().toString(),
- eventFields: ByteString = ByteString.EMPTY): ByteBuf =
- vesWireFrameMessage(vesEvent(domain, id, eventFields))
-
-fun vesWireFrameMessage(vesEvent: VesEvent) =
- allocator.buffer().run {
- writeValidWireFrameHeaders()
+ eventFields: ByteString = ByteString.EMPTY,
+ vesEventListenerVersion: String = "7.0.2"): ByteBuf =
+ vesWireFrameMessage(vesEvent(domain, id, eventFields, vesEventListenerVersion))
+fun vesWireFrameMessage(vesEvent: VesEvent): ByteBuf =
+ validWireFrame().run {
val gpb = vesEvent.toByteString().asReadOnlyByteBuffer()
writeInt(gpb.limit()) // ves event size in bytes
- writeBytes(gpb) // ves event as GPB bytes
+ writeBytes(gpb) // ves event as GPB bytes
}
-fun wireFrameMessageWithInvalidPayload(): ByteBuf = allocator.buffer().run {
- writeValidWireFrameHeaders()
-
- val invalidGpb = "some random data".toByteArray(Charsets.UTF_8)
- writeInt(invalidGpb.size) // ves event size in bytes
- writeBytes(invalidGpb)
-}
-
-fun garbageFrame(): ByteBuf = allocator.buffer().run {
- writeBytes("the meaning of life is &@)(*_!".toByteArray())
-}
+fun messageWithInvalidWireFrameHeader(vesEvent: VesEvent = vesEvent()): ByteBuf =
+ invalidWireFrame().run {
+ val gpb = vesEvent.toByteString().asReadOnlyByteBuffer()
+ writeInt(gpb.limit()) // ves event size in bytes
+ writeBytes(gpb) // ves event as GPB bytes
+ }
-fun invalidWireFrame(): ByteBuf = allocator.buffer().run {
- writeByte(0xAA)
- writeByte(0x01) // version major
- writeByte(0x01) // version minor
-}
+fun wireFrameMessageWithInvalidPayload(): ByteBuf =
+ validWireFrame().run {
+ val invalidGpb = "some random data".toByteArray(Charsets.UTF_8)
+ writeInt(invalidGpb.size) // ves event size in bytes
+ writeBytes(invalidGpb)
+ }
-fun vesMessageWithPayloadOfSize(payloadSizeBytes: Int, domain: VesEventDomain = PERF3GPP): ByteBuf =
+fun messageWithPayloadOfSize(payloadSizeBytes: Int, domain: VesEventDomain = PERF3GPP): ByteBuf =
vesWireFrameMessage(
domain = domain,
eventFields = ByteString.copyFrom(ByteArray(payloadSizeBytes))
)
-
+fun messageWithInvalidListenerVersion() = vesWireFrameMessage(vesEventListenerVersion = "invalid") \ No newline at end of file