aboutsummaryrefslogtreecommitdiffstats
path: root/appc-config/appc-flow-controller
diff options
context:
space:
mode:
Diffstat (limited to 'appc-config/appc-flow-controller')
-rw-r--r--appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java86
-rw-r--r--appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/FlowGeneratorTest.java54
2 files changed, 103 insertions, 37 deletions
diff --git a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java
index e4372c06f..0d64238fa 100644
--- a/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java
+++ b/appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowGenerator.java
@@ -22,6 +22,10 @@
package org.onap.appc.flow.controller.node;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.ACTION_LEVEL;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.PAYLOAD;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.REQUEST_ACTION;
+
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
import java.util.ArrayList;
@@ -31,44 +35,52 @@ import org.onap.appc.flow.controller.data.Response;
import org.onap.appc.flow.controller.data.ResponseAction;
import org.onap.appc.flow.controller.data.Transaction;
import org.onap.appc.flow.controller.data.Transactions;
-import org.onap.appc.flow.controller.utils.FlowControllerConstants;
import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
public class FlowGenerator {
-
- private static final EELFLogger log = EELFManager.getInstance().getLogger(FlowGenerator.class);
-
- public Transactions createSingleStepModel(Map<String, String> inParams, SvcLogicContext ctx) {
-
- log.debug("Starting generating single Step flow" );
- log.debug("Data in context" + ctx.getAttributeKeySet() );
-
- Transaction singleTransaction = new Transaction();
- singleTransaction.setTransactionId(1);
- singleTransaction.setAction(ctx.getAttribute(FlowControllerConstants.REQUEST_ACTION));
- //Need to discuss how to get action level if not in request
- singleTransaction.setActionLevel(FlowControllerConstants.VNF);
- singleTransaction.setPayload(ctx.getAttribute(FlowControllerConstants.PAYLOAD));
- singleTransaction.setActionLevel(ctx.getAttribute(FlowControllerConstants.ACTION_LEVEL));
-
- List<Response> responseList = new ArrayList<>();
- Response response = new Response();
-
- ResponseAction ra = new ResponseAction();
- ra.setStop(true);
- response.setResponseAction(ra);
-
- responseList.add(response);
- singleTransaction.setResponses(responseList);
-
- List<Transaction> transactionList = new ArrayList<>();
- transactionList.add(singleTransaction);
-
- Transactions transactions = new Transactions();
- transactions.setTransactions(transactionList);
-
- log.debug("FlowGenerator.createSingleStepModel Sequence String" + transactions.toString());
-
- return transactions;
- }
+
+ private static final EELFLogger log = EELFManager.getInstance().getLogger(FlowGenerator.class);
+
+ public Transactions createSingleStepModel(Map<String, String> inParams, SvcLogicContext ctx) {
+
+ log.debug("Starting generating single Step flow");
+ log.debug("Data in context" + ctx.getAttributeKeySet());
+
+ Transactions transactions = new Transactions();
+ transactions.setTransactions(getTransactions(ctx));
+
+ log.debug("FlowGenerator.createSingleStepModel Sequence String" + transactions.toString());
+
+ return transactions;
+ }
+
+ private List<Transaction> getTransactions(SvcLogicContext ctx) {
+ Transaction singleTransaction = new Transaction();
+ singleTransaction.setTransactionId(1);
+ singleTransaction.setAction(ctx.getAttribute(REQUEST_ACTION));
+ //Need to discuss how to get action level if not in request
+ singleTransaction.setPayload(ctx.getAttribute(PAYLOAD));
+ singleTransaction.setActionLevel(ctx.getAttribute(ACTION_LEVEL));
+
+ singleTransaction.setResponses(getResponses());
+
+ List<Transaction> transactionList = new ArrayList<>();
+ transactionList.add(singleTransaction);
+
+ return transactionList;
+ }
+
+ private List<Response> getResponses() {
+
+ ResponseAction ra = new ResponseAction();
+ ra.setStop(true);
+
+ Response response = new Response();
+ response.setResponseAction(ra);
+
+ List<Response> responseList = new ArrayList<>();
+ responseList.add(response);
+
+ return responseList;
+ }
}
diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/FlowGeneratorTest.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/FlowGeneratorTest.java
new file mode 100644
index 000000000..5981fc0b6
--- /dev/null
+++ b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/FlowGeneratorTest.java
@@ -0,0 +1,54 @@
+package org.onap.appc.flow.controller.node;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.ACTION_LEVEL;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.PAYLOAD;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.REQUEST_ACTION;
+
+import java.util.HashMap;
+import java.util.List;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.appc.flow.controller.data.Response;
+import org.onap.appc.flow.controller.data.ResponseAction;
+import org.onap.appc.flow.controller.data.Transaction;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+
+public class FlowGeneratorTest {
+
+ private HashMap<String, String> inParams;
+ private SvcLogicContext ctx;
+
+ @Before
+ public void setUp() {
+ inParams = new HashMap<>();
+ ctx = mock(SvcLogicContext.class);
+ }
+
+ @Test
+ public void should_get_proper_transactions() {
+ when(ctx.getAttribute(REQUEST_ACTION)).thenReturn("some-request-action");
+ when(ctx.getAttribute(ACTION_LEVEL)).thenReturn("some-action-level");
+ when(ctx.getAttribute(PAYLOAD)).thenReturn("some-payload");
+
+ FlowGenerator flowGenerator = new FlowGenerator();
+ List<Transaction> transactionsList = flowGenerator.createSingleStepModel(inParams, ctx).getTransactions();
+
+ Assert.assertEquals(1, transactionsList.size());
+
+ Transaction transaction = transactionsList.get(0);
+ Assert.assertEquals(1, transaction.getTransactionId());
+ Assert.assertEquals("some-request-action", transaction.getAction());
+ Assert.assertEquals("some-payload", transaction.getPayload());
+ Assert.assertEquals("some-action-level", transaction.getActionLevel());
+
+ List<Response> responses = transaction.getResponses();
+ Assert.assertEquals(1, responses.size());
+
+ ResponseAction responseAction = responses.get(0).getResponseAction();
+ Assert.assertTrue(responseAction.isStop());
+ }
+
+} \ No newline at end of file