2 * ============LICENSE_START=======================================================
3 * dcaegen2-collectors-veshv
4 * ================================================================================
5 * Copyright (C) 2018 NOKIA
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
20 package org.onap.dcae.collectors.veshv.simulators.dcaeapp.impl.config
22 import org.assertj.core.api.Assertions.assertThat
23 import org.jetbrains.spek.api.Spek
24 import org.jetbrains.spek.api.dsl.describe
25 import org.jetbrains.spek.api.dsl.given
26 import org.jetbrains.spek.api.dsl.it
27 import org.onap.dcae.collectors.veshv.tests.utils.parseExpectingFailure
28 import org.onap.dcae.collectors.veshv.tests.utils.parseExpectingSuccess
29 import org.onap.dcae.collectors.veshv.utils.commandline.WrongArgumentError
32 internal class ArgDcaeAppSimConfigurationTest : Spek({
34 lateinit var cut: ArgDcaeAppSimConfiguration
35 val listenPort = "1234"
36 val kafkaBootstrapServers = "localhosting:123,localhostinger:12345"
37 val kafkaTopics = "top1,top2"
40 cut = ArgDcaeAppSimConfiguration()
43 describe("parsing arguments") {
44 lateinit var result: DcaeAppSimConfiguration
46 given("all parameters are present in the long form") {
49 result = cut.parseExpectingSuccess(
50 "--listen-port", listenPort,
51 "--kafka-bootstrap-servers", kafkaBootstrapServers,
52 "--kafka-topics", kafkaTopics
56 it("should set proper port") {
57 assertThat(result.apiPort).isEqualTo(listenPort.toInt())
61 it("should set proper kafka bootstrap servers") {
62 assertThat(result.kafkaBootstrapServers).isEqualTo(kafkaBootstrapServers)
65 it("should set proper kafka topics") {
66 assertThat(result.kafkaTopics).isEqualTo(
72 given("some parameters are present in the short form") {
75 result = cut.parseExpectingSuccess(
77 "--kafka-bootstrap-servers", kafkaBootstrapServers,
81 it("should set proper port") {
82 assertThat(result.apiPort).isEqualTo(listenPort.toInt())
85 it("should set proper kafka bootstrap servers") {
86 assertThat(result.kafkaBootstrapServers).isEqualTo(kafkaBootstrapServers)
89 it("should set proper kafka topics") {
90 assertThat(result.kafkaTopics).isEqualTo(
96 describe("required parameter is absent") {
97 given("kafka topics are missing") {
98 it("should throw exception") {
99 assertThat(cut.parseExpectingFailure(
101 "-s", kafkaBootstrapServers
102 )).isInstanceOf(WrongArgumentError::class.java)
106 given("kafka bootstrap servers is missing") {
107 it("should throw exception") {
108 assertThat(cut.parseExpectingFailure(
111 )).isInstanceOf(WrongArgumentError::class.java)
115 given("listen port is missing") {
116 it("should throw exception") {
117 assertThat(cut.parseExpectingFailure(
119 "-s", kafkaBootstrapServers
120 )).isInstanceOf(WrongArgumentError::class.java)