summaryrefslogtreecommitdiffstats
path: root/ms/blueprintsprocessor/functions/netconf-executor/src
diff options
context:
space:
mode:
Diffstat (limited to 'ms/blueprintsprocessor/functions/netconf-executor/src')
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImpl.kt1
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfDeviceCommunicatorTest.kt19
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImplTest.kt26
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/utils/NetconfMessageUtilsTest.kt179
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/cancelCommit-response-all-parameters-not-empty.xml5
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/cancelCommit-response-persistId-empty.xml5
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/closeSession-response-force-false.xml4
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/closeSession-response-force-true.xml4
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-false-and-persistId-empty-and-persist-not-empty.xml5
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-false-and-persistId-not-empty-and-persist-empty.xml5
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-true-and-persistId-empty-and-persist-empty.xml5
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/deleteConfig-response-all-parameters-not-empty.xml8
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/discardChanges-response-all-parameters-not-empty.xml4
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/doWrappedRpc-response.xml3
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/editConfig-response-all-parameters.xml12
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/editConfig-response-defaultOperation-null.xml11
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/getConfig-response-all-parameters.xml11
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/getConfig-response-filterContent-null.xml8
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/lock-response-all-parameters-not-empty.xml8
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/unlock-response-all-parameters-not-empty.xml8
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/validate-response.xml8
21 files changed, 315 insertions, 24 deletions
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImpl.kt b/ms/blueprintsprocessor/functions/netconf-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImpl.kt
index b1121b3d4..4daaceeff 100644
--- a/ms/blueprintsprocessor/functions/netconf-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImpl.kt
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImpl.kt
@@ -101,7 +101,6 @@ class NetconfSessionImpl(private val deviceInfo: DeviceInfo, private val rpcServ
return streamHandler.getFutureFromSendMessage(streamHandler.sendMessage(formattedRequest, messageId),
replyTimeout.toLong(), TimeUnit.SECONDS)
} catch (e: InterruptedException) {
- Thread.currentThread().interrupt()
throw NetconfException("$deviceInfo: Interrupted while waiting for reply for request: $formattedRequest", e)
} catch (e: TimeoutException) {
throw NetconfException("$deviceInfo: Timed out while waiting for reply for request $formattedRequest after $replyTimeout sec.",
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfDeviceCommunicatorTest.kt b/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfDeviceCommunicatorTest.kt
index cb023fd9a..47c729187 100644
--- a/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfDeviceCommunicatorTest.kt
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfDeviceCommunicatorTest.kt
@@ -24,19 +24,15 @@ import io.mockk.mockk
import io.mockk.spyk
import io.mockk.verify
import org.junit.Before
-import org.junit.Ignore
import org.junit.Test
import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.DeviceInfo
import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfReceivedEvent
import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfSession
import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfSessionListener
import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.utils.RpcMessageUtils
-import java.io.ByteArrayInputStream
import java.io.IOException
import java.io.InputStream
import java.io.OutputStream
-import java.io.Reader
-import java.io.Writer
import java.nio.charset.StandardCharsets
import java.util.concurrent.CompletableFuture
import java.util.concurrent.ConcurrentHashMap
@@ -62,13 +58,12 @@ class NetconfDeviceCommunicatorTest {
|
|#4
|<rpc
- |
|#18
| message-id="102"
|
|#79
- | xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
- | <close-session/>
+ | xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+ | <close-session/>
|</rpc>
|##
|""".trimMargin()
@@ -176,7 +171,6 @@ class NetconfDeviceCommunicatorTest {
assertEquals("", eventSlot.captured.messagePayload)
}
- @Ignore //TODO: Not clear on validateChunkedFraming, the size validation part could be discarding valid msg..
@Test
fun `NetconfDeviceCommunicator in END_CHUNKED_PATTERN passing validation generates DEVICE_REPLY`() {
val eventSlot = CapturingSlot<NetconfReceivedEvent>()
@@ -190,7 +184,12 @@ class NetconfDeviceCommunicatorTest {
assertTrue { eventSlot.isCaptured }
//eventually, sessionListener is called with message type DEVICE_REPLY
assertEquals(NetconfReceivedEvent.Type.DEVICE_REPLY, eventSlot.captured.type)
- assertEquals("", eventSlot.captured.messagePayload)
+ assertEquals("""
+<rpc message-id="102"
+ xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+ <close-session/>
+</rpc>
+ """.trimIndent(), eventSlot.captured.messagePayload)
}
@Test
@@ -199,7 +198,7 @@ class NetconfDeviceCommunicatorTest {
fun `chunked sample is validated by the chunked response regex`() {
val test1 = "\n#10\nblah\n##\n"
val chunkedFramingPattern = Pattern.compile("(\\n#([1-9][0-9]*)\\n(.+))+\\n##\\n", Pattern.DOTALL)
- val matcher = chunkedFramingPattern.matcher(validChunkedEncodedMsg)
+ val matcher = chunkedFramingPattern.matcher(test1)
assertTrue { matcher.matches() }
}
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImplTest.kt b/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImplTest.kt
index f5fd5410a..7f6c8d390 100644
--- a/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImplTest.kt
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfSessionImplTest.kt
@@ -32,7 +32,6 @@ import org.apache.sshd.client.future.DefaultOpenFuture
import org.apache.sshd.client.session.ClientSession
import org.apache.sshd.common.FactoryManager
import org.junit.Before
-import org.junit.Ignore
import org.junit.Test
import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.DeviceInfo
import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.DeviceResponse
@@ -278,7 +277,6 @@ class NetconfSessionImplTest {
verify(exactly = 1) { netconfSessionSpy.clearReplies() }
}
- @Ignore //TODO
//Test for handling CompletableFuture.get returns InterruptedException inside NetconfDeviceCommunicator
@Test
fun `syncRpc throws NetconfException if InterruptedException is caught`() {
@@ -360,19 +358,21 @@ class NetconfSessionImplTest {
}
@Test
- @Ignore
- //TODO: get 't' inside asyncRpc to be a Throwable
fun `asyncRpc wraps exception`() {
- assertFailsWith(exceptionClass = NetconfException::class, message = futureMsg) {
- val netconfSessionSpy = spyk(netconfSession)
- val futureRet: CompletableFuture<String> = CompletableFuture.supplyAsync {
- throw Exception("blah")
- }
- futureRet.completeExceptionally(IOException("something is wrong"))
- every { netconfCommunicator.sendMessage(any(), any()) } returns futureRet
- //RUN
- val rpcResultFuture = netconfSessionSpy.asyncRpc("0", "0")
+ val netconfSessionSpy = spyk(netconfSession)
+ every { netconfSessionSpy.checkAndReestablish() } just Runs
+ val futureRet: CompletableFuture<String> = CompletableFuture.supplyAsync {
+ throw Exception("blah")
+ }
+ every { netconfCommunicator.sendMessage(any(), any()) } returns futureRet
+ //run the method
+ val rpcResultFuture = netconfSessionSpy.asyncRpc("0", "0")
+ every { netconfSessionSpy.checkAndReestablish() } just Runs
+ val e = assertFailsWith(exceptionClass = ExecutionException::class, message = futureMsg) {
+ rpcResultFuture.get()
}
+ val cause = e.cause
+ assertTrue { cause is NetconfException }
}
@Test
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/utils/NetconfMessageUtilsTest.kt b/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/utils/NetconfMessageUtilsTest.kt
new file mode 100644
index 000000000..e24659d1d
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/utils/NetconfMessageUtilsTest.kt
@@ -0,0 +1,179 @@
+package org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.utils
+
+import org.junit.Assert.*
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfException
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
+import kotlin.test.Test
+import kotlin.test.assertFailsWith
+
+class NetconfMessageUtilsTest {
+
+ @Test
+ fun `test getConfig with all parameters present`() {
+ val outcome = NetconfMessageUtils.getConfig("customMessageId", "customConfigType", "customFilterContent")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/getConfig-response-all-parameters.xml")
+ assertEquals("getConfig return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test getConfig with filterContent parameter null`() {
+ val outcome = NetconfMessageUtils.getConfig("customMessageId", "customConfigType",null)
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/getConfig-response-filterContent-null.xml")
+ assertEquals("getConfig return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test doWrappedRpc`() {
+ val outcome = NetconfMessageUtils.doWrappedRpc("customMessageId", "customRequest")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/doWrappedRpc-response.xml")
+ assertEquals("doWrappedRpc return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test editConfig with all parameters present`() {
+ val outcome = NetconfMessageUtils.editConfig("customMessageId", "customConfigType", "customDefaultOperation",
+ "customNewConfiguration")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/editConfig-response-all-parameters.xml")
+ assertEquals("editConfig return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test editConfig with defaultOperation parameter null`() {
+ val outcome = NetconfMessageUtils.editConfig("customMessageId", "customConfigType", null,
+ "customNewConfiguration")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/editConfig-response-defaultOperation-null.xml")
+ assertEquals("editConfig return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test validate`() {
+ val outcome = NetconfMessageUtils.validate("customMessageId", "customConfigType")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/validate-response.xml")
+ assertEquals("validate return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test commit with both persistId and persist non-empty`() {
+ assertFailsWith(exceptionClass = NetconfException::class, message = "commit should have thrown an exception") {
+ NetconfMessageUtils.commit("customMessageId", false, 1, "customPersist", "customPersistId")
+ }
+ }
+
+ @Test
+ fun `test commit with confirmed true, persist empty and persistId non-empty`() {
+ assertFailsWith(exceptionClass = NetconfException::class, message = "commit should have thrown an exception") {
+ NetconfMessageUtils.commit("customMessageId", true, 1, "", "customPersistId")
+ }
+ }
+
+ @Test
+ fun `test commit with confirmed true, persistId empty and persist empty`() {
+ val outcome = NetconfMessageUtils.commit("customMessageId", true, 1, "", "")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/commit-response-confirmed-true-and-persistId-empty-and-persist-empty.xml")
+ assertEquals("commit return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test commit with confirmed false, persistId non-empty and persist empty`() {
+ val outcome = NetconfMessageUtils.commit("customMessageId", false, 1, "", "customPersistId")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/commit-response-confirmed-false-and-persistId-empty-and-persist-not-empty.xml")
+ assertEquals("commit return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test commit with confirmed false, persistId empty and persist non-empty`() {
+ val outcome = NetconfMessageUtils.commit("customMessageId", false, 1, "customPersist", "")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/commit-response-confirmed-false-and-persistId-not-empty-and-persist-empty.xml")
+ assertEquals("commit return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test cancelCommit with all parameters not empty`() {
+ val outcome = NetconfMessageUtils.cancelCommit("customMessageId", "customPersistId")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/cancelCommit-response-all-parameters-not-empty.xml")
+ assertEquals("cancelCommit return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test cancelCommit with persistId empty`() {
+ val outcome = NetconfMessageUtils.cancelCommit("customMessageId", "")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/cancelCommit-response-persistId-empty.xml")
+ assertEquals("cancelCommit return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test unlock with all parameters not empty`() {
+ val outcome = NetconfMessageUtils.unlock("customMessageId", "customConfigType")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/unlock-response-all-parameters-not-empty.xml")
+ assertEquals("unlock return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test deleteConfig with all parameters not empty`() {
+ val outcome = NetconfMessageUtils.deleteConfig("customMessageId", "customConfigType")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/deleteConfig-response-all-parameters-not-empty.xml")
+ assertEquals("deleteConfig return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test deleteConfig with configType equals to NetconfDatastore_RUNNING_datastore`() {
+ assertFailsWith(exceptionClass = NetconfException::class, message = "deleteConfig should have thrown an exception") {
+ NetconfMessageUtils.deleteConfig("customMessageId", NetconfDatastore.RUNNING.datastore)
+ }
+ }
+
+ @Test
+ fun `test discardChanges with all parameters not empty`() {
+ val outcome = NetconfMessageUtils.discardChanges("customMessageId")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/discardChanges-response-all-parameters-not-empty.xml")
+ assertEquals("discardChanges return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test lock with all parameters not empty`() {
+ val outcome = NetconfMessageUtils.lock("customMessageId", "customConfigType")
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/lock-response-all-parameters-not-empty.xml")
+ assertEquals("lock return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test closeSession with force true`() {
+ val outcome = NetconfMessageUtils.closeSession("customMessageId", true)
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/closeSession-response-force-true.xml")
+ assertEquals("closeSession return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test closeSession with force false`() {
+ val outcome = NetconfMessageUtils.closeSession("customMessageId", false)
+ val expectation = JacksonUtils.getClassPathFileContent("netconf-messages/closeSession-response-force-false.xml")
+ assertEquals("closeSession return was not correct", expectation, outcome)
+ }
+
+ //TODO validateRPCXML
+
+ @Test
+ fun `test getMsgId with valid message`() {
+ val messageId = "1234"
+ val outcome = NetconfMessageUtils.getMsgId("message-id=\"${messageId}\"")
+ val expectation = messageId
+ assertEquals("getMsgId return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test getMsgId with RpcMessageUtils_HELLO message`() {
+ val outcome = NetconfMessageUtils.getMsgId(RpcMessageUtils.HELLO)
+ val expectation = "-1"
+ assertEquals("getMsgId return was not correct", expectation, outcome)
+ }
+
+ @Test
+ fun `test getMsgId with invalid message`() {
+ val outcome = NetconfMessageUtils.getMsgId("invalid message")
+ val expectation = ""
+ assertEquals("getMsgId return was not correct", expectation, outcome)
+ }
+
+//TODO validateChunkedFraming
+
+}
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/cancelCommit-response-all-parameters-not-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/cancelCommit-response-all-parameters-not-empty.xml
new file mode 100644
index 000000000..7f5a44cc5
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/cancelCommit-response-all-parameters-not-empty.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<cancel-commit>
+<persist-id>customPersistId</persist-id></cancel-commit>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/cancelCommit-response-persistId-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/cancelCommit-response-persistId-empty.xml
new file mode 100644
index 000000000..5ffaf6fd9
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/cancelCommit-response-persistId-empty.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<cancel-commit>
+</cancel-commit>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/closeSession-response-force-false.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/closeSession-response-force-false.xml
new file mode 100644
index 000000000..282097b71
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/closeSession-response-force-false.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<close-session/>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/closeSession-response-force-true.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/closeSession-response-force-true.xml
new file mode 100644
index 000000000..01a28d923
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/closeSession-response-force-true.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<kill-session/>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-false-and-persistId-empty-and-persist-not-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-false-and-persistId-empty-and-persist-not-empty.xml
new file mode 100644
index 000000000..d19e5b41e
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-false-and-persistId-empty-and-persist-not-empty.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<commit>
+<persist-id>customPersistId</persist-id></commit>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-false-and-persistId-not-empty-and-persist-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-false-and-persistId-not-empty-and-persist-empty.xml
new file mode 100644
index 000000000..ac489b774
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-false-and-persistId-not-empty-and-persist-empty.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<commit>
+</commit>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-true-and-persistId-empty-and-persist-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-true-and-persistId-empty-and-persist-empty.xml
new file mode 100644
index 000000000..ad0fef80f
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/commit-response-confirmed-true-and-persistId-empty-and-persist-empty.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<commit>
+<confirmed/><confirm-timeout>1</confirm-timeout></commit>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/deleteConfig-response-all-parameters-not-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/deleteConfig-response-all-parameters-not-empty.xml
new file mode 100644
index 000000000..1758bde55
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/deleteConfig-response-all-parameters-not-empty.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<delete-config>
+<target>
+<customConfigType/>
+</target>
+</delete-config>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/discardChanges-response-all-parameters-not-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/discardChanges-response-all-parameters-not-empty.xml
new file mode 100644
index 000000000..3559dd9f6
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/discardChanges-response-all-parameters-not-empty.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<discard-changes/>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/doWrappedRpc-response.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/doWrappedRpc-response.xml
new file mode 100644
index 000000000..0f6c3e76b
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/doWrappedRpc-response.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+customRequest</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/editConfig-response-all-parameters.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/editConfig-response-all-parameters.xml
new file mode 100644
index 000000000..f4a789fea
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/editConfig-response-all-parameters.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<customConfigType/>
+</target>
+<default-operation>customDefaultOperation</default-operation>
+<config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
+customNewConfiguration
+</config>
+</edit-config>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/editConfig-response-defaultOperation-null.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/editConfig-response-defaultOperation-null.xml
new file mode 100644
index 000000000..8efa46e20
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/editConfig-response-defaultOperation-null.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<customConfigType/>
+</target>
+<config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
+customNewConfiguration
+</config>
+</edit-config>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/getConfig-response-all-parameters.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/getConfig-response-all-parameters.xml
new file mode 100644
index 000000000..4135c166b
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/getConfig-response-all-parameters.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<get-config>
+<source>
+<customConfigType/>
+</source>
+<filter type="subtree">
+customFilterContent
+</filter>
+</get-config>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/getConfig-response-filterContent-null.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/getConfig-response-filterContent-null.xml
new file mode 100644
index 000000000..dee751944
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/getConfig-response-filterContent-null.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<get-config>
+<source>
+<customConfigType/>
+</source>
+</get-config>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/lock-response-all-parameters-not-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/lock-response-all-parameters-not-empty.xml
new file mode 100644
index 000000000..1329e37b5
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/lock-response-all-parameters-not-empty.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<lock>
+<target>
+<customConfigType/>
+</target>
+</lock>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/unlock-response-all-parameters-not-empty.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/unlock-response-all-parameters-not-empty.xml
new file mode 100644
index 000000000..35a07f724
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/unlock-response-all-parameters-not-empty.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<unlock>
+<target>
+<customConfigType/>
+</target>
+</unlock>
+</rpc> \ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/validate-response.xml b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/validate-response.xml
new file mode 100644
index 000000000..3947be6e2
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/resources/netconf-messages/validate-response.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rpc message-id="customMessageId" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<validate>
+<source>
+<customConfigType/>
+</source>
+</validate>
+</rpc> \ No newline at end of file