1 package org.onap.dcae.collectors.veshv.impl.adapters
 
   3 import com.nhaarman.mockito_kotlin.mock
 
   4 import com.nhaarman.mockito_kotlin.whenever
 
   5 import org.jetbrains.spek.api.Spek
 
   6 import org.jetbrains.spek.api.dsl.given
 
   7 import org.jetbrains.spek.api.dsl.it
 
   8 import org.onap.ves.VesEventV5.VesEvent.CommonEventHeader.Domain
 
   9 import reactor.core.publisher.Mono
 
  11 import kotlin.test.assertEquals
 
  14  * @author Jakub Dudycz <jakub.dudycz@nokia.com>
 
  17 internal object ConsulConfigurationProviderTest : Spek({
 
  19     given("valid resource url") {
 
  20         val testUrl = "http://valid-url/"
 
  21         val httpAdapterMock: HttpAdapter = mock()
 
  22         val consulConfigProvider = ConsulConfigurationProvider(testUrl, httpAdapterMock)
 
  24         whenever(httpAdapterMock.getResponse(testUrl)).thenReturn(Mono.just(constructConsulResponse()))
 
  27         it("should create valid collector configuration") {
 
  28             val response = consulConfigProvider().blockFirst()
 
  29             assertEquals("val1", response.kafkaBootstrapServers)
 
  30             val route = response.routing.routes[0]
 
  31             assertEquals(Domain.MEASUREMENTS_FOR_VF_SCALING, route.domain)
 
  32             assertEquals("val3", route.targetTopic)
 
  37 fun constructConsulResponse(): String {
 
  40         "kafkaBootstrapServers": "val1",
 
  47     val encodedValue = String(Base64.getEncoder().encode(config.toByteArray()))
 
  56             "Value": "$encodedValue",
 
  57             "Session": "adf4238a-882b-9ddc-4a9d-5b6758e4159e"