BlueprintCompilerCacheMessageListener should also clean deploy folder
[ccsdk/cds.git] / ms / blueprintsprocessor / modules / commons / processor-core / src / test / kotlin / org / onap / ccsdk / cds / blueprintsprocessor / core / listeners / BlueprintCompilerCacheMessageListenerTest.kt
diff --git a/ms/blueprintsprocessor/modules/commons/processor-core/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/core/listeners/BlueprintCompilerCacheMessageListenerTest.kt b/ms/blueprintsprocessor/modules/commons/processor-core/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/core/listeners/BlueprintCompilerCacheMessageListenerTest.kt
new file mode 100644 (file)
index 0000000..bcdb085
--- /dev/null
@@ -0,0 +1,68 @@
+package org.onap.ccsdk.cds.blueprintsprocessor.core.listeners
+
+import io.mockk.mockk
+import kotlinx.coroutines.runBlocking
+import org.onap.ccsdk.cds.blueprintsprocessor.core.cluster.BlueprintClusterTopic
+import org.onap.ccsdk.cds.blueprintsprocessor.core.service.BluePrintClusterMessage
+import org.onap.ccsdk.cds.blueprintsprocessor.core.service.BluePrintClusterService
+import org.onap.ccsdk.cds.blueprintsprocessor.core.service.ClusterMember
+import org.onap.ccsdk.cds.controllerblueprints.core.deleteNBDir
+import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
+import org.onap.ccsdk.cds.controllerblueprints.core.reCreateNBDirs
+import java.io.File
+import kotlin.test.AfterTest
+import kotlin.test.BeforeTest
+import kotlin.test.Test
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
+
+class BlueprintCompilerCacheMessageListenerTest {
+    private val path = "deploy"
+    private val artifactName = "TEST_CBA"
+    private val artifactVersion = "1.0.0"
+    private val payload = "$path/$artifactName/$artifactVersion"
+    private val deployFile: File = normalizedFile(path, artifactName, artifactVersion)
+
+    @BeforeTest
+    fun setUp() {
+        runBlocking {
+            println("creating ${deployFile.absolutePath}")
+            deployFile.reCreateNBDirs()
+        }
+    }
+
+    @AfterTest
+    fun cleanup() {
+        runBlocking {
+            deleteNBDir(normalizedFile(path).absolutePath)
+        }
+    }
+
+    @Test
+    fun `test deleteNBDir for given path`() {
+        runBlocking {
+            assertTrue { deployFile.exists() }
+            println("deleting ${deployFile.absolutePath}")
+            deleteNBDir(deployFile.absolutePath)
+            assertFalse { deployFile.exists() }
+        }
+    }
+    @Test
+    fun `test onMessage`() {
+        assertTrue { deployFile.exists() }
+        val messageListener = BlueprintCompilerCacheMessageListener(mockk<BluePrintClusterService>(relaxed = true))
+        messageListener.onMessage(
+            BluePrintClusterMessage(
+                BlueprintClusterTopic.BLUEPRINT_CLEAN_COMPILER_CACHE,
+                payload,
+                1,
+                ClusterMember(
+                    id = "id",
+                    name = "memberName",
+                    memberAddress = "memberAdress"
+                )
+            )
+        )
+        assertFalse { deployFile.exists() }
+    }
+}