diff options
author | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2018-11-28 15:46:50 +0100 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2018-11-29 14:41:42 +0100 |
commit | dde383a2aa75f94c26d7949665b79cc95486a223 (patch) | |
tree | 75f3e8f564067afd0e67dbe6254183e45ca26944 /hv-collector-xnf-simulator/src/test | |
parent | 77f896523f2065b1da1be21545155a29edea5122 (diff) |
Custom detekt rule for logger usage check
Check if logger invocations don't use unoptimal invocations, eg.
concatenation `debug("a=" + a)` instead of lambda use `debug {"a=" + a}`
Unfortunately to avoid defining dependencies in many places and having
circural dependencies it was necessarry to reorganize the maven module
structure. The goal was to have `sources` module with production code and
`build` module with build-time tooling (detekt rules among them).
Issue-ID: DCAEGEN2-1002
Change-Id: I36e677b98972aaae6905d722597cbce5e863d201
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
Diffstat (limited to 'hv-collector-xnf-simulator/src/test')
2 files changed, 0 insertions, 220 deletions
diff --git a/hv-collector-xnf-simulator/src/test/kotlin/org/onap/dcae/collectors/veshv/main/OngoingSimulationsTest.kt b/hv-collector-xnf-simulator/src/test/kotlin/org/onap/dcae/collectors/veshv/main/OngoingSimulationsTest.kt deleted file mode 100644 index a04da7bf..00000000 --- a/hv-collector-xnf-simulator/src/test/kotlin/org/onap/dcae/collectors/veshv/main/OngoingSimulationsTest.kt +++ /dev/null @@ -1,106 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * dcaegen2-collectors-veshv - * ================================================================================ - * Copyright (C) 2018 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.effects.IO -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.simulators.xnf.impl.OngoingSimulations -import org.onap.dcae.collectors.veshv.simulators.xnf.impl.StatusFailure -import org.onap.dcae.collectors.veshv.simulators.xnf.impl.StatusNotFound -import org.onap.dcae.collectors.veshv.simulators.xnf.impl.StatusOngoing -import org.onap.dcae.collectors.veshv.simulators.xnf.impl.StatusSuccess -import org.onap.dcae.collectors.veshv.tests.utils.waitUntilSucceeds -import java.util.* -import java.util.concurrent.Executors - -/** - * @author Piotr Jaszczyk <piotr.jaszczyk@nokia.com> - * @since September 2018 - */ -internal class OngoingSimulationsTest : Spek({ - val executor = Executors.newSingleThreadExecutor() - val cut = OngoingSimulations(executor) - - describe("simulations repository") { - given("not existing task task id") { - val id = UUID.randomUUID() - - on("status") { - val result = cut.status(id) - - it("should have 'not found' status") { - assertThat(result).isEqualTo(StatusNotFound) - } - } - } - - given("never ending task") { - val task = IO.async<Unit> { } - - on("startAsynchronousSimulation") { - val result = cut.startAsynchronousSimulation(task) - - it("should have ongoing status") { - assertThat(cut.status(result)).isEqualTo(StatusOngoing) - } - } - } - - given("failing task") { - val cause = RuntimeException("facepalm") - val task = IO.raiseError<Unit>(cause) - - on("startAsynchronousSimulation") { - val result = cut.startAsynchronousSimulation(task) - - it("should have failing status") { - waitUntilSucceeds { - assertThat(cut.status(result)).isEqualTo(StatusFailure(cause)) - } - } - } - } - - given("successful task") { - val task = IO { println("great success!") } - - on("startAsynchronousSimulation") { - val result = cut.startAsynchronousSimulation(task) - - it("should have successful status") { - waitUntilSucceeds { - assertThat(cut.status(result)).isEqualTo(StatusSuccess) - } - } - } - } - - afterGroup { - executor.shutdown() - } - } - - afterEachTest { cut.clear() } -}) diff --git a/hv-collector-xnf-simulator/src/test/kotlin/org/onap/dcae/collectors/veshv/main/XnfSimulatorTest.kt b/hv-collector-xnf-simulator/src/test/kotlin/org/onap/dcae/collectors/veshv/main/XnfSimulatorTest.kt deleted file mode 100644 index 95510e77..00000000 --- a/hv-collector-xnf-simulator/src/test/kotlin/org/onap/dcae/collectors/veshv/main/XnfSimulatorTest.kt +++ /dev/null @@ -1,114 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * dcaegen2-collectors-veshv - * ================================================================================ - * Copyright (C) 2018 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.Left -import arrow.core.None -import arrow.core.Right -import arrow.effects.IO -import com.nhaarman.mockitokotlin2.any -import com.nhaarman.mockitokotlin2.mock -import com.nhaarman.mockitokotlin2.whenever -import org.jetbrains.spek.api.Spek -import org.jetbrains.spek.api.dsl.describe -import org.jetbrains.spek.api.dsl.it -import org.onap.dcae.collectors.veshv.domain.WireFrameMessage -import org.onap.dcae.collectors.veshv.simulators.xnf.impl.XnfSimulator -import org.onap.dcae.collectors.veshv.simulators.xnf.impl.adapters.VesHvClient -import org.onap.dcae.collectors.veshv.tests.utils.Assertions.assertThat -import org.onap.dcae.collectors.veshv.ves.message.generator.api.MessageGenerator -import org.onap.dcae.collectors.veshv.ves.message.generator.api.MessageParameters -import org.onap.dcae.collectors.veshv.ves.message.generator.api.MessageParametersParser -import org.onap.dcae.collectors.veshv.ves.message.generator.api.ParsingError -import reactor.core.publisher.Flux -import java.io.ByteArrayInputStream - -/** - * @author Piotr Jaszczyk <piotr.jaszczyk@nokia.com> - * @since September 2018 - */ -internal class XnfSimulatorTest : Spek({ - lateinit var cut: XnfSimulator - lateinit var vesClient: VesHvClient - lateinit var messageParametersParser: MessageParametersParser - lateinit var messageGenerator: MessageGenerator - - beforeEachTest { - vesClient = mock() - messageParametersParser = mock() - messageGenerator = mock() - cut = XnfSimulator(vesClient, messageGenerator, messageParametersParser) - } - - describe("startSimulation") { - it("should fail when empty input stream") { - // given - val emptyInputStream = ByteArrayInputStream(byteArrayOf()) - - // when - val result = cut.startSimulation(emptyInputStream) - - // then - assertThat(result).isLeft() - } - - it("should fail when invalid JSON") { - // given - val invalidJson = "invalid json".byteInputStream() - - // when - val result = cut.startSimulation(invalidJson) - - // then - assertThat(result).isLeft() - } - - it("should fail when JSON syntax is valid but content is invalid") { - // given - val json = "[1,2,3]".byteInputStream() - val cause = ParsingError("epic fail", None) - whenever(messageParametersParser.parse(any())).thenReturn( - Left(cause)) - - // when - val result = cut.startSimulation(json) - - // then - assertThat(result).left().isEqualTo(cause) - } - - it("should return generated messages") { - // given - val json = "[true]".byteInputStream() - val messageParams = listOf<MessageParameters>() - val generatedMessages = Flux.empty<WireFrameMessage>() - val sendingIo = IO {} - whenever(messageParametersParser.parse(any())).thenReturn(Right(messageParams)) - whenever(messageGenerator.createMessageFlux(messageParams)).thenReturn(generatedMessages) - whenever(vesClient.sendIo(generatedMessages)).thenReturn(sendingIo) - - // when - val result = cut.startSimulation(json) - - // then - assertThat(result).right().isSameAs(sendingIo) - } - } -}) |