summaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
Diffstat (limited to 'sources')
-rw-r--r--sources/hv-collector-kafka-consumer/k8s-deployment.yaml111
-rw-r--r--sources/hv-collector-kafka-consumer/src/test/kotlin/org/onap/dcae/collectors/veshv/kafkaconsumer/config/ArgKafkaConsumerConfigurationTest.kt140
2 files changed, 140 insertions, 111 deletions
diff --git a/sources/hv-collector-kafka-consumer/k8s-deployment.yaml b/sources/hv-collector-kafka-consumer/k8s-deployment.yaml
deleted file mode 100644
index 6a031452..00000000
--- a/sources/hv-collector-kafka-consumer/k8s-deployment.yaml
+++ /dev/null
@@ -1,111 +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=========================================================
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: kafka-servers-config
- namespace: onap
-data:
- kafka.bootstrapServers: message-router-kafka-0:9092,message-router-kafka-1:9092,message-router-kafka-2:9092
- kafka.topics: HV_VES_PERF3GPP
-
----
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: kafka-counting-consumer-deployment
- namespace: onap
- labels:
- app: hv-collector-kafka-consumer
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: hv-collector-kafka-consumer
- template:
- metadata:
- labels:
- app: hv-collector-kafka-consumer
- annotations:
- prometheus.io/port: "8080"
- prometheus.io/scrape: "true"
- prometheus.io/path: "/monitoring/prometheus"
- spec:
- containers:
- - name: kafka-consumer-counting
- image: hv-collector-kafka-consumer:1.3.0-SNAPSHOT
- ports:
- - containerPort: 8080
- env:
- - name: LISTEN_PORT
- value: 8080
- - name: KAFKA_BOOTSTRAP_SERVERS
- valueFrom:
- configMapKeyRef:
- name: kafka-servers-config
- key: kafka.bootstrapServers
- - name: KAFKA_TOPICS
- valueFrom:
- configMapKeyRef:
- name: kafka-servers-config
- key: kafka.topics
- - name: DISABLE_PROCESSING
-
----
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: kafka-processing-consumer-deployment
- namespace: onap
- labels:
- app: hv-collector-kafka-consumer
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: hv-collector-kafka-consumer
- template:
- metadata:
- labels:
- app: hv-collector-kafka-consumer
- annotations:
- prometheus.io/port: "8080"
- prometheus.io/scrape: "true"
- prometheus.io/path: "/monitoring/prometheus"
- spec:
- containers:
- - name: kafka-processing-consumer
- image: hv-collector-kafka-consumer:1.3.0-SNAPSHOT
- ports:
- - containerPort: 8080
- env:
- - name: LISTEN_PORT
- value: 8080
- - name: KAFKA_BOOTSTRAP_SERVERS
- valueFrom:
- configMapKeyRef:
- name: kafka-servers-config
- key: kafka.bootstrapServers
- - name: KAFKA_TOPICS
- valueFrom:
- configMapKeyRef:
- name: kafka-servers-config
- key: kafka.topics \ No newline at end of file
diff --git a/sources/hv-collector-kafka-consumer/src/test/kotlin/org/onap/dcae/collectors/veshv/kafkaconsumer/config/ArgKafkaConsumerConfigurationTest.kt b/sources/hv-collector-kafka-consumer/src/test/kotlin/org/onap/dcae/collectors/veshv/kafkaconsumer/config/ArgKafkaConsumerConfigurationTest.kt
new file mode 100644
index 00000000..bb0bfe1d
--- /dev/null
+++ b/sources/hv-collector-kafka-consumer/src/test/kotlin/org/onap/dcae/collectors/veshv/kafkaconsumer/config/ArgKafkaConsumerConfigurationTest.kt
@@ -0,0 +1,140 @@
+/*
+ * ============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.kafkaconsumer.config
+
+import org.assertj.core.api.Assertions
+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.onap.dcae.collectors.veshv.commandline.WrongArgumentError
+import org.onap.dcae.collectors.veshv.tests.utils.parseExpectingFailure
+import org.onap.dcae.collectors.veshv.tests.utils.parseExpectingSuccess
+
+private const val listenPort = "1234"
+private const val kafkaBootstrapServers = "localhost:1234,10.1.14.10:8090"
+private const val T1 = "boring_topic"
+private const val T2 = "exciting_topic"
+private const val kafkaTopicsString = "$T1,$T2"
+private val PARSED_TOPICS_SET = setOf(T1, T2)
+
+internal object ArgKafkaConsumerConfigurationTest : Spek({
+ lateinit var cut: ArgKafkaConsumerConfiguration
+
+ beforeEachTest {
+ cut = ArgKafkaConsumerConfiguration()
+ }
+
+ describe("parsing arguments") {
+ lateinit var result: KafkaConsumerConfiguration
+
+ given("all parameters are present in the long form") {
+
+ beforeEachTest {
+ result = cut.parseExpectingSuccess(
+ "--listen-port", listenPort,
+ "--kafka-bootstrap-servers", kafkaBootstrapServers,
+ "--kafka-topics", kafkaTopicsString,
+ "--disable-processing"
+ )
+ }
+
+ it("should set proper port") {
+ Assertions.assertThat(result.apiAddress.port).isEqualTo(listenPort.toInt())
+ }
+
+ it("should set proper kafka bootstrap servers") {
+ Assertions.assertThat(result.kafkaBootstrapServers).isEqualTo(kafkaBootstrapServers)
+ }
+
+ it("should set proper kafka topics") {
+ Assertions.assertThat(result.kafkaTopics).isEqualTo(PARSED_TOPICS_SET)
+ }
+
+ it("should disable processing") {
+ Assertions.assertThat(result.disableProcessing).isTrue()
+ }
+ }
+
+ given("some parameters are present in the short form") {
+
+ beforeEachTest {
+ result = cut.parseExpectingSuccess(
+ "--listen-port", listenPort,
+ "--kafka-bootstrap-servers", kafkaBootstrapServers,
+ "--kafka-topics", kafkaTopicsString)
+ }
+
+ it("should set proper port") {
+ Assertions.assertThat(result.apiAddress.port).isEqualTo(listenPort.toInt())
+ }
+
+ it("should set proper kafka bootstrap servers") {
+ Assertions.assertThat(result.kafkaBootstrapServers).isEqualTo(kafkaBootstrapServers)
+ }
+
+ it("should set proper kafka topics") {
+ Assertions.assertThat(result.kafkaTopics).isEqualTo(PARSED_TOPICS_SET)
+ }
+ }
+
+ given("some missing disable-processing flag") {
+ beforeEachTest {
+ result = cut.parseExpectingSuccess(
+ "-p", listenPort,
+ "--kafka-bootstrap-servers", kafkaBootstrapServers,
+ "-f", kafkaTopicsString)
+ }
+
+ it("should NOT disable processing") {
+ Assertions.assertThat(result.disableProcessing).isFalse()
+ }
+ }
+
+ describe("required parameter is absent") {
+ given("kafka topics are missing") {
+ it("should throw exception") {
+ Assertions.assertThat(cut.parseExpectingFailure(
+ "-p", listenPort,
+ "-T1", kafkaBootstrapServers
+ )).isInstanceOf(WrongArgumentError::class.java)
+ }
+ }
+
+ given("kafka bootstrap servers is missing") {
+ it("should throw exception") {
+ Assertions.assertThat(cut.parseExpectingFailure(
+ "-p", listenPort,
+ "-f", kafkaTopicsString
+ )).isInstanceOf(WrongArgumentError::class.java)
+ }
+ }
+
+ given("listen port is missing") {
+ it("should throw exception") {
+ Assertions.assertThat(cut.parseExpectingFailure(
+ "-p", listenPort,
+ "-T1", kafkaBootstrapServers
+ )).isInstanceOf(WrongArgumentError::class.java)
+ }
+ }
+ }
+ }
+}) \ No newline at end of file