diff options
Diffstat (limited to 'appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java')
4 files changed, 315 insertions, 189 deletions
diff --git a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/TestWorkFlowManager.java b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/TestWorkFlowManager.java deleted file mode 100644 index 74828a5d2..000000000 --- a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/TestWorkFlowManager.java +++ /dev/null @@ -1,189 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * 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. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.onap.appc.workflow; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.onap.appc.workflow.impl.WorkFlowManagerImpl; -import org.onap.appc.workflow.objects.WorkflowRequest; -import org.onap.ccsdk.sli.core.sli.SvcLogicException; -import org.onap.ccsdk.sli.core.sli.SvcLogicGraph; -import org.onap.ccsdk.sli.core.sli.SvcLogicNode; -import org.onap.ccsdk.sli.core.sli.SvcLogicStore; -import org.onap.ccsdk.sli.core.sli.provider.SvcLogicActivator; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.FrameworkUtil; -import org.osgi.framework.ServiceReference; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -@RunWith(PowerMockRunner.class) -@PrepareForTest( {SvcLogicActivator.class, FrameworkUtil.class, WorkFlowManagerImpl.class} ) -public class TestWorkFlowManager { - public TestWorkFlowManager() { - } - - private WorkFlowManagerImpl workflowManger ; - private String command="Configure"; - protected SvcLogicGraph svcLogicGraph=null; - - - // - private final SvcLogicStore svcLogicStore= Mockito.mock(SvcLogicStore.class); - private final BundleContext bundleContext=Mockito.mock(BundleContext.class); - private final Bundle bundleSvcLogicService=Mockito.mock(Bundle.class); - private final ServiceReference serviceReferenceSvcLogicService=Mockito.mock(ServiceReference.class); - - - - @Before - public void setupMock() throws Exception { - /* - // DAO Mock - dao = Mockito.mock(AppcDAOImpl.class); - PowerMockito.whenNew(AppcDAOImpl.class).withNoArguments().thenReturn(dao); - - // SVC Logic Mock - SvcLogicServiceImpl svcLogicService=new SvcLogicServiceImpl(); - PowerMockito.mockStatic(SvcLogicActivator.class); - PowerMockito.mockStatic(FrameworkUtil.class); - PowerMockito.when(SvcLogicActivator.getStore()).thenReturn(svcLogicStore); - PowerMockito.when(FrameworkUtil.getBundle(SvcLogicService.class)).thenReturn(bundleSvcLogicService); - PowerMockito.when(bundleSvcLogicService.getBundleContext()).thenReturn(bundleContext); - PowerMockito.when(bundleContext.getServiceReference(SvcLogicService.NAME)).thenReturn(serviceReferenceSvcLogicService); - PowerMockito.when(bundleContext.getService(serviceReferenceSvcLogicService)).thenReturn(svcLogicService); - - try { - PowerMockito.when(svcLogicStore.fetch(anyString(), eq("FIREWALL_Configure"), anyString(), anyString())).thenReturn(createGraph("FIREWALL_Configure")); - PowerMockito.when(svcLogicStore.fetch(anyString(), eq("FIREWALL_Restart"), anyString(), anyString())).thenReturn(createGraph("FIREWALL_Restart")); - PowerMockito.when(svcLogicStore.fetch(anyString(), eq("FIREWALL_Test"), anyString(), anyString())).thenReturn(createGraph("FIREWALL_Test")); - PowerMockito.when(svcLogicStore.fetch(anyString(), eq("FIREWALL_Rebuild"), anyString(), anyString())).thenReturn(createGraph("FIREWALL_Rebuild")); - PowerMockito.when(svcLogicStore.fetch(anyString(), eq("FIREWALL_Terminate"), anyString(), anyString())).thenReturn(createGraph("FIREWALL_Terminate")); - PowerMockito.when(svcLogicStore.fetch(anyString(), eq("FIREWALL_Start"), anyString(), anyString())).thenReturn(createGraph("FIREWALL_Start")); - svcLogicService.registerExecutor("switch", new SwitchNodeExecutor()); - svcLogicService.registerExecutor("execute",new ReturnNodeExecutor()); - svcLogicService.registerExecutor("return",new ReturnNodeExecutor()); - } catch (SvcLogicException e) { - e.printStackTrace(); - } - - workflowManger = new WorkFlowManagerImpl(); - - PowerMockito.when(getDao().retrieveWorkflowDetails("FIREWALL","Configure")).thenReturn(getWorkflow()); - PowerMockito.when(getDao().retrieveWorkflowDetails("FIREWALL","")).thenThrow(new DAOException()); - PowerMockito.when(getDao().retrieveWorkflowDetails("","Configure")).thenThrow(new DAOException()); - */ - } - - @Test - public void testEmptyVnfTypeFlow(){ - /* - WorkflowRequest workflowRequest = getWorkflowRequest("","1","1",command); - setSvcLogicGraph(createGraph(""+"_"+command)); - WorkflowResponse response =workflowManger.executeWorkflow(workflowRequest); - assertFalse(response.isExecutionSuccess()); - */ - } - - /* - @Test - public void testExecuteWorkflow(){ - //PowerMockito.when(getDao().retrieveWorkflowDetails(anyString(),anyString())).thenReturn(getWorkflow()); - WorkflowRequest workflowRequest = getWorkflowRequest("FIREWALL","1","1",command); - setSvcLogicGraph(createGraph("FIREWALL"+"_"+command)); - WorkflowResponse response =workflowManger.executeWorkflow(workflowRequest); - assertFalse(response.isExecutionSuccess()); - } - - @Test - public void testExecuteWorkflowEmptyPayload(){ - //PowerMockito.when(getDao().retrieveWorkflowDetails(anyString(),anyString())).thenReturn(getWorkflow()); - WorkflowRequest workflowRequest = getWorkflowRequest("FIREWALL","1","1",command); - workflowRequest.setPayload("{payload:\"payload\"}"); - setSvcLogicGraph(createGraph(""+"_"+command)); - WorkflowResponse response =workflowManger.executeWorkflow(workflowRequest); - assertFalse(response.isExecutionSuccess()); - } - - @Test - public void testWorkflowExist(){ - //PowerMockito.when(getDao().queryWorkflow(anyString(),anyString())).thenReturn(true); - WorkflowRequest workflowRequest = getWorkflowRequest("FIREWALL","1","1",command); - boolean success = workflowManger.workflowExists(workflowRequest); - assertTrue(success); - } - - @Test - public void testWorkflowExistFalse(){ - //PowerMockito.when(getDao().queryWorkflow(anyString(),anyString())).thenReturn(false); - WorkflowRequest workflowRequest = getWorkflowRequest("FIREWALL","1","1",command); - setSvcLogicGraph(createGraph(""+"_"+command)); - boolean success = workflowManger.workflowExists(workflowRequest); - assertFalse(success); - } - - - @Test - public void testEmptyCommandFlow(){ - WorkflowRequest workflowRequest = getWorkflowRequest("FIREWALL","1","1",""); - WorkflowResponse response =workflowManger.executeWorkflow(workflowRequest); - assertFalse(response.isExecutionSuccess()); - } - */ - - - public void setSvcLogicGraph(SvcLogicGraph svcLogicGraph) { - this.svcLogicGraph = svcLogicGraph; - } - - public SvcLogicGraph getSvcLogicGraph() { - return svcLogicGraph; - } - - protected SvcLogicGraph createGraph(String rpc) { - SvcLogicGraph svcLogicGraph = new SvcLogicGraph(); - svcLogicGraph.setModule("APPC"); - svcLogicGraph.setRpc(rpc); - svcLogicGraph.setMode("sync"); - svcLogicGraph.setVersion("2.0.0"); - SvcLogicNode svcLogicRootNode = new SvcLogicNode(1, "switch", svcLogicGraph); - SvcLogicNode svcLogicConfigureNode = new SvcLogicNode(2, "return", svcLogicGraph); - SvcLogicNode svcLogicOtherNode = new SvcLogicNode(3, "return", svcLogicGraph); - try { - svcLogicConfigureNode.setAttribute("status", "success"); - svcLogicOtherNode.setAttribute("status", "failure"); - svcLogicRootNode.setAttribute("test", "$org.onap.appc.action"); - svcLogicRootNode.addOutcome("Configure", svcLogicConfigureNode); - svcLogicRootNode.addOutcome("Other", svcLogicOtherNode); - } catch (SvcLogicException e) { - e.printStackTrace(); - } - svcLogicGraph.setRootNode(svcLogicRootNode); - return svcLogicGraph; - } -} diff --git a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/TestWorkflowActivator.java b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/TestWorkflowActivator.java new file mode 100644 index 000000000..c70bec446 --- /dev/null +++ b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/TestWorkflowActivator.java @@ -0,0 +1,38 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.onap.appc.workflow; + +import org.junit.Test; +import org.onap.appc.workflow.impl.MockTransactionAbortedMarker; + +public class TestWorkflowActivator { + + @Test + public void testActivator(){ + MockTransactionAbortedMarker mockTransactionAbortedMarker = new MockTransactionAbortedMarker(null); + mockTransactionAbortedMarker.run(); + } + +} diff --git a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/impl/MockTransactionAbortedMarker.java b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/impl/MockTransactionAbortedMarker.java new file mode 100644 index 000000000..eb8710515 --- /dev/null +++ b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/impl/MockTransactionAbortedMarker.java @@ -0,0 +1,52 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.onap.appc.workflow.impl; + +import org.junit.Assert; +import org.mockito.Matchers; +import org.mockito.Mockito; +import org.mockito.invocation.InvocationOnMock; +import org.onap.appc.transactionrecorder.TransactionRecorder; +import org.onap.appc.workflow.activator.TransactionAbortedMarker; + +import java.util.concurrent.ScheduledExecutorService; + +public class MockTransactionAbortedMarker extends TransactionAbortedMarker{ + + public MockTransactionAbortedMarker(ScheduledExecutorService executor){ + super(executor); + } + + @Override + public TransactionRecorder lookupTransactionRecorder(){ + TransactionRecorder transactionRecorder = Mockito.mock(TransactionRecorder.class); + Mockito.doNothing().when(transactionRecorder).markTransactionsAborted(Matchers.anyString()); + Mockito.doAnswer((InvocationOnMock invocationOnMock) -> { + Assert.assertNotNull(invocationOnMock.getArguments()[0]); + return null; + }).when(transactionRecorder).setAppcInstanceId(Matchers.anyString()); + return transactionRecorder; + } +} diff --git a/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/impl/TestWorkFlowManager.java b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/impl/TestWorkFlowManager.java new file mode 100644 index 000000000..af7005365 --- /dev/null +++ b/appc-dispatcher/appc-workflow-management/appc-workflow-management-core/src/test/java/org/onap/appc/workflow/impl/TestWorkFlowManager.java @@ -0,0 +1,225 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * 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. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.onap.appc.workflow.impl; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mockito; +import org.onap.appc.domainmodel.lcm.*; +import org.onap.appc.workflow.impl.WorkFlowManagerImpl; +import org.onap.appc.workflow.impl.WorkflowKey; +import org.onap.appc.workflow.impl.WorkflowResolver; +import org.onap.appc.workflow.objects.WorkflowExistsOutput; +import org.onap.appc.workflow.objects.WorkflowRequest; +import org.onap.appc.workflow.objects.WorkflowResponse; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.onap.ccsdk.sli.core.sli.SvcLogicGraph; +import org.onap.ccsdk.sli.core.sli.SvcLogicNode; +import org.onap.ccsdk.sli.core.sli.SvcLogicStore; +import org.onap.ccsdk.sli.core.sli.provider.SvcLogicActivator; +import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +import java.util.Date; +import java.util.Properties; + +import static org.mockito.Matchers.anyObject; +import static org.mockito.Matchers.anyString; + +@RunWith(PowerMockRunner.class) +@PrepareForTest( { WorkflowResolver.class,WorkFlowManagerImpl.class} ) +public class TestWorkFlowManager { + public TestWorkFlowManager() { + } + + @InjectMocks + public WorkFlowManagerImpl workflowManger; + + WorkflowResolver workflowResolver; + public SvcLogicService svcLogicService; + + @Before + public void init(){ + + this.workflowResolver= Mockito.mock(WorkflowResolver.class); + this.svcLogicService=Mockito.mock(SvcLogicService.class); + workflowManger.setWorkflowResolver(workflowResolver); + workflowManger.setSvcLogicServiceRef(svcLogicService); + + } + @Test + public void testExecuteWorkFlow() throws SvcLogicException{ + + Mockito.when(workflowResolver.resolve(anyString(),anyString(),anyString(),anyString())).thenReturn(getWorkFlowKey()); + Mockito.when(svcLogicService.execute(anyString(),anyString(), anyString(),anyString(),anyObject())).thenReturn(createSvcExexuteSuccessResponse()); + + WorkflowRequest workflowRequest =getWorkflowRequest("vSCP",300,new Date(), "2.00" ,"ST_249","O1652", "uid34", VNFOperation.Lock,"mj13","Payload"); + + WorkflowResponse response=workflowManger.executeWorkflow(workflowRequest); + Assert.assertTrue(response.getResponseContext().getStatus().getMessage().equals("success")); + + + } + + @Test + public void testExecuteWorkFlowFalse() throws SvcLogicException{ + + Mockito.when(workflowResolver.resolve(anyString(),anyString(),anyString(),anyString())).thenReturn(getWorkFlowKey()); + Mockito.when(svcLogicService.execute(anyString(),anyString(), anyString(),anyString(),anyObject())).thenReturn(createSvcExexuteFailureResponse()); + + WorkflowRequest workflowRequest =getWorkflowRequest("vSCP",300,new Date(), "2.00" ,"ST_249","O1652", "uid34", VNFOperation.Lock,"mj13","Payload"); + + WorkflowResponse response=workflowManger.executeWorkflow(workflowRequest); + Assert.assertTrue(response.getResponseContext().getStatus().getMessage().equals("failure")); + + } + + @Test + public void testExecuteWorkFlowAPIVersionStartWithOne() throws SvcLogicException{ + Mockito.when(workflowResolver.resolve(anyString(),anyString(),anyString(),anyString())).thenReturn(getWorkFlowKey()); + Mockito.when(svcLogicService.execute(anyString(),anyString(), anyString(),anyString(),anyObject())).thenReturn(createSvcExexuteSuccessResponse()); + + WorkflowRequest workflowRequest =getWorkflowRequest("vSCP",300,new Date(), "1.00" ,"ST_249","O1652", "uid34", VNFOperation.Lock,"mj13","Payload"); + + WorkflowResponse response=workflowManger.executeWorkflow(workflowRequest); + Assert.assertTrue(response.getResponseContext().getStatus().getMessage().equals("success")); + } + + @Test + public void testWorkFlowExist() throws SvcLogicException{ + Mockito.when(workflowResolver.resolve(anyString(),anyString(),anyString(),anyString())).thenReturn(getWorkFlowKey()); + Mockito.when(svcLogicService.hasGraph(anyString(),anyString(), anyString(),anyString())).thenReturn(true); + + WorkflowRequest workflowRequest =getWorkflowRequest("vSCP",300,new Date(), "2.00" ,"ST_249","O1652", "uid34", VNFOperation.Lock,"mj13","Payload"); + + WorkflowExistsOutput response=workflowManger.workflowExists(workflowRequest); + + Assert.assertTrue(response.isMappingExist()); + } + + @Test + public void testWorkFlowNotExist() throws SvcLogicException{ + Mockito.when(workflowResolver.resolve(anyString(),anyString(),anyString(),anyString())).thenReturn(getWorkFlowKey()); + Mockito.when(svcLogicService.hasGraph(anyString(),anyString(), anyString(),anyString())).thenReturn(false); + + WorkflowRequest workflowRequest =getWorkflowRequest("vSCP",300,new Date(), "2.00" ,"ST_249","O1652", "uid34", VNFOperation.Lock,"mj13","Payload"); + + WorkflowExistsOutput response=workflowManger.workflowExists(workflowRequest); + + Assert.assertTrue(response.isMappingExist()); + } + + private WorkflowRequest getWorkflowRequest(String vnfType, int ttl, Date timeStamp, String apiVersion, String requestId, String originatorID, String subRequestID, VNFOperation action, String vnfId ,String payload){ + WorkflowRequest workflowRequest=new WorkflowRequest(); + RuntimeContext runtimeContext=createRuntimeContext(); + + runtimeContext.getRequestContext().getCommonHeader().getFlags().setTtl(ttl); + runtimeContext.getRequestContext().getCommonHeader().setApiVer(apiVersion); + runtimeContext.getRequestContext().getCommonHeader().setTimestamp(timeStamp); + runtimeContext.getRequestContext().getCommonHeader().setRequestId(requestId); + runtimeContext.getRequestContext().getCommonHeader().setSubRequestId(subRequestID); + runtimeContext.getRequestContext().getCommonHeader().setOriginatorId(originatorID); + runtimeContext.getRequestContext().setAction(action); + runtimeContext.getRequestContext().getActionIdentifiers().setVnfId(vnfId); + runtimeContext.getRequestContext().setPayload(payload); + + runtimeContext.getVnfContext().setType(vnfType); + runtimeContext.getVnfContext().setId(vnfId); + + workflowRequest.setRequestContext(runtimeContext.getRequestContext()); + workflowRequest.setResponseContext(runtimeContext.getResponseContext()); + workflowRequest.setVnfContext(runtimeContext.getVnfContext()); + + return workflowRequest; + } + + private RequestContext creatRequestContext(){ + RequestContext requestContext=new RequestContext(); + CommonHeader commonHeader = new CommonHeader(); + Flags flags = new Flags(); + ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); + commonHeader.setFlags(flags); + requestContext.setCommonHeader(commonHeader); + requestContext.setActionIdentifiers(actionIdentifiers); + + return requestContext; + } + private ResponseContext createResponseContext(){ + ResponseContext responseContext=new ResponseContext(); + CommonHeader commonHeader = new CommonHeader(); + Flags flags = new Flags(); + Status status = new Status(); + responseContext.setCommonHeader(commonHeader); + responseContext.setStatus(status); + commonHeader.setFlags(flags); + + return responseContext; + } + private RuntimeContext createRuntimeContext(){ + RuntimeContext runtimeContext=new RuntimeContext(); + RequestContext requestContext=creatRequestContext(); + ResponseContext responseContext=createResponseContext(); + runtimeContext.setRequestContext(requestContext); + runtimeContext.setResponseContext(responseContext); + VNFContext vnfContext=new VNFContext(); + runtimeContext.setVnfContext(vnfContext); + + return runtimeContext; + } + + public WorkflowKey getWorkFlowKey(){ + WorkflowKey workflowKey=new WorkflowKey("APPCDG","2.0.0.0","dgModule"); + + return workflowKey; + } + + private Properties createSvcExexuteSuccessResponse(){ + Properties properties=new Properties(); + properties.setProperty("output.payload","success"); + properties.setProperty("SvcLogic.status","success"); + properties.setProperty("output.status.code","400"); + properties.setProperty("output.status.message","success"); + + return properties; + } + + private Properties createSvcExexuteFailureResponse(){ + Properties properties=new Properties(); + properties.setProperty("output.payload","failure"); + properties.setProperty("SvcLogic.status","failure"); + properties.setProperty("output.status.message","failure"); + + return properties; + } + +} |