summaryrefslogtreecommitdiffstats
path: root/ms/controllerblueprints/modules/blueprint-core/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'ms/controllerblueprints/modules/blueprint-core/src/test')
-rw-r--r--ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/service/BluePrintTemplateServiceTest.kt79
-rw-r--r--ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data-jinja.json16
-rwxr-xr-xms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data-velocity.json (renamed from ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data.json)0
-rwxr-xr-xms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-jinja-template.jinja42
-rwxr-xr-xms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-velocity-template.vtl (renamed from ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-template.vtl)0
5 files changed, 131 insertions, 6 deletions
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/service/BluePrintTemplateServiceTest.kt b/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/service/BluePrintTemplateServiceTest.kt
index 6a193c37e..e4227180b 100644
--- a/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/service/BluePrintTemplateServiceTest.kt
+++ b/ms/controllerblueprints/modules/blueprint-core/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/service/BluePrintTemplateServiceTest.kt
@@ -1,6 +1,8 @@
/*
* Copyright © 2017-2018 AT&T Intellectual Property.
*
+ * Modifications Copyright © 2019 IBM, 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
@@ -16,20 +18,85 @@
package org.onap.ccsdk.cds.controllerblueprints.core.service
+import kotlinx.coroutines.runBlocking
import org.junit.Test
+import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
+import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.BeforeTest
import kotlin.test.assertNotNull
+@RunWith(SpringRunner::class)
class BluePrintTemplateServiceTest {
+ lateinit var blueprintRuntime: BluePrintRuntimeService<*>
+
+ @BeforeTest
+ fun setup() {
+ val blueprintBasePath: String = ("./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+ blueprintRuntime = BluePrintMetadataUtils.getBluePrintRuntime("1234", blueprintBasePath)
+ }
+
@Test
- fun testGenerateContent() {
+ fun testVelocityGeneratedContent() {
+ runBlocking {
+ val template = JacksonUtils.getClassPathFileContent("templates/base-config-velocity-template.vtl")
+ val json = JacksonUtils.getClassPathFileContent("templates/base-config-data-velocity.json")
- val template = JacksonUtils.getClassPathFileContent("templates/base-config-template.vtl")
- val json = JacksonUtils.getClassPathFileContent("templates/base-config-data.json")
+ val content = BluePrintVelocityTemplateService.generateContent(template, json)
+ assertNotNull(content, "failed to generate content for velocity template")
+ }
- val content = BluePrintTemplateService.generateContent(template, json)
- assertNotNull(content, "failed to generate content for velocity template")
+ }
+
+ @Test
+ fun testJinjaGeneratedContent() {
+ runBlocking {
+ val template = JacksonUtils.getClassPathFileContent("templates/base-config-jinja-template.jinja")
+ val json = JacksonUtils.getClassPathFileContent("templates/base-config-data-jinja.json")
+
+ var element: MutableMap<String, Any> = mutableMapOf()
+ element["additional_array"] = arrayListOf(hashMapOf("name" to "Element1", "location" to "Region0"), hashMapOf("name" to "Element2", "location" to "Region1"))
+
+ val content = BluePrintJinjaTemplateService.generateContent(template, json, false, element)
+ assertNotNull(content, "failed to generate content for velocity template")
+ }
}
-} \ No newline at end of file
+
+ @Test
+ fun testVelocityGeneratedContentFromFiles() {
+ runBlocking {
+ val bluePrintTemplateService = BluePrintTemplateService(blueprintRuntime,
+ "resource-assignment", "baseconfig-template")
+ val templateFile = "templates/base-config-velocity-template.vtl"
+ val jsonFile = "templates/base-config-data-velocity.json"
+
+ val content = bluePrintTemplateService.generateContentFromFiles(
+ templateFile, jsonFile, false, mutableMapOf())
+ assertNotNull(content, "failed to generate content for velocity template")
+ }
+
+ }
+
+ @Test
+ fun testJinjaGeneratedContentFromFiles() {
+ runBlocking {
+ var element: MutableMap<String, Any> = mutableMapOf()
+ element["additional_array"] = arrayListOf(hashMapOf("name" to "Element1", "location" to "Region0"), hashMapOf("name" to "Element2", "location" to "Region1"))
+
+ val bluePrintTemplateService = BluePrintTemplateService(blueprintRuntime,
+ "resource-assignment", "another-template")
+
+ val templateFile = "templates/base-config-jinja-template.jinja"
+ val jsonFile = "templates/base-config-data-jinja.json"
+
+ val content = bluePrintTemplateService.generateContentFromFiles(
+ templateFile,
+ jsonFile, false, element)
+ assertNotNull(content, "failed to generate content for velocity template")
+ }
+ }
+}
+
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data-jinja.json b/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data-jinja.json
new file mode 100644
index 000000000..bbfb38d80
--- /dev/null
+++ b/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data-jinja.json
@@ -0,0 +1,16 @@
+{
+ "node_hostname": "sdnc-host",
+ "node_backup_router_address": "2001:1890:1253::192:168:100:1",
+ "node_backup_router_d_address": "2011:1090:1253::112:158:100:1",
+ "servers": [
+ "Server1",
+ "Server2",
+ "Server3"
+ ],
+ "classes": [
+ "superuser-class",
+ "tacacs-adv-class",
+ "tacacs-base-class"
+ ],
+ "system_password": "teamops-system-password"
+} \ No newline at end of file
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data.json b/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data-velocity.json
index 2acc6fcdd..2acc6fcdd 100755
--- a/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data.json
+++ b/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-data-velocity.json
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-jinja-template.jinja b/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-jinja-template.jinja
new file mode 100755
index 000000000..db900bc8b
--- /dev/null
+++ b/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-jinja-template.jinja
@@ -0,0 +1,42 @@
+<configuration xmlns="http://xml.juniper.net/xnm/1.1/xnm"
+xmlns:a="http://xml.juniper.net/junos/15.1X49/junos">
+ <version>15.1X49-D50.3</version>
+ <groups>
+ <name>node0</name>
+ <system>
+ {%- for server in servers %}
+ <server-host-name>{{ server }}</server-host-name>
+ {%- endfor %}
+ </system>
+ <system>
+ <host-name>{{ node_hostname }}</host-name>
+ <backup-router>
+ <address>{{ node_backup_router_address }}</address>
+ <destination>{{ node_backup_router_d_address }}</destination>
+ </backup-router>
+ <login>
+ <message>ONAP information assets</message>
+ {%- for class in classes %}
+ <class>
+ {{ class }}
+ </class>
+ {%- endfor %}
+ <user>
+ <name>readwrite</name>
+ <full-name>Read - Write Account Access</full-name>
+ <uid>1002</uid>
+ <class>tacacs-adv-class</class>
+ <authentication>
+ <encrypted-password>{{ system_password }}</encrypted-password>
+ </authentication>
+ </user>
+ </login>
+ {%- for element in additional_array %}
+ <additionalArray>
+ <name>{{ element.name }}</name>
+ <location>{{ element.location }}</location>
+ </additionalArray>
+ {%- endfor %}
+ </system>
+ </groups>
+</configuration> \ No newline at end of file
diff --git a/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-template.vtl b/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-velocity-template.vtl
index f7b1269b3..f7b1269b3 100755
--- a/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-template.vtl
+++ b/ms/controllerblueprints/modules/blueprint-core/src/test/resources/templates/base-config-velocity-template.vtl