UT for GRPC lib 49/86849/1
authorjanani b <janani.b@huawei.com>
Thu, 2 May 2019 07:06:13 +0000 (12:36 +0530)
committerDan Timoney <dtimoney@att.com>
Thu, 2 May 2019 19:01:06 +0000 (19:01 +0000)
GRPC code UT

Issue-ID: CCSDK-1229

Change-Id: Ia49647abcfcd24038736932c434929216f562f32
Signed-off-by: janani b <janani.b@huawei.com>
(cherry picked from commit c92e294c4f5e053a641b36b969fad3ed73269ab8)

ms/blueprintsprocessor/modules/commons/grpc-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/grpc/service/BluePrintGrpcLibPropertyServiceTest.kt

index a459d5f..8df218f 100644 (file)
 
 package org.onap.ccsdk.cds.blueprintsprocessor.grpc.service
 
+import com.fasterxml.jackson.databind.JsonNode
+import com.fasterxml.jackson.databind.ObjectMapper
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintProperties
 import org.onap.ccsdk.cds.blueprintsprocessor.core.BlueprintPropertyConfiguration
 import org.onap.ccsdk.cds.blueprintsprocessor.grpc.BasicAuthGrpcClientProperties
 import org.onap.ccsdk.cds.blueprintsprocessor.grpc.BluePrintGrpcLibConfiguration
+import org.onap.ccsdk.cds.blueprintsprocessor.grpc.TokenAuthGrpcClientProperties
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.test.context.ContextConfiguration
 import org.springframework.test.context.TestPropertySource
 import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.assertEquals
 import kotlin.test.assertNotNull
+import kotlin.test.assertTrue
 
 @RunWith(SpringRunner::class)
 @ContextConfiguration(classes = [BluePrintGrpcLibConfiguration::class,
@@ -36,21 +41,92 @@ import kotlin.test.assertNotNull
     "blueprintsprocessor.grpcclient.sample.host=127.0.0.1",
     "blueprintsprocessor.grpcclient.sample.port=50505",
     "blueprintsprocessor.grpcclient.sample.username=sampleuser",
-    "blueprintsprocessor.grpcclient.sample.password=sampleuser"
+    "blueprintsprocessor.grpcclient.sample.password=sampleuser",
+    "blueprintsprocessor.grpcclient.token.type=token-auth",
+    "blueprintsprocessor.grpcclient.token.host=127.0.0.1",
+    "blueprintsprocessor.grpcclient.token.port=50505",
+    "blueprintsprocessor.grpcclient.token.username=sampleuser",
+    "blueprintsprocessor.grpcclient.token.password=sampleuser"
 ])
 class BluePrintGrpcLibPropertyServiceTest {
 
     @Autowired
     lateinit var bluePrintGrpcLibPropertyService: BluePrintGrpcLibPropertyService
 
+    /**
+     * Tests the GRPC client properties with selector for basic auth.
+     */
     @Test
     fun testGrpcClientProperties() {
         val properties = bluePrintGrpcLibPropertyService.grpcClientProperties(
-                "blueprintsprocessor.grpcclient.sample") as BasicAuthGrpcClientProperties
+                "blueprintsprocessor.grpcclient.sample")
+                as BasicAuthGrpcClientProperties
         assertNotNull(properties, "failed to create property bean")
-        assertNotNull(properties.host, "failed to get host property in property bean")
-        assertNotNull(properties.port, "failed to get host property in property bean")
-        assertNotNull(properties.username, "failed to get host property in property bean")
-        assertNotNull(properties.password, "failed to get host property in property bean")
+        assertNotNull(properties.host, "failed to get host property" +
+                " in property bean")
+        assertNotNull(properties.port, "failed to get host property" +
+                " in property bean")
+        assertNotNull(properties.username, "failed to get host pro" +
+                "perty in property bean")
+        assertNotNull(properties.password, "failed to get host pr" +
+                "operty in property bean")
+    }
+
+    /**
+     * Tests the GRPC client properties with JSON node for token auth.
+     */
+    @Test
+    fun testGrpcClientPropertiesWithJson() {
+        val json: String = "{\n" +
+                "  \"type\" : \"token-auth\",\n" +
+                "  \"host\" : \"127.0.0.1\",\n" +
+                "  \"port\" : \"50505\"\n" +
+                "}"
+        val mapper = ObjectMapper()
+        val actualObj: JsonNode = mapper.readTree(json)
+        val properties = bluePrintGrpcLibPropertyService.grpcClientProperties(
+                actualObj) as TokenAuthGrpcClientProperties
+        assertNotNull(properties, "failed to create property bean")
+        assertEquals(properties.host, "127.0.0.1")
+        assertNotNull(properties.port, "50505")
+    }
+
+    /**
+     * Tests the GRPC client service with selector for basic auth.
+     */
+    @Test
+    fun testGrpcClientServiceBasic() {
+        val svc = bluePrintGrpcLibPropertyService.blueprintGrpcClientService(
+                "sample")
+        assertTrue(svc is BasicAuthGrpcClientService)
+    }
+
+    /**
+     * Tests the GRPC client service with selector for token auth.
+     */
+    @Test
+    fun testGrpcClientServiceToken() {
+        val svc = bluePrintGrpcLibPropertyService.blueprintGrpcClientService(
+                "token")
+        assertTrue(svc is TokenAuthGrpcClientService)
+    }
+
+    /**
+     * Tests the GRPC client service with JSON node for basic auth.
+     */
+    @Test
+    fun testGrpcClientServiceWithJson() {
+        val json: String = "{\n" +
+                "  \"type\" : \"basic-auth\",\n" +
+                "  \"host\" : \"127.0.0.1\",\n" +
+                "  \"port\" : \"50505\",\n" +
+                "  \"username\" : \"sampleuser\",\n" +
+                "  \"password\" : \"samplepwd\"\n" +
+                "}"
+        val mapper = ObjectMapper()
+        val actualObj: JsonNode = mapper.readTree(json)
+        val svc = bluePrintGrpcLibPropertyService
+                .blueprintGrpcClientService(actualObj)
+        assertTrue(svc is BasicAuthGrpcClientService)
     }
 }
\ No newline at end of file