summaryrefslogtreecommitdiffstats
path: root/ms/blueprintsprocessor/functions/resource-resolution
diff options
context:
space:
mode:
authorOleg Mitsura <oleg.mitsura@amdocs.com>2019-05-13 15:49:03 -0400
committerAlexis de Talhouƫt <adetalhouet89@gmail.com>2019-05-21 13:51:42 +0000
commit8a44d244e220de18f0add7b1771344b1b41cacd2 (patch)
tree6f70f3037fc7965de2a7ebcb435c150fecfdf70c /ms/blueprintsprocessor/functions/resource-resolution
parent1ba3e762e27b09465339f90f624faff3b58059d1 (diff)
BlueprintWebClientService: added return status
Issue-ID: CCSDK-1331 Change-Id: I8dab8ad4eaebf1863f11c4d38c52cf7f64b0a4d5 Signed-off-by: Oleg Mitsura <oleg.mitsura@amdocs.com> (cherry picked from commit 9eb8b8a88bfac860a94b62b203b00c64330a1be7)
Diffstat (limited to 'ms/blueprintsprocessor/functions/resource-resolution')
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/RestResourceResolutionProcessor.kt13
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockBlueprintWebClientService.kt10
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt14
3 files changed, 22 insertions, 15 deletions
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/RestResourceResolutionProcessor.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/RestResourceResolutionProcessor.kt
index 2d726d487..7eefe954d 100644
--- a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/RestResourceResolutionProcessor.kt
+++ b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/RestResourceResolutionProcessor.kt
@@ -27,7 +27,6 @@ import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BlueprintWebClientSer
import org.onap.ccsdk.cds.controllerblueprints.core.*
import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
-import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceDictionaryConstants
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.config.ConfigurableBeanFactory
import org.springframework.context.annotation.Scope
@@ -86,10 +85,14 @@ open class RestResourceResolutionProcessor(private val blueprintRestLibPropertyS
val restClientService = blueprintWebClientService(resourceAssignment, sourceProperties)
val response = restClientService.exchangeResource(verb, urlPath, payload)
- if (response.isBlank()) {
- logger.warn("Failed to get $dSource result for dictionary name ($dName) using urlPath ($urlPath)")
+ val responseStatusCode = response.status
+ val responseBody = response.body
+ if (responseStatusCode in 200..299 && !responseBody.isBlank()) {
+ populateResource(resourceAssignment, sourceProperties, responseBody, path)
} else {
- populateResource(resourceAssignment, sourceProperties, response, path)
+ val errMsg = "Failed to get $dSource result for dictionary name ($dName) using urlPath ($urlPath) response_code: ($responseStatusCode)"
+ logger.warn(errMsg)
+ throw BluePrintProcessorException(errMsg)
}
}
// Check the value has populated for mandatory case
@@ -204,4 +207,4 @@ open class RestResourceResolutionProcessor(private val blueprintRestLibPropertyS
raRuntimeService.getBluePrintError().addError(runtimeException.message!!)
}
-} \ No newline at end of file
+}
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockBlueprintWebClientService.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockBlueprintWebClientService.kt
index c6ca41351..fede7be7b 100644
--- a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockBlueprintWebClientService.kt
+++ b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockBlueprintWebClientService.kt
@@ -61,17 +61,17 @@ class MockBlueprintWebClientService(private var restClientProperties: RestClient
mockServer.close()
}
- override fun exchangeResource(method: String, path: String, payload: String): String {
+ override fun exchangeResource(method: String, path: String, payload: String): BlueprintWebClientService.WebClientResponse<String> {
val header = arrayOf(BasicHeader(HttpHeaders.AUTHORIZATION, headers[HttpHeaders.AUTHORIZATION]))
return when (method) {
"POST" -> {
- post(path, payload, header)
+ post(path, payload, header, String::class.java)
}
"PUT" -> {
- put(path, payload, header)
+ put(path, payload, header, String::class.java)
}
else -> {
- get(path, header)
+ get(path, header, String::class.java)
}
}
}
@@ -121,4 +121,4 @@ class MockBlueprintWebClientService(private var restClientProperties: RestClient
return Base64.getEncoder().encodeToString(
credentialsString.toByteArray(Charset.defaultCharset()))
}
-} \ No newline at end of file
+}
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt
index 2c481dca3..eb2a7a7ed 100644
--- a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt
+++ b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt
@@ -80,11 +80,15 @@ class MockRestResourceResolutionProcessor(private val blueprintRestLibPropertySe
val restClientService = blueprintWebClientService(executionRequest)
val response = restClientService.exchangeResource(verb, urlPath, payload)
- if (response.isEmpty()) {
- logger.warn("Failed to get $dSource result for dictionary name ($dName) using urlPath ($urlPath)")
- } else {
- populateResource(executionRequest, sourceProperties, response, path)
+ val responseStatusCode = response.status
+ val responseBody = response.body
+ if (responseStatusCode in 200..299 && !responseBody.isBlank()) {
+ populateResource(executionRequest, sourceProperties, responseBody, path)
restClientService.tearDown()
+ } else {
+ val errMsg = "Failed to get $dSource result for dictionary name ($dName) using urlPath ($urlPath) response_code: ($responseStatusCode)"
+ logger.warn(errMsg)
+ throw BluePrintProcessorException(errMsg)
}
}
} catch (e: Exception) {
@@ -156,4 +160,4 @@ class MockRestResourceResolutionProcessor(private val blueprintRestLibPropertySe
}
}
}
-} \ No newline at end of file
+}