Implement GRPC response payload
[ccsdk/cds.git] / ms / blueprintsprocessor / modules / inbounds / designer-api / src / test / kotlin / org / onap / ccsdk / cds / blueprintsprocessor / designer / api / BluePrintManagementGRPCHandlerTest.kt
index f0411b0..9f1bd9c 100644 (file)
@@ -20,11 +20,16 @@ package org.onap.ccsdk.cds.blueprintsprocessor.designer.api
 
 import com.google.protobuf.ByteString
 import io.grpc.testing.GrpcServerRule
+import kotlinx.coroutines.runBlocking
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.blueprintsprocessor.grpc.GRPCLibConstants
+import org.onap.ccsdk.cds.blueprintsprocessor.grpc.TokenAuthGrpcClientProperties
+import org.onap.ccsdk.cds.blueprintsprocessor.grpc.service.TokenAuthGrpcClientService
 import org.onap.ccsdk.cds.controllerblueprints.common.api.ActionIdentifiers
 import org.onap.ccsdk.cds.controllerblueprints.common.api.CommonHeader
+import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
 import org.onap.ccsdk.cds.controllerblueprints.core.deleteDir
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
 import org.onap.ccsdk.cds.controllerblueprints.management.api.*
@@ -34,15 +39,13 @@ import org.springframework.context.annotation.ComponentScan
 import org.springframework.test.annotation.DirtiesContext
 import org.springframework.test.context.TestPropertySource
 import org.springframework.test.context.junit4.SpringRunner
-import kotlin.test.AfterTest
-import kotlin.test.BeforeTest
-import kotlin.test.assertEquals
-import kotlin.test.assertTrue
+import kotlin.test.*
 
 @RunWith(SpringRunner::class)
 @EnableAutoConfiguration
 @DirtiesContext
-@ComponentScan(basePackages = ["org.onap.ccsdk.cds.blueprintsprocessor", "org.onap.ccsdk.cds.controllerblueprints"])
+@ComponentScan(basePackages = ["org.onap.ccsdk.cds.blueprintsprocessor",
+    "org.onap.ccsdk.cds.controllerblueprints"])
 @TestPropertySource(locations = ["classpath:application-test.properties"])
 class BluePrintManagementGRPCHandlerTest {
 
@@ -72,7 +75,8 @@ class BluePrintManagementGRPCHandlerTest {
         val output = blockingStub.uploadBlueprint(req)
 
         assertEquals(200, output.status.code)
-        assertTrue(output.status.message.contains("Successfully uploaded CBA"))
+        assertTrue(output.status.message.contentEquals(BluePrintConstants.STATUS_SUCCESS),
+                "failed to get success status")
         assertEquals(id, output.commonHeader.requestId)
     }
 
@@ -84,7 +88,8 @@ class BluePrintManagementGRPCHandlerTest {
 
         var output = blockingStub.uploadBlueprint(req)
         assertEquals(200, output.status.code)
-        assertTrue(output.status.message.contains("Successfully uploaded CBA"))
+        assertTrue(output.status.message.contentEquals(BluePrintConstants.STATUS_SUCCESS),
+                "failed to get success status")
         assertEquals(id, output.commonHeader.requestId)
 
         val removeReq = createRemoveInputRequest(id)
@@ -92,6 +97,28 @@ class BluePrintManagementGRPCHandlerTest {
         assertEquals(200, output.status.code)
     }
 
+    /** This is Integration test sample, Do not enable this test case in server build, this is for local desktop testing*/
+    private fun integrationTestGrpcManagement() {
+        runBlocking {
+            val tokenAuthGrpcClientProperties = TokenAuthGrpcClientProperties().apply {
+                host = "127.0.0.1"
+                port = 9111
+                type = GRPCLibConstants.TYPE_TOKEN_AUTH
+                token = "Basic Y2NzZGthcHBzOmNjc2RrYXBwcw=="
+            }
+            val basicAuthGrpcClientService = TokenAuthGrpcClientService(tokenAuthGrpcClientProperties)
+            val channel = basicAuthGrpcClientService.channel()
+
+            val blockingStub = BluePrintManagementServiceGrpc.newBlockingStub(channel)
+
+            val bluePrintUploadInput = createUploadInputRequest("12345", UploadAction.DRAFT.toString())
+
+            val bluePrintManagementOutput = blockingStub.uploadBlueprint(bluePrintUploadInput)
+            assertNotNull(bluePrintManagementOutput, "failed to get response")
+        }
+    }
+
+
     private fun createUploadInputRequest(id: String, action: String): BluePrintUploadInput {
         val file = normalizedFile("./src/test/resources/test-cba.zip")
         assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")