summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorramu.n <ramu.n@huawei.com>2017-09-27 18:44:14 +0530
committerramu.n <ramu.n@huawei.com>2017-09-27 18:45:05 +0530
commit68607dc808655310f2b62f9fd0228980cb4c2325 (patch)
tree00a9c1d64c8a5b9d655c3476652b5443505cc32b
parentdbcacd2b6361252e4de5c4b114f29274f7ce9652 (diff)
Add underlay JSON template validation
Add UT test cases to validate the JSON template used to communicate with 3rd party controller of IP WAN Network Change-Id: I251f5cabecdd7e4f02d0be3bb27d7af4a355c077 Issue-Id: SDNC-90 Signed-off-by: Ramu N <ramu.n@huawei.com>
-rw-r--r--restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java64
-rw-r--r--restapi-call-node/provider/src/test/resources/l3smsitetemplate.json164
-rw-r--r--restapi-call-node/provider/src/test/resources/l3smvpntemplate.json28
3 files changed, 254 insertions, 2 deletions
diff --git a/restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java b/restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java
index 118d97d3..2d3b4010 100644
--- a/restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java
+++ b/restapi-call-node/provider/src/test/java/jtest/org/onap/ccsdk/sli/plugins/restapicall/TestRestapiCallNode.java
@@ -8,9 +8,9 @@
* 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.
@@ -195,4 +195,64 @@ public class TestRestapiCallNode {
RestapiCallNode rcn = new RestapiCallNode();
rcn.sendRequest(p, ctx);
}
+
+ @Test
+ public void testVpnJsonTemplate() throws SvcLogicException {
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("prop.l3vpn.name", "10000000-0000-0000-0000-000000000001");
+ ctx.setAttribute("prop.l3vpn.topology", "point_to_point");
+
+ Map<String, String> p = new HashMap<String, String>();
+ p.put("templateFileName", "src/test/resources/l3smvpntemplate.json");
+ p.put("restapiUrl", "http://ipwan:18002/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services");
+ p.put("restapiUser", "admin");
+ p.put("restapiPassword", "admin123");
+ p.put("format", "json");
+ p.put("httpMethod", "post");
+ p.put("responsePrefix", "restapi-result");
+ p.put("skipSending", "true");
+
+ RestapiCallNode rcn = new RestapiCallNode();
+ rcn.sendRequest(p, ctx);
+ }
+
+ @Test
+ public void testSiteJsonTemplate() throws SvcLogicException {
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("prop.l3vpn.name", "10000000-0000-0000-0000-000000000001");
+ ctx.setAttribute("prop.l3vpn.topology", "point_to_point");
+
+ ctx.setAttribute("prop.l3vpn.site1_name", "10000000-0000-0000-0000-000000000002");
+ ctx.setAttribute("prop.l3vpn.vpn-policy1-id", "10000000-0000-0000-0000-000000000003");
+ ctx.setAttribute("prop.l3vpn.entry1-id", "1");
+ ctx.setAttribute("prop.l3vpn.sna1_name", "10000000-0000-0000-0000-000000000004");
+ ctx.setAttribute("prop.l3vpn.pe1_id", "a8098c1a-f86e-11da-bd1a-00112444be1e");
+ ctx.setAttribute("prop.l3vpn.ac1_id", "a8098c1a-f86e-11da-bd1a-00112444be1b");
+ ctx.setAttribute("prop.l3vpn.ac1-peer-ip", "192.168.1.1");
+ ctx.setAttribute("prop.l3vpn.ac1-ip", "192.168.1.2");
+ ctx.setAttribute("prop.l3vpn.sna1-route", "192.168.1.4/24");
+
+ ctx.setAttribute("prop.l3vpn.site2_name", "10000000-0000-0000-0000-000000000005");
+ ctx.setAttribute("prop.l3vpn.vpn-policy2-id", "10000000-0000-0000-0000-000000000006");
+ ctx.setAttribute("prop.l3vpn.entry2-id", "1");
+ ctx.setAttribute("prop.l3vpn.sna2_name", "10000000-0000-0000-0000-000000000007");
+ ctx.setAttribute("prop.l3vpn.pe2_id", "a8098c1a-f86e-11da-bd1a-00112444be1a");
+ ctx.setAttribute("prop.l3vpn.ac2_id", "a8098c1a-f86e-11da-bd1a-00112444be1c");
+ ctx.setAttribute("prop.l3vpn.ac2-peer-ip", "192.168.1.5");
+ ctx.setAttribute("prop.l3vpn.ac2-ip", "192.168.1.5");
+ ctx.setAttribute("prop.l3vpn.sna2-route", "192.168.1.8/24");
+
+ Map<String, String> p = new HashMap<String, String>();
+ p.put("templateFileName", "src/test/resources/l3smsitetemplate.json");
+ p.put("restapiUrl", "http://ipwan:18002/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites");
+ p.put("restapiUser", "admin");
+ p.put("restapiPassword", "admin123");
+ p.put("format", "json");
+ p.put("httpMethod", "post");
+ p.put("responsePrefix", "restapi-result");
+ p.put("skipSending", "true");
+
+ RestapiCallNode rcn = new RestapiCallNode();
+ rcn.sendRequest(p, ctx);
+ }
}
diff --git a/restapi-call-node/provider/src/test/resources/l3smsitetemplate.json b/restapi-call-node/provider/src/test/resources/l3smsitetemplate.json
new file mode 100644
index 00000000..e7b56928
--- /dev/null
+++ b/restapi-call-node/provider/src/test/resources/l3smsitetemplate.json
@@ -0,0 +1,164 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+[
+ {
+ "site-id": ${prop.l3vpn.site1_name},
+ "vpn-policies": {
+ "vpn-policy": [
+ {
+ "vpn-policy-id": ${prop.l3vpn.vpn-policy1-id},
+ "entries": [
+ {
+ "id": ${prop.l3vpn.entry1-id},
+ "vpn": {
+ "vpn-id": ${prop.l3vpn.name},
+ "site-role": "huawei-ac-net-l3vpn-svc:any-to-any-role"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "site-network-accesses": {
+ "site-network-access": [
+ {
+ "site-network-access-id": ${prop.l3vpn.sna1_name},
+ "bearer": {
+ "appointed-access": {
+ "ne-id": ${prop.l3vpn.pe1_id},
+ "ltp-id": ${prop.l3vpn.ac1_id},
+ "vlan": {
+ "type": "huawei-ac-net-l3vpn-svc:vlan-dot1q",
+ "vlan-id": ${prop.l3vpn.sna1_svlan}
+ }
+ }
+ },
+ "ip-connection": {
+ "ipv4": {
+ "address-allocation-type": "huawei-ac-net-l3vpn-svc:static-address",
+ "addresses": {
+ "provider-address": ${prop.l3vpn.ac1-peer-ip},
+ "customer-address": ${prop.l3vpn.ac1-ip},
+ "mask": "24"
+ }
+ }
+ },
+ "service": {
+ "mtu": "1500"
+ },
+ "routing-protocols": {
+ "routing-protocol": [
+ {
+ "type": "huawei-ac-net-l3vpn-svc:static",
+ "static": {
+ "cascaded-lan-prefixes": [
+ {
+ "ipv4-lan-prefixes": [
+ {
+ "ip-prefix": ${prop.l3vpn.sna1-route},
+ "next-hop": ${prop.l3vpn.sna1-route}
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "vpn-attachment": {
+ "vpn-policy-id": ${prop.l3vpn.name}
+ }
+ }
+ ]
+ },
+ {
+ "site-id": ${prop.l3vpn.site2_name},
+ "vpn-policies": {
+ "vpn-policy": [
+ {
+ "vpn-policy-id": ${prop.l3vpn.vpn-policy2-id},
+ "entries": [
+ {
+ "id": ${prop.l3vpn.entry2-id},
+ "vpn": {
+ "vpn-id": ${prop.l3vpn.name},
+ "site-role": "huawei-ac-net-l3vpn-svc:any-to-any-role"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "site-network-accesses": {
+ "site-network-access": [
+ {
+ "site-network-access-id": ${prop.l3vpn.sna2_name},
+ "bearer": {
+ "appointed-access": {
+ "ne-id": ${prop.l3vpn.pe2_id},
+ "ltp-id": ${prop.l3vpn.ac2_id},
+ "vlan": {
+ "type": "huawei-ac-net-l3vpn-svc:vlan-dot1q",
+ "vlan-id": ${prop.l3vpn.sna2_svlan}
+ }
+ }
+ },
+ "ip-connection": {
+ "ipv4": {
+ "address-allocation-type": "huawei-ac-net-l3vpn-svc:static-address",
+ "addresses": {
+ "provider-address": ${prop.l3vpn.ac2-peer-ip},
+ "customer-address": ${prop.l3vpn.ac2-ip},
+ "mask": "24"
+ }
+ }
+ },
+ "service": {
+ "mtu": "1500"
+ },
+ "routing-protocols": {
+ "routing-protocol": [
+ {
+ "type": "huawei-ac-net-l3vpn-svc:static",
+ "static": {
+ "cascaded-lan-prefixes": [
+ {
+ "ipv4-lan-prefixes": [
+ {
+ "ip-prefix": ${prop.l3vpn.sna2-route},
+ "next-hop": ${prop.l3vpn.sna2-route}
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "vpn-attachment": {
+ "vpn-policy-id": ${prop.l3vpn.name}
+ }
+ }
+ ]
+ }
+]
+
diff --git a/restapi-call-node/provider/src/test/resources/l3smvpntemplate.json b/restapi-call-node/provider/src/test/resources/l3smvpntemplate.json
new file mode 100644
index 00000000..c0a7c192
--- /dev/null
+++ b/restapi-call-node/provider/src/test/resources/l3smvpntemplate.json
@@ -0,0 +1,28 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+{
+ "vpn-id": ${prop.l3vpn.name},
+ "customer-name": "huawei",
+ "vpn-service-topology": ${prop.l3vpn.topology},
+ "route-exchange-policy": "huawei-ac-net-l3vpn-svc:vpnv4-way"
+}
+