aboutsummaryrefslogtreecommitdiffstats
path: root/ms/blueprintsprocessor/functions/netconf-executor/src/test
diff options
context:
space:
mode:
authorOleg Mitsura <oleg.mitsura@amdocs.com>2019-04-08 16:47:45 -0400
committerOleg Mitsura <oleg.mitsura@amdocs.com>2019-04-08 16:47:45 -0400
commitee01c09ce809a7d5171662e564a98c1ec1ea40fc (patch)
treec0f7655eed5f56d18f479aa532ea378891915755 /ms/blueprintsprocessor/functions/netconf-executor/src/test
parentdbd67ee741f4e3d255dfbe2674ad45ea854598fd (diff)
netconf-executor tests: adding MessageStateTests
Issue-ID: CCSDK-1126 Change-Id: I6351163cf6e157eda41a47b07e53dfaac00f5da5 Signed-off-by: Oleg Mitsura <oleg.mitsura@amdocs.com>
Diffstat (limited to 'ms/blueprintsprocessor/functions/netconf-executor/src/test')
-rw-r--r--ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfMessageStateTest.kt146
1 files changed, 146 insertions, 0 deletions
diff --git a/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfMessageStateTest.kt b/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfMessageStateTest.kt
new file mode 100644
index 000000000..95148dd11
--- /dev/null
+++ b/ms/blueprintsprocessor/functions/netconf-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/netconf/executor/core/NetconfMessageStateTest.kt
@@ -0,0 +1,146 @@
+/*
+ * Copyright © 2019 Bell Canada
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.core
+
+import org.junit.Test
+import kotlin.test.assertEquals
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.core.NetconfDeviceCommunicator.NetconfMessageState
+class NetconfMessageStateTest {
+
+ private val charList: List<Char> = Char.MIN_VALUE.toInt().rangeTo(Char.MAX_VALUE.toInt())
+ .map { it -> it.toChar() }
+
+ @Test
+ fun `NO_MATCHING_PATTERN transitions`() {
+ assertEquals(NetconfMessageState.FIRST_BRACKET,
+ NetconfMessageState.NO_MATCHING_PATTERN.evaluateChar(']'))
+ assertEquals(NetconfMessageState.FIRST_LF,
+ NetconfMessageState.NO_MATCHING_PATTERN.evaluateChar('\n'))
+
+ charList.minus(listOf(']','\n')).forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.NO_MATCHING_PATTERN.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `FIRST_BRACKET transitions`() {
+ assertEquals(NetconfMessageState.SECOND_BRACKET,
+ NetconfMessageState.FIRST_BRACKET.evaluateChar(']'))
+
+ charList.minus( ']').forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.FIRST_BRACKET.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `SECOND_BRACKET transitions`() {
+ assertEquals(NetconfMessageState.FIRST_BIGGER,
+ NetconfMessageState.SECOND_BRACKET.evaluateChar('>'))
+
+ charList.minus('>').forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.SECOND_BRACKET.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `FIRST_BIGGER transitions`() {
+ assertEquals(NetconfMessageState.THIRD_BRACKET,
+ NetconfMessageState.FIRST_BIGGER.evaluateChar(']'))
+
+ charList.minus(']').forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.FIRST_BIGGER.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `THIRD_BRACKET transitions`() {
+ assertEquals(NetconfMessageState.ENDING_BIGGER,
+ NetconfMessageState.THIRD_BRACKET.evaluateChar(']'))
+
+ charList.minus(']').forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.THIRD_BRACKET.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `ENDING_BIGGER transitions`() {
+ assertEquals(NetconfMessageState.END_PATTERN,
+ NetconfMessageState.ENDING_BIGGER.evaluateChar('>'))
+
+ charList.minus('>').forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.ENDING_BIGGER.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `FIRST_LF transitions`() {
+ assertEquals(NetconfMessageState.FIRST_HASH,
+ NetconfMessageState.FIRST_LF.evaluateChar('#'))
+ assertEquals(NetconfMessageState.FIRST_BRACKET,
+ NetconfMessageState.FIRST_LF.evaluateChar(']'))
+ assertEquals(NetconfMessageState.FIRST_LF,
+ NetconfMessageState.FIRST_LF.evaluateChar('\n'))
+ charList.minus(listOf('#', ']', '\n')).forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.FIRST_LF.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `FIRST_HASH transitions`() {
+ assertEquals(NetconfMessageState.SECOND_HASH,
+ NetconfMessageState.FIRST_HASH.evaluateChar('#'))
+ charList.minus('#').forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.FIRST_HASH.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `SECOND_HASH transitions`() {
+ assertEquals(NetconfMessageState.END_CHUNKED_PATTERN,
+ NetconfMessageState.SECOND_HASH.evaluateChar('\n'))
+
+ charList.minus( '\n').forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.SECOND_HASH.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `END_CHUNKED_PATTERN transitions`() {
+ charList.forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.END_CHUNKED_PATTERN.evaluateChar(it))
+ }
+ }
+
+ @Test
+ fun `END_PATTERN transitions`() {
+ charList.forEach {
+ assertEquals(NetconfMessageState.NO_MATCHING_PATTERN,
+ NetconfMessageState.END_PATTERN.evaluateChar(it))
+ }
+ }
+
+} \ No newline at end of file