diff options
author | Skip Wonnell <kw5258@att.com> | 2017-08-15 17:26:38 -0500 |
---|---|---|
committer | Patrick Brady <pb071s@att.com> | 2017-08-17 06:15:50 +0000 |
commit | 9296b7674ea71cb86fe2ea99e80d9d055267ae5b (patch) | |
tree | 399a89d854d3e9474d498173d483abfd08cce051 /appc-config/appc-flow-controller/provider/src/test | |
parent | 86011b92947fdb0805623a25c893cd59128ec40e (diff) |
Initial commit for appc-flow-controller bundle
This bundle contains the APPC orchestration control
for the directed graph for model driven transactions
Issue-ID: APPC-73
Change-Id: Ia812fe14b2d6aa46c3acd5b2bfab0c004507c628
Signed-off-by: Skip Wonnell <kw5258@att.com>
Diffstat (limited to 'appc-config/appc-flow-controller/provider/src/test')
6 files changed, 419 insertions, 0 deletions
diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestFlowExecutorNode.java b/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestFlowExecutorNode.java new file mode 100644 index 000000000..cdb9e2da5 --- /dev/null +++ b/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestFlowExecutorNode.java @@ -0,0 +1,89 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APP-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========================================================= + */ + +package org.openecomp.appc.flow.executor.node; + +import java.io.InputStream; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Properties; + +import org.junit.Before; +import org.junit.Test; +import org.openecomp.appc.flow.controller.node.FlowControlNode; +import org.openecomp.appc.flow.controller.utils.FlowControllerConstants; +import org.openecomp.sdnc.sli.SvcLogicContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class TestFlowExecutorNode { + + private final Logger logger = LoggerFactory.getLogger(TestFlowExecutorNode.class); + + + //@Before + public void setUp() { + Properties props = new Properties(); + InputStream propStr = getClass().getResourceAsStream("/svclogic.properties"); + if (propStr == null) { + System.err.println("src/test/resources/svclogic.properties missing"); + } + try { + System.out.println("Got Properties"); + props.load(propStr); + propStr.close(); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("Could not initialize properties"); + } + // Add properties to global properties + + Enumeration propNames = props.keys(); + + while (propNames.hasMoreElements()) { + + String propName = (String) propNames.nextElement(); + System.setProperty(propName, props.getProperty(propName)); + System.out.println("propName" + propName + " Value: " + props.getProperty(propName)); + } + + + } + + + //@Test + public void testFlowExecutorNode() throws Exception { + + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute(FlowControllerConstants.VNF_TYPE, "vUSP - vDBE-IPX HUB"); + ctx.setAttribute(FlowControllerConstants.REQUEST_ACTION, "Configure"); + ctx.setAttribute(FlowControllerConstants.VNFC_TYPE, "");; + ctx.setAttribute(FlowControllerConstants.REQUEST_ID,"TESTCOMMONFRMWK"); + ; + // ctx.setAttribute(FlowControllerConstants.ACTION_LEVEL,"VNF"); + HashMap inParams = new HashMap(); + + FlowControlNode fen = new FlowControlNode(); + fen.processFlow(inParams, ctx); + + System.out.println("Flow sequence" + ctx.getAttribute("transMap")); + + } +} diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestParsingNode.java b/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestParsingNode.java new file mode 100644 index 000000000..9f08424f9 --- /dev/null +++ b/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestParsingNode.java @@ -0,0 +1,90 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APP-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========================================================= + */ + +package org.openecomp.appc.flow.executor.node; + +import java.io.InputStream; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Properties; + +import org.junit.Before; +import org.junit.Test; +import org.openecomp.appc.flow.controller.node.FlowControlNode; +import org.openecomp.appc.flow.controller.node.JsonParsingNode; +import org.openecomp.appc.flow.controller.node.RestServiceNode; +import org.openecomp.appc.flow.controller.utils.FlowControllerConstants; +import org.openecomp.sdnc.sli.SvcLogicContext; + +public class TestParsingNode { + +// @Before + public void setUp() { + Properties props = new Properties(); + InputStream propStr = getClass().getResourceAsStream("/svclogic.properties"); + if (propStr == null) { + System.err.println("src/test/resources/svclogic.properties missing"); + } + try { + System.out.println("Got Properties"); + props.load(propStr); + propStr.close(); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("Could not initialize properties"); + } + // Add properties to global properties + + Enumeration propNames = props.keys(); + + while (propNames.hasMoreElements()) { + + String propName = (String) propNames.nextElement(); + System.setProperty(propName, props.getProperty(propName)); + System.out.println("propName" + propName + " Value: " + props.getProperty(propName)); + } + + + + } + + +// @Test + public void testRestServiceNode() throws Exception { + + SvcLogicContext ctx = new SvcLogicContext(); + + + + HashMap<String, String> inParams = new HashMap<String, String>(); + JsonParsingNode rsn = new JsonParsingNode(); + inParams.put("data", "{\"identifier\": \"scope represented\",\"state\": \"healthy\",\"test\": \"passed\", \"time\": \"01-01-1000:0000\"}"); + inParams.put("responsePrefix", "APPC.healthcheck"); + rsn.parse(inParams, ctx); + + for (Object key : ctx.getAttributeKeySet()) { + String parmName = (String) key; + String parmValue = ctx.getAttribute(parmName); + System.out.println(parmName + "=" + parmValue); + } + + + } +} diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestRestServiceNode.java b/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestRestServiceNode.java new file mode 100644 index 000000000..6c3b432c7 --- /dev/null +++ b/appc-config/appc-flow-controller/provider/src/test/java/org/openecomp/appc/flow/executor/node/TestRestServiceNode.java @@ -0,0 +1,125 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APP-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========================================================= + */ + +package org.openecomp.appc.flow.executor.node; + +import java.io.InputStream; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Properties; + +import org.junit.Before; +import org.junit.Test; +import org.openecomp.appc.flow.controller.data.Transaction; +import org.openecomp.appc.flow.controller.executorImpl.RestExecutor; +import org.openecomp.appc.flow.controller.interfaceData.ActionIdentifier; +import org.openecomp.appc.flow.controller.interfaceData.InventoryInfo; +import org.openecomp.appc.flow.controller.interfaceData.RequestInfo; +import org.openecomp.appc.flow.controller.interfaceData.Vm; +import org.openecomp.appc.flow.controller.interfaceData.VnfInfo; +import org.openecomp.appc.flow.controller.interfaceData.Vnfcslist; +import org.openecomp.appc.flow.controller.node.FlowControlNode; +import org.openecomp.appc.flow.controller.node.RestServiceNode; +import org.openecomp.appc.flow.controller.utils.FlowControllerConstants; +import org.openecomp.sdnc.sli.SvcLogicContext; + +public class TestRestServiceNode { + +// @Before + public void setUp() { + Properties props = new Properties(); + InputStream propStr = getClass().getResourceAsStream("/svclogic.properties"); + if (propStr == null) { + System.err.println("src/test/resources/svclogic.properties missing"); + } + try { + System.out.println("Got Properties"); + props.load(propStr); + propStr.close(); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("Could not initialize properties"); + } + // Add properties to global properties + + Enumeration propNames = props.keys(); + + while (propNames.hasMoreElements()) { + + String propName = (String) propNames.nextElement(); + System.setProperty(propName, props.getProperty(propName)); + System.out.println("propName" + propName + " Value: " + props.getProperty(propName)); + } + + + } + + +// @Test + public void testRestServiceNode() throws Exception { + + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute(FlowControllerConstants.VNF_TYPE, "vUSP - vDBE-IPX HUB"); + ctx.setAttribute(FlowControllerConstants.REQUEST_ACTION, "healthcheck"); + ctx.setAttribute(FlowControllerConstants.VNFC_TYPE, "TESTVNFC-CF"); + ctx.setAttribute(FlowControllerConstants.REQUEST_ID,"TESTCOMMONFRMWK"); + ctx.setAttribute("host-ip-address","127.0.0.1"); + ctx.setAttribute("port-number","8888"); + ctx.setAttribute("request-action-type","GET"); + ctx.setAttribute("context", "loader/restconf/operations/appc-provider-lcm:health-check"); + + HashMap<String, String> inParams = new HashMap<String, String>(); + RestServiceNode rsn = new RestServiceNode(); + inParams.put("output-state", "state"); + inParams.put("responsePrefix", "healthcheck"); + rsn.sendRequest(inParams, ctx); + + for (Object key : ctx.getAttributeKeySet()) { + String parmName = (String) key; + String parmValue = ctx.getAttribute(parmName); + System.out.println(parmName + "=" + parmValue); + } + + + } + + + //@Test + public void testInputParamsRestServiceNode() throws Exception { + SvcLogicContext ctx = new SvcLogicContext(); + ctx.setAttribute("vnf-id", "test"); + ctx.setAttribute("tmp.vnfInfo.vm-count", "1"); + ctx.setAttribute("tmp.vnfInfo.vm[0].vnfc-count", "1"); + RestExecutor restExe = new RestExecutor(); + Transaction transaction = new Transaction(); + + FlowControlNode node = new FlowControlNode(); + //String output =node.collectInputParams(ctx, transaction); + +// Properties props = new Properties(); +// props.setProperty("SEQ_GENERATOR_URL", "test"); + //System.out.println(output); + //transaction.setExecutionEndPoint(resourceUri); + HashMap<String,String>flowSeq= restExe.execute(transaction, ctx); + String flowSequnce=flowSeq.get("restResponse"); + System.out.println(flowSequnce); + + } +} diff --git a/appc-config/appc-flow-controller/provider/src/test/resources/Info.out.xml b/appc-config/appc-flow-controller/provider/src/test/resources/Info.out.xml new file mode 100644 index 000000000..787796704 --- /dev/null +++ b/appc-config/appc-flow-controller/provider/src/test/resources/Info.out.xml @@ -0,0 +1,19 @@ +<!-- + ============LICENSE_START======================================================= + ONAP : APP-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========================================================= + --> diff --git a/appc-config/appc-flow-controller/provider/src/test/resources/svclogic.properties b/appc-config/appc-flow-controller/provider/src/test/resources/svclogic.properties new file mode 100644 index 000000000..f6b424136 --- /dev/null +++ b/appc-config/appc-flow-controller/provider/src/test/resources/svclogic.properties @@ -0,0 +1,33 @@ +### +# ============LICENSE_START======================================================= +# ONAP : APP-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========================================================= +### + +org.openecomp.sdnc.sli.dbtype= +org.openecomp.sdnc.sli.jdbc.hosts= +org.openecomp.sdnc.sli.jdbc.url= +org.openecomp.sdnc.sli.jdbc.database= +org.openecomp.sdnc.sli.jdbc.user= +org.openecomp.sdnc.sli.jdbc.password= +org.openecomp.sdnc.sli.jdbc.connection.name= + +org.openecomp.sdnc.sli.jdbc.connection.timeout= +org.openecomp.sdnc.sli.jdbc.request.timeout= +org.openecomp.sdnc.sli.jdbc.limit.init= +org.openecomp.sdnc.sli.jdbc.limit.min= +org.openecomp.sdnc.sli.jdbc.limit.max= diff --git a/appc-config/appc-flow-controller/provider/src/test/resources/transactionModel.json b/appc-config/appc-flow-controller/provider/src/test/resources/transactionModel.json new file mode 100644 index 000000000..b21f48805 --- /dev/null +++ b/appc-config/appc-flow-controller/provider/src/test/resources/transactionModel.json @@ -0,0 +1,63 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APP-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========================================================= + */ + +{ + "transactions": [{ + "transactionId": 1, + "action": "configure", + "action-level": "vnf", + "action-identifier": { + "vnf-id": "dbgx0001v" + }, + "payload": "This is my Payload", + "parameters": [{ + "name": "value" + }], + "precheck": { + "precheck-operator": "all", + "precheck-options": [{ + "pre-transactionID": "1", + "param-name": "state", + "param-value": "healthy", + "rule": "continue" + }, + { + "pre-transactionID": "2", + "param-name": "state", + "param-value": "healthy", + "rule": "continue" + }] + }, + "state": "healthy", + "responses": [{ + "responseActionHanlder": null, + "responseCode": "401", + "responseMessage": null, + "responseAction": { + "wait": null, + "retry": null, + "jump": null, + "ignore": true, + "stop": false, + "intermediateMessage": null + } + }] + }] +} |