aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJozsef Csongvai <jozsef.csongvai@bell.ca>2020-04-30 13:27:56 -0400
committerDan Timoney <dtimoney@att.com>2020-04-30 19:48:17 +0000
commit465d3a5478ebb88a536bf5becf4646e4608fc2f3 (patch)
treec5ae95a2d952e63f4680533b8bf38ae57a628109
parent3858bde949a3008de512a026264d8787138348b1 (diff)
Fix null safety - ResourceResolutionDBService.write
Issue-ID: CCSDK-2352 Signed-off-by: Jozsef Csongvai <jozsef.csongvai@bell.ca> Change-Id: I49a56dff0636617111f02be141764600e0a1e082 (cherry picked from commit 3fb8905c569e11c5c1a92ea583124e911862b596)
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBService.kt10
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBServiceTest.kt24
2 files changed, 29 insertions, 5 deletions
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBService.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBService.kt
index dc1553747..1a5d062a3 100644
--- a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBService.kt
+++ b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBService.kt
@@ -181,11 +181,11 @@ class ResourceResolutionDBService(private val resourceResolutionRepository: Reso
resourceResolution.resolutionKey = resolutionKey
resourceResolution.resourceType = resourceType
resourceResolution.resourceId = resourceId
- if (BluePrintConstants.STATUS_SUCCESS == resourceAssignment.status) {
- resourceResolution.value = JacksonUtils.getValue(resourceAssignment.property?.value!!).toString()
- } else {
- resourceResolution.value = ""
- }
+ resourceResolution.value = resourceAssignment.property?.value?.let {
+ if (BluePrintConstants.STATUS_SUCCESS == resourceAssignment.status)
+ JacksonUtils.getValue(it).toString()
+ else ""
+ } ?: ""
resourceResolution.name = resourceAssignment.name
resourceResolution.dictionaryName = resourceAssignment.dictionaryName
resourceResolution.dictionaryVersion = resourceAssignment.version
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBServiceTest.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBServiceTest.kt
index e667cd16f..672d4b75d 100644
--- a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBServiceTest.kt
+++ b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionDBServiceTest.kt
@@ -18,6 +18,7 @@ package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.db
import io.mockk.every
import io.mockk.mockk
+import io.mockk.slot
import kotlinx.coroutines.runBlocking
import org.junit.Before
import org.junit.Test
@@ -225,6 +226,29 @@ open class ResourceResolutionDBServiceTest {
}
@Test
+ fun writeWithNullValue() {
+ val slot = slot<ResourceResolution>()
+ val resourceAssignment = ResourceAssignment()
+ resourceAssignment.status = BluePrintConstants.STATUS_SUCCESS
+ resourceAssignment.dictionarySource = "ddSource"
+ resourceAssignment.dictionaryName = "ddName"
+ resourceAssignment.version = 1
+ resourceAssignment.name = "test"
+ every {
+ resourceResolutionRepository.saveAndFlush(capture(slot))
+ } returns ResourceResolution()
+ runBlocking {
+ resourceResolutionDBService.write(
+ props, bluePrintRuntimeService, artifactPrefix, resourceAssignment
+ )
+
+ val res = slot.captured
+
+ assertEquals("", res.value)
+ }
+ }
+
+ @Test
fun deleteByBlueprintNameAndBlueprintVersionAndArtifactNameAndResolutionKeyTest() {
every {
resourceResolutionRepository.deleteByBlueprintNameAndBlueprintVersionAndArtifactNameAndResolutionKey(any(), any(), any(), any())