netconf-executor: RpcMessageUtilsTest improvement 36/84936/3
authorOleg Mitsura <oleg.mitsura@amdocs.com>
Wed, 10 Apr 2019 19:37:00 +0000 (15:37 -0400)
committerOleg Mitsura <oleg.mitsura@amdocs.com>
Wed, 10 Apr 2019 20:28:28 +0000 (16:28 -0400)
Issue-ID: CCSDK-1126

Change-Id: I245661bb6ca1afa6aece98c83a1758a7a6f93621
Signed-off-by: Oleg Mitsura <oleg.mitsura@amdocs.com>
ms/blueprintsprocessor/functions/netconf-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/utils/NetconfMessageUtils.kt
ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/utils/RpcMessageUtilsTest.kt

index 1ffc9a6..bb5cdb0 100644 (file)
@@ -396,7 +396,7 @@ class NetconfMessageUtils {
 
         fun checkReply(reply: String?): Boolean {
             return if (reply != null) {
-                !reply.contains("rpc-error>") || reply.contains("warning") || reply.contains("ok/>")
+                !reply.contains("rpc-error>") || reply.contains("ok/>")
             } else false
         }
     }
index a4ef441..ffbf730 100644 (file)
@@ -17,8 +17,11 @@ package org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.utils
 
 import org.junit.Assert
 import org.junit.Assert.assertTrue
+import org.junit.Ignore
 import org.junit.Test
 import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfException
+import kotlin.test.assertFailsWith
+import kotlin.test.assertFalse
 import kotlin.test.fail
 
 class RpcMessageUtilsTest {
@@ -213,6 +216,15 @@ class RpcMessageUtilsTest {
         Assert.assertEquals(checkString, result)
     }
 
+    @Test
+    fun deleteConfigThrowsNetconfExceptionOnRunningDataStore() {
+        assertFailsWith(exceptionClass = NetconfException::class) {
+            val netconfTargetConfig = NetconfDatastore.RUNNING.datastore
+            val msgId = "35"
+            NetconfMessageUtils.deleteConfig(msgId, netconfTargetConfig)
+        }
+    }
+
     @Test
     fun discardChanges() {
         val checkString = ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
@@ -277,10 +289,20 @@ class RpcMessageUtilsTest {
     }
 
     @Test
-    fun checkReply(){
+    fun `checkReply should return true on ok msg`() {
         assertTrue(NetconfMessageUtils.checkReply("ok"))
     }
 
+    @Test
+    fun `checkReply on rpc-error should return false`() {
+        assertFalse { NetconfMessageUtils.checkReply("something something rpc-error>") }
+    }
+
+    @Test
+    fun `checkReply on null input should return false`() {
+        assertFalse { NetconfMessageUtils.checkReply(null) }
+    }
+
     @Test
     fun formatRPCRequest(){
         val checkString = ("#199" +
@@ -296,11 +318,17 @@ class RpcMessageUtilsTest {
 
         val result = NetconfMessageUtils.formatRPCRequest(request,messageId,capabilities).replace("[\n\r\t]".toRegex(), "")
         Assert.assertEquals(checkString, result)
-
-
     }
 
+    @Test
+    fun `validateRPCXML on empty input returns false`() {
+        assertFalse { NetconfMessageUtils.validateRPCXML("") }
+    }
 
-
+    @Test
+    fun `validateRPCXML on bad input returns false`() {
+        println("Don't fear \"[Fatal Error] :1:1: Content is not allowed in prolog.\" TODO: adjust logging for NetconfMessageUtils")
+        assertFalse { NetconfMessageUtils.validateRPCXML("really bad XML ~~~input") }
+    }
 
 }
\ No newline at end of file