Fix xNF simulator sslContext 36/73136/2
authorFilip Krzywka <filip.krzywka@nokia.com>
Tue, 20 Nov 2018 12:58:12 +0000 (13:58 +0100)
committerFilip Krzywka <filip.krzywka@nokia.com>
Wed, 21 Nov 2018 13:30:46 +0000 (13:30 +0000)
If --ssl-disable flag is specified in command line arguments, we shouldn't
put sslContext into TcpClient as this results in IllegalArgument.

Change-Id: I2e2d2ea89736f1e372e1b408c8f3cbe50bf1ecea
Issue-ID: DCAEGEN2-985
Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
hv-collector-xnf-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/xnf/impl/adapters/VesHvClient.kt

index 8df416c..57aaf3d 100644 (file)
 package org.onap.dcae.collectors.veshv.simulators.xnf.impl.adapters
 
 import arrow.core.Option
-import io.netty.handler.ssl.ClientAuth
+import arrow.core.getOrElse
 import io.netty.handler.ssl.SslContext
-import io.netty.handler.ssl.SslContextBuilder
-import io.netty.handler.ssl.SslProvider
 import org.onap.dcae.collectors.veshv.domain.WireFrameMessage
 import org.onap.dcae.collectors.veshv.domain.SecurityConfiguration
 import org.onap.dcae.collectors.veshv.domain.WireFrameEncoder
@@ -47,9 +45,12 @@ class VesHvClient(private val configuration: SimulatorConfiguration) {
     private val client: TcpClient = TcpClient.create()
             .host(configuration.vesHost)
             .port(configuration.vesPort)
-            .secure { sslSpec ->
-                createSslContext(configuration.security).fold({}, sslSpec::sslContext)
-            }
+            .configureSsl()
+
+    private fun TcpClient.configureSsl() =
+            createSslContext(configuration.security)
+                    .map { sslContext -> this.secure(sslContext) }
+                    .getOrElse { this }
 
     fun sendIo(messages: Flux<WireFrameMessage>) =
             sendRx(messages).then(Mono.just(Unit)).asIo()