From 59f762556c4cecf8f59e780f6dd5072d85ccabfe Mon Sep 17 00:00:00 2001 From: Gaurav Agrawal Date: Thu, 28 Sep 2017 15:20:37 +0530 Subject: Added l2-dci json template and updated l3-dci Following changes are included: 1) Added l2-dci template 2) Updated l3-dci template to handle paramaters generically for l2 and l3 3) Leaf-List handling 4) Added testcases for l2 and l3 template. Change-Id: I3142ae35286ea3c55927bedf5a071aaff5b15401 Issue-Id: SDNC-103 Signed-off-by: Gaurav Agrawal --- .../main/resources/l2-dci-connects-template.json | 29 +++++++++++ .../main/resources/l3-dci-connects-template.json | 16 +++--- .../plugins/restapicall/TestRestapiCallNode.java | 57 +++++++++++++++++++++- .../test/resources/l2-dci-connects-template.json | 29 +++++++++++ .../test/resources/l3-dci-connects-template.json | 34 +++++++++++++ 5 files changed, 156 insertions(+), 9 deletions(-) create mode 100644 restapi-call-node/provider/src/main/resources/l2-dci-connects-template.json create mode 100644 restapi-call-node/provider/src/test/resources/l2-dci-connects-template.json create mode 100644 restapi-call-node/provider/src/test/resources/l3-dci-connects-template.json (limited to 'restapi-call-node/provider/src') diff --git a/restapi-call-node/provider/src/main/resources/l2-dci-connects-template.json b/restapi-call-node/provider/src/main/resources/l2-dci-connects-template.json new file mode 100644 index 00000000..f1807568 --- /dev/null +++ b/restapi-call-node/provider/src/main/resources/l2-dci-connects-template.json @@ -0,0 +1,29 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : SDN-C + * ================================================================================ + * 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========================================================= + */ + +{ + "l2-dci-connect": { + "id": ${prop.dci-connects.id}, + "name": ${prop.dci-connects.name}, + "description": ${prop.dci-connects.description}, + "network_id": ${prop.dci-connects.local_networks[0]}, + "evpn_irts": ${prop.dci-connects.evpn_irts}, + "evpn_erts": ${prop.dci-connects.evpn_erts}, + "vni": ${prop.dci-connects.vni} + } +} diff --git a/restapi-call-node/provider/src/main/resources/l3-dci-connects-template.json b/restapi-call-node/provider/src/main/resources/l3-dci-connects-template.json index 3f0e2030..c011b077 100644 --- a/restapi-call-node/provider/src/main/resources/l3-dci-connects-template.json +++ b/restapi-call-node/provider/src/main/resources/l3-dci-connects-template.json @@ -20,15 +20,15 @@ { "l3-dci-connect": { - "id": "${prop.l3-dci-connects.id}", - "name": "${prop.l3-dci-connects.name}", - "description": "${prop.l3-dci-connects.description}", - "router_id": "${prop.l3-dci-connects.router_id}", + "id": ${prop.dci-connects.id}, + "name": ${prop.dci-connects.name}, + "description": ${prop.dci-connects.description}, + "router_id": ${prop.dci-connects.router_id}, "firewall_enable": false, - "local_networks": ["${prop.l3-dci-connects.local_networks}"], + "local_networks": ${prop.dci-connects.local_networks}, "local_network_all": false, - "evpn_irts": ["${prop.l3-dci-connects.evpn_irts}"], - "evpn_erts": ["${prop.l3-dci-connects.evpn_erts}"], - "l3_vni": "${prop.l3-dci-connects.l3_vni}" + "evpn_irts": ${prop.dci-connects.evpn_irts}, + "evpn_erts": ${prop.dci-connects.evpn_erts}, + "l3_vni": ${prop.dci-connects.vni} } } 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 2d3b4010..1dcc97bc 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 @@ -23,7 +23,6 @@ package jtest.org.onap.ccsdk.sli.plugins.restapicall; import java.util.HashMap; import java.util.Map; - import org.junit.Test; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; @@ -255,4 +254,60 @@ public class TestRestapiCallNode { RestapiCallNode rcn = new RestapiCallNode(); rcn.sendRequest(p, ctx); } + + @Test + public void testL2DciTemplate() throws SvcLogicException { + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute("prop.dci-connects.id", "Id1"); + ctx.setAttribute("prop.dci-connects.name", "Name1"); + ctx.setAttribute("prop.dci-connects.local_networks[0]", "NetId1"); + ctx.setAttribute("prop.dci-connects.local_networks[1]", "NetId2"); + ctx.setAttribute("prop.dci-connects.evpn_irts[0]", "100:1"); + ctx.setAttribute("prop.dci-connects.evpn_erts[0]", "100:2"); + ctx.setAttribute("prop.dci-connects.evpn_irts[1]", "200:1"); + ctx.setAttribute("prop.dci-connects.evpn_erts[1]", "200:2"); + ctx.setAttribute("prop.dci-connects.vni", "1"); + + Map p = new HashMap(); + p.put("templateFileName", "src/test/resources/l2-dci-connects-template.json"); + p.put("restapiUrl", "http://echo.getpostman.com"); + p.put("restapiUser", "user1"); + p.put("restapiPassword", "abc123"); + p.put("format", "json"); + p.put("httpMethod", "post"); + p.put("responsePrefix", "response"); + p.put("skipSending", "true"); + + RestapiCallNode rcn = new RestapiCallNode(); + rcn.sendRequest(p, ctx); + } + + @Test + public void testL3DciTemplate() throws SvcLogicException { + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute("prop.dci-connects.id", "Id1"); + ctx.setAttribute("prop.dci-connects.name", "Name1"); + ctx.setAttribute("prop.dci-connects.local_networks_length", "2"); + ctx.setAttribute("prop.dci-connects.local_networks[0]", "NetId1"); + ctx.setAttribute("prop.dci-connects.local_networks[1]", "NetId2"); + ctx.setAttribute("prop.dci-connects.evpn_irts[0]", "100:1"); + ctx.setAttribute("prop.dci-connects.evpn_erts[0]", "100:2"); + ctx.setAttribute("prop.dci-connects.evpn_irts[1]", "200:1"); + ctx.setAttribute("prop.dci-connects.evpn_erts[1]", "200:2"); + ctx.setAttribute("prop.dci-connects.vni", "1"); + + Map p = new HashMap(); + p.put("templateFileName", "src/test/resources/l3-dci-connects-template.json"); + p.put("restapiUrl", "http://echo.getpostman.com"); + p.put("restapiUser", "user1"); + p.put("restapiPassword", "abc123"); + p.put("format", "json"); + p.put("httpMethod", "post"); + p.put("responsePrefix", "response"); + p.put("skipSending", "true"); + + RestapiCallNode rcn = new RestapiCallNode(); + rcn.sendRequest(p, ctx); + + } } diff --git a/restapi-call-node/provider/src/test/resources/l2-dci-connects-template.json b/restapi-call-node/provider/src/test/resources/l2-dci-connects-template.json new file mode 100644 index 00000000..f1807568 --- /dev/null +++ b/restapi-call-node/provider/src/test/resources/l2-dci-connects-template.json @@ -0,0 +1,29 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : SDN-C + * ================================================================================ + * 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========================================================= + */ + +{ + "l2-dci-connect": { + "id": ${prop.dci-connects.id}, + "name": ${prop.dci-connects.name}, + "description": ${prop.dci-connects.description}, + "network_id": ${prop.dci-connects.local_networks[0]}, + "evpn_irts": ${prop.dci-connects.evpn_irts}, + "evpn_erts": ${prop.dci-connects.evpn_erts}, + "vni": ${prop.dci-connects.vni} + } +} diff --git a/restapi-call-node/provider/src/test/resources/l3-dci-connects-template.json b/restapi-call-node/provider/src/test/resources/l3-dci-connects-template.json new file mode 100644 index 00000000..c011b077 --- /dev/null +++ b/restapi-call-node/provider/src/test/resources/l3-dci-connects-template.json @@ -0,0 +1,34 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : SDN-C + * ================================================================================ + * Copyright (C) 2017 Intel Corp. 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========================================================= + */ + +{ + "l3-dci-connect": { + "id": ${prop.dci-connects.id}, + "name": ${prop.dci-connects.name}, + "description": ${prop.dci-connects.description}, + "router_id": ${prop.dci-connects.router_id}, + "firewall_enable": false, + "local_networks": ${prop.dci-connects.local_networks}, + "local_network_all": false, + "evpn_irts": ${prop.dci-connects.evpn_irts}, + "evpn_erts": ${prop.dci-connects.evpn_erts}, + "l3_vni": ${prop.dci-connects.vni} + } +} -- cgit 1.2.3-korg