summaryrefslogtreecommitdiffstats
path: root/sources/hv-collector-main/src/test/kotlin/org
diff options
context:
space:
mode:
authorFilip Krzywka <filip.krzywka@nokia.com>2019-03-12 11:50:37 +0100
committerFilip Krzywka <filip.krzywka@nokia.com>2019-03-14 08:01:24 +0100
commit007480ce97edd553c093036634a2f7e6ea47ef1e (patch)
treee4c46dfb941f15a841c8d23c313fc3bf43c891a3 /sources/hv-collector-main/src/test/kotlin/org
parent4d620bf4e700200bf0ece18346143afdc38aca7d (diff)
Extract HV-VES configuration module
To avoid cyclic dependency between "modules trio" configuration-core-ssl some classes from core.model were also extracted. Change-Id: Ie11029ae3500964f67f4d72279ddd68cdb2a1f0c Issue-ID: DCAEGEN2-1332 Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
Diffstat (limited to 'sources/hv-collector-main/src/test/kotlin/org')
-rw-r--r--sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/ArgVesHvConfigurationTest.kt191
-rw-r--r--sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/ConfigFactoryTest.kt143
-rw-r--r--sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/MicrometerMetricsTest.kt4
3 files changed, 2 insertions, 336 deletions
diff --git a/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/ArgVesHvConfigurationTest.kt b/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/ArgVesHvConfigurationTest.kt
deleted file mode 100644
index 6d219106..00000000
--- a/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/ArgVesHvConfigurationTest.kt
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * dcaegen2-collectors-veshv
- * ================================================================================
- * Copyright (C) 2018-2019 NOKIA
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.onap.dcae.collectors.veshv.main
-
-import org.assertj.core.api.Assertions.assertThat
-import org.jetbrains.spek.api.Spek
-import org.jetbrains.spek.api.dsl.describe
-import org.jetbrains.spek.api.dsl.given
-import org.jetbrains.spek.api.dsl.it
-import org.jetbrains.spek.api.dsl.on
-import org.onap.dcae.collectors.veshv.commandline.WrongArgumentError
-import org.onap.dcae.collectors.veshv.model.ServerConfiguration
-import org.onap.dcae.collectors.veshv.tests.utils.parseExpectingFailure
-import org.onap.dcae.collectors.veshv.tests.utils.parseExpectingSuccess
-import org.onap.dcae.collectors.veshv.utils.logging.LogLevel
-import org.onap.dcaegen2.services.sdk.security.ssl.SecurityKeys
-import java.time.Duration
-import kotlin.test.assertNotNull
-
-/**
- * @author Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
- * @since May 2018
- */
-object ArgVesHvConfigurationTest : Spek({
- lateinit var cut: ArgVesHvConfiguration
- val kafkaBootstrapServers = "dmaap-mr-wro:6666,dmaap-mr-gda:6666"
- val healthCheckApiPort = "6070"
- val firstRequestDelay = "10"
- val requestInterval = "5"
- val listenPort = "6969"
- val keyStorePassword = "kspass"
- val trustStorePassword = "tspass"
- val logLevel = LogLevel.DEBUG.name
-
- beforeEachTest {
- cut = ArgVesHvConfiguration()
- }
-
- describe("parsing arguments") {
- given("all parameters are present in the long form") {
- lateinit var result: ServerConfiguration
-
- beforeEachTest {
- result = cut.parseExpectingSuccess(
- "--kafka-bootstrap-servers", kafkaBootstrapServers,
- "--health-check-api-port", healthCheckApiPort,
- "--listen-port", listenPort,
- "--first-request-delay", firstRequestDelay,
- "--request-interval", requestInterval,
- "--key-store", "/tmp/keys.p12",
- "--trust-store", "/tmp/trust.p12",
- "--key-store-password", keyStorePassword,
- "--trust-store-password", trustStorePassword,
- "--log-level", logLevel
- )
- }
-
- it("should set proper kafka bootstrap servers") {
- assertThat(result.kafkaConfiguration.bootstrapServers).isEqualTo(kafkaBootstrapServers)
- }
-
- it("should set proper listen port") {
- assertThat(result.serverListenAddress.port).isEqualTo(listenPort.toInt())
- }
-
-
- it("should set default listen address") {
- assertThat(result.serverListenAddress.address.hostAddress).isEqualTo("0.0.0.0")
- }
-
- it("should set proper health check api port") {
- assertThat(result.healthCheckApiListenAddress.port).isEqualTo(healthCheckApiPort.toInt())
- }
-
- it("should set default health check api address") {
- assertThat(result.healthCheckApiListenAddress.address.hostAddress).isEqualTo("0.0.0.0")
- }
-
- it("should set proper first request delay") {
- assertThat(result.configurationProviderParams.firstRequestDelay)
- .isEqualTo(Duration.ofSeconds(firstRequestDelay.toLong()))
- }
-
- it("should set proper request interval") {
- assertThat(result.configurationProviderParams.requestInterval)
- .isEqualTo(Duration.ofSeconds(requestInterval.toLong()))
- }
-
- it("should set proper security configuration") {
- assertThat(result.securityConfiguration.keys.isEmpty()).isFalse()
-
- val keys = result.securityConfiguration.keys.orNull() as SecurityKeys
- assertNotNull(keys.keyStore())
- assertNotNull(keys.trustStore())
- keys.keyStorePassword().useChecked {
- assertThat(it).isEqualTo(keyStorePassword.toCharArray())
-
- }
- keys.trustStorePassword().useChecked {
- assertThat(it).isEqualTo(trustStorePassword.toCharArray())
- }
- }
-
- it("should set proper log level") {
- assertThat(result.logLevel).isEqualTo(LogLevel.DEBUG)
- }
- }
-
- describe("required parameter is absent") {
- on("missing listen port") {
- it("should throw exception") {
- assertThat(
- cut.parseExpectingFailure(
- "--ssl-disable",
- "--first-request-delay", firstRequestDelay,
- "--request-interval", requestInterval
- )
- ).isInstanceOf(WrongArgumentError::class.java)
- }
- }
- on("missing configuration url") {
- it("should throw exception") {
- assertThat(
- cut.parseExpectingFailure(
- "--listen-port", listenPort,
- "--ssl-disable",
- "--first-request-delay", firstRequestDelay,
- "--request-interval", requestInterval
- )
- ).isInstanceOf(WrongArgumentError::class.java)
- }
- }
- }
-
- describe("correct log level not provided") {
- on("missing log level") {
- it("should set default INFO value") {
- val config = cut.parseExpectingSuccess(
- "--kafka-bootstrap-servers", kafkaBootstrapServers,
- "--health-check-api-port", healthCheckApiPort,
- "--listen-port", listenPort,
- "--first-request-delay", firstRequestDelay,
- "--request-interval", requestInterval,
- "--key-store", "/tmp/keys.p12",
- "--trust-store", "/tmp/trust.p12",
- "--key-store-password", keyStorePassword,
- "--trust-store-password", trustStorePassword
- )
-
- assertThat(config.logLevel).isEqualTo(LogLevel.INFO)
- }
- }
-
- on("incorrect log level") {
- it("should set default INFO value") {
- val config = cut.parseExpectingSuccess(
- "--kafka-bootstrap-servers", kafkaBootstrapServers,
- "--health-check-api-port", healthCheckApiPort,
- "--listen-port", listenPort,
- "--first-request-delay", firstRequestDelay,
- "--request-interval", requestInterval,
- "--key-store", "/tmp/keys.p12",
- "--trust-store", "/tmp/trust.p12",
- "--key-store-password", keyStorePassword,
- "--trust-store-password", trustStorePassword,
- "--log-level", "1"
- )
-
- assertThat(config.logLevel).isEqualTo(LogLevel.INFO)
- }
- }
- }
- }
-})
diff --git a/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/ConfigFactoryTest.kt b/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/ConfigFactoryTest.kt
deleted file mode 100644
index c3849238..00000000
--- a/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/ConfigFactoryTest.kt
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * dcaegen2-collectors-veshv
- * ================================================================================
- * Copyright (C) 2019 NOKIA
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.onap.dcae.collectors.veshv.main
-
-import arrow.core.Some
-import org.jetbrains.spek.api.Spek
-import org.assertj.core.api.Assertions.assertThat
-import org.jetbrains.spek.api.dsl.describe
-import org.jetbrains.spek.api.dsl.it
-import org.onap.dcae.collectors.veshv.main.config.*
-import org.onap.dcae.collectors.veshv.model.Routing
-import org.onap.dcae.collectors.veshv.utils.logging.LogLevel
-import java.io.InputStreamReader
-import java.io.StringReader
-import java.net.InetSocketAddress
-
-/**
- * @author Pawel Biniek <pawel.biniek@nokia.com>
- * @since February 2019
- */
-internal object ConfigFactoryTest : Spek({
- describe("A configuration loader utility") {
-
- describe("partial configuration loading") {
- it("parses enumerations") {
- val input = """{"logLevel":"ERROR"}"""
-
- val config = ConfigFactory().loadConfig(StringReader(input))
- assertThat(config.logLevel).isEqualTo(Some(LogLevel.ERROR))
- }
-
- it("parses simple structure") {
- val input = """{
- "server" : {
- "healthCheckApiPort" : 12002,
- "listenPort" : 12003
- }
- }
- """.trimIndent()
- val config = ConfigFactory().loadConfig(StringReader(input))
- assertThat(config.server.nonEmpty()).isTrue()
- assertThat(config.server.orNull()?.healthCheckApiPort).isEqualTo(Some(12002))
- assertThat(config.server.orNull()?.listenPort).isEqualTo(Some(12003))
- }
-
- it("parses ip address") {
- val input = """{ "kafka" : {
- "kafkaServers": [
- "192.168.255.1:5005",
- "192.168.255.26:5006"
- ]
- }
- }"""
-
- val config = ConfigFactory().loadConfig(StringReader(input))
- assertThat(config.kafka.nonEmpty()).isTrue()
- val kafka = config.kafka.orNull() as PartialKafkaConfig
- assertThat(kafka.kafkaServers.nonEmpty()).isTrue()
- val addresses = kafka.kafkaServers.orNull() as Array<InetSocketAddress>
- assertThat(addresses)
- .isEqualTo(arrayOf(
- InetSocketAddress("192.168.255.1", 5005),
- InetSocketAddress("192.168.255.26", 5006)
- ))
- }
-
- it("parses routing array with RoutingAdapter") {
- val input = """{
- "kafka" : {
- "routing" : [
- {
- "fromDomain": "perf3gpp",
- "toTopic": "HV_VES_PERF3GPP"
- }
- ]
- }
- }""".trimIndent()
- val config = ConfigFactory().loadConfig(StringReader(input))
- assertThat(config.kafka.nonEmpty()).isTrue()
- val kafka = config.kafka.orNull() as PartialKafkaConfig
- assertThat(kafka.routing.nonEmpty()).isTrue()
- val routing = kafka.routing.orNull() as Routing
- routing.run {
- assertThat(routes.size).isEqualTo(1)
- assertThat(routes[0].domain).isEqualTo("perf3gpp")
- assertThat(routes[0].targetTopic).isEqualTo("HV_VES_PERF3GPP")
- }
- }
- }
-
- describe("complete file loading") {
- it("loads actual file") {
- val config = ConfigFactory().loadConfig(
- InputStreamReader(
- ConfigFactoryTest.javaClass.getResourceAsStream("/sampleConfig.json")))
- assertThat(config).isNotNull
- assertThat(config.logLevel).isEqualTo(Some(LogLevel.ERROR))
-
- assertThat(config.security.nonEmpty()).isTrue()
- val security = config.security.orNull() as PartialSecurityConfig
- assertThat(security.sslDisable.orNull()).isFalse()
- assertThat(security.keys.nonEmpty()).isTrue()
-
- assertThat(config.cbs.nonEmpty()).isTrue()
- val cbs = config.cbs.orNull() as PartialCbsConfig
- assertThat(cbs.firstRequestDelaySec).isEqualTo(Some(7))
- assertThat(cbs.requestIntervalSec).isEqualTo(Some(900))
-
- assertThat(config.kafka.nonEmpty()).isTrue()
- val kafka = config.kafka.orNull() as PartialKafkaConfig
- assertThat(kafka.kafkaServers.nonEmpty()).isTrue()
- assertThat(kafka.routing.nonEmpty()).isTrue()
-
- assertThat(config.server.nonEmpty()).isTrue()
- val server = config.server.orNull() as PartialServerConfig
- server.run {
- assertThat(dummyMode).isEqualTo(Some(false))
- assertThat(healthCheckApiPort).isEqualTo(Some(5000))
- assertThat(idleTimeoutSec).isEqualTo(Some(1200))
- assertThat(listenPort).isEqualTo(Some(6000))
- assertThat(maximumPayloadSizeBytes).isEqualTo(Some(512000))
- }
- }
- }
- }
-}) \ No newline at end of file
diff --git a/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/MicrometerMetricsTest.kt b/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/MicrometerMetricsTest.kt
index 16d28326..e452a5f4 100644
--- a/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/MicrometerMetricsTest.kt
+++ b/sources/hv-collector-main/src/test/kotlin/org/onap/dcae/collectors/veshv/main/MicrometerMetricsTest.kt
@@ -39,8 +39,8 @@ import org.onap.dcae.collectors.veshv.model.ClientRejectionCause.INVALID_WIRE_FR
import org.onap.dcae.collectors.veshv.model.ClientRejectionCause.PAYLOAD_SIZE_EXCEEDED_IN_MESSAGE
import org.onap.dcae.collectors.veshv.model.MessageDropCause.INVALID_MESSAGE
import org.onap.dcae.collectors.veshv.model.MessageDropCause.ROUTE_NOT_FOUND
-import org.onap.dcae.collectors.veshv.model.RoutedMessage
-import org.onap.dcae.collectors.veshv.model.VesMessage
+import org.onap.dcae.collectors.veshv.domain.RoutedMessage
+import org.onap.dcae.collectors.veshv.domain.VesMessage
import org.onap.dcae.collectors.veshv.tests.utils.emptyWireProtocolFrame
import org.onap.dcae.collectors.veshv.tests.utils.vesEvent
import org.onap.dcae.collectors.veshv.tests.utils.wireProtocolFrame