use of org.wso2.carbon.apimgt.core.dao.WorkflowDAO in project carbon-apimgt by wso2.
the class WorkflowDAOIT method testGetWorkflowsList.
@Test
public void testGetWorkflowsList() throws Exception {
WorkflowDAO workflowDAO = DAOFactory.getWorkflowDAO();
// pending application 1
String workflowExtRefId1 = UUID.randomUUID().toString();
String applicationId1 = UUID.randomUUID().toString();
Workflow workflow1 = SampleTestObjectCreator.createWorkflow(workflowExtRefId1);
workflow1.setWorkflowType(WorkflowConstants.WF_TYPE_AM_APPLICATION_CREATION);
workflow1.setWorkflowReference(applicationId1);
workflow1.setStatus(WorkflowStatus.CREATED);
workflowDAO.addWorkflowEntry(workflow1);
// pending application 2
String workflowExtRefId2 = UUID.randomUUID().toString();
String applicationId2 = UUID.randomUUID().toString();
Workflow workflow2 = SampleTestObjectCreator.createWorkflow(workflowExtRefId2);
workflow2.setWorkflowType(WorkflowConstants.WF_TYPE_AM_APPLICATION_CREATION);
workflow2.setWorkflowReference(applicationId2);
workflow2.setStatus(WorkflowStatus.CREATED);
workflowDAO.addWorkflowEntry(workflow2);
// completed application 1
String workflowExtRefId3 = UUID.randomUUID().toString();
String applicationId3 = UUID.randomUUID().toString();
Workflow workflow3 = SampleTestObjectCreator.createWorkflow(workflowExtRefId3);
workflow3.setWorkflowType(WorkflowConstants.WF_TYPE_AM_APPLICATION_CREATION);
workflow3.setWorkflowReference(applicationId3);
workflow3.setStatus(WorkflowStatus.APPROVED);
workflowDAO.addWorkflowEntry(workflow3);
// pending subscription 1
String workflowExtRefId4 = UUID.randomUUID().toString();
String applicationId4 = UUID.randomUUID().toString();
Workflow workflow4 = SampleTestObjectCreator.createWorkflow(workflowExtRefId4);
workflow4.setWorkflowType(WorkflowConstants.WF_TYPE_AM_SUBSCRIPTION_CREATION);
workflow4.setWorkflowReference(applicationId4);
workflow4.setStatus(WorkflowStatus.CREATED);
workflowDAO.addWorkflowEntry(workflow4);
// completed subscription 1
String workflowExtRefId5 = UUID.randomUUID().toString();
String applicationId5 = UUID.randomUUID().toString();
Workflow workflow5 = SampleTestObjectCreator.createWorkflow(workflowExtRefId5);
workflow5.setWorkflowType(WorkflowConstants.WF_TYPE_AM_SUBSCRIPTION_CREATION);
workflow5.setWorkflowReference(applicationId5);
workflow5.setStatus(WorkflowStatus.APPROVED);
workflowDAO.addWorkflowEntry(workflow5);
List<Workflow> list = workflowDAO.retrieveUncompleteWorkflows(WorkflowConstants.WF_TYPE_AM_APPLICATION_CREATION);
for (Iterator iterator = list.iterator(); iterator.hasNext(); ) {
Workflow workflow = (Workflow) iterator.next();
// check whether there are any completed workflows
Assert.assertFalse(WorkflowStatus.APPROVED == workflow.getStatus(), "Retrieved list contains approved workflows");
// check whether it has subscription workflow entry
Assert.assertFalse(WorkflowConstants.WF_TYPE_AM_SUBSCRIPTION_CREATION.equals(workflow.getWorkflowType()), "Application workflow list contains subscription workflow entry");
}
// get all the pending workflows
List<Workflow> fullList = workflowDAO.retrieveUncompleteWorkflows();
Assert.assertEquals(fullList.size(), 3, "Retrived workflow list does not contain valid entires");
}
use of org.wso2.carbon.apimgt.core.dao.WorkflowDAO in project carbon-apimgt by wso2.
the class WorkflowDAOIT method testGetExternalWorkflowReferenceForApplication.
@Test
public void testGetExternalWorkflowReferenceForApplication() throws Exception {
WorkflowDAO workflowDAO = DAOFactory.getWorkflowDAO();
String workflowExtRefId = UUID.randomUUID().toString();
String applicationId = UUID.randomUUID().toString();
Workflow workflow = SampleTestObjectCreator.createWorkflow(workflowExtRefId);
workflow.setWorkflowType(WorkflowConstants.WF_TYPE_AM_APPLICATION_CREATION);
workflow.setWorkflowReference(applicationId);
workflow.setStatus(WorkflowStatus.CREATED);
workflowDAO.addWorkflowEntry(workflow);
Optional<String> externalRefFromDb = workflowDAO.getExternalWorkflowReferenceForPendingTask(applicationId, WorkflowConstants.WF_TYPE_AM_APPLICATION_CREATION);
if (externalRefFromDb.isPresent()) {
Assert.assertEquals(externalRefFromDb.get(), workflowExtRefId);
} else {
Assert.fail("External workflow reference does not exist");
}
}
use of org.wso2.carbon.apimgt.core.dao.WorkflowDAO in project carbon-apimgt by wso2.
the class WorkflowDAOIT method testAddWorkflowEntryWithoutAttributes.
@Test
public void testAddWorkflowEntryWithoutAttributes() throws Exception {
String workflowRefId = UUID.randomUUID().toString();
WorkflowDAO workflowDAO = DAOFactory.getWorkflowDAO();
Workflow workflow = SampleTestObjectCreator.createWorkflow(workflowRefId);
workflow.setAttributes(null);
workflowDAO.addWorkflowEntry(workflow);
Workflow retrieveWorflow = workflowDAO.retrieveWorkflow(workflow.getExternalWorkflowReference());
Assert.assertEquals(retrieveWorflow.getExternalWorkflowReference(), workflowRefId);
Assert.assertEquals(retrieveWorflow.getStatus(), workflow.getStatus());
Assert.assertEquals(retrieveWorflow.getWorkflowReference(), workflow.getWorkflowReference());
Assert.assertNull(retrieveWorflow.getAttributes());
}
use of org.wso2.carbon.apimgt.core.dao.WorkflowDAO in project carbon-apimgt by wso2.
the class APIStoreImplTestCase method testUpdateApplication.
@Test(description = "Update an application")
public void testUpdateApplication() throws APIManagementException {
ApplicationDAO applicationDAO = Mockito.mock(ApplicationDAO.class);
WorkflowDAO workflowDAO = Mockito.mock(WorkflowDAO.class);
APIGateway apiGateway = Mockito.mock(APIGateway.class);
PolicyDAO policyDAO = Mockito.mock(PolicyDAO.class);
APIStore apiStore = getApiStoreImpl(applicationDAO, policyDAO, workflowDAO, apiGateway);
Application existingApplication = SampleTestObjectCreator.createDefaultApplication();
String appUUID = existingApplication.getUuid();
existingApplication.setStatus(ApplicationStatus.APPLICATION_APPROVED);
Mockito.when(applicationDAO.getApplication(appUUID)).thenReturn(existingApplication);
// Updating the existing application
Application updatedApplication = SampleTestObjectCreator.createDefaultApplication();
updatedApplication.setDescription("updated description");
ApplicationPolicy applicationPolicy = SampleTestObjectCreator.createDefaultApplicationPolicy();
applicationPolicy.setPolicyName(TIER);
updatedApplication.setPolicy(applicationPolicy);
updatedApplication.setStatus(ApplicationStatus.APPLICATION_APPROVED);
Mockito.when(policyDAO.getSimplifiedPolicyByLevelAndName(APIMgtAdminService.PolicyLevel.application, applicationPolicy.getPolicyName())).thenReturn(applicationPolicy);
apiStore.updateApplication(appUUID, updatedApplication);
Mockito.verify(applicationDAO, Mockito.times(1)).updateApplication(appUUID, updatedApplication);
// Error
// APIMgtDAOException
Mockito.doThrow(APIMgtDAOException.class).when(applicationDAO).updateApplication(appUUID, updatedApplication);
try {
apiStore.updateApplication(appUUID, updatedApplication);
} catch (APIManagementException e) {
Assert.assertEquals(e.getMessage(), "Error occurred while updating the application - " + appUUID);
}
// Error path
// When specified tier in the updated application is invalid
Mockito.when(policyDAO.getSimplifiedPolicyByLevelAndName(APIMgtAdminService.PolicyLevel.application, applicationPolicy.getPolicyName())).thenReturn(null);
try {
apiStore.updateApplication(appUUID, updatedApplication);
} catch (APIManagementException e) {
Assert.assertEquals(e.getMessage(), "Specified tier " + applicationPolicy + " is invalid");
}
}
use of org.wso2.carbon.apimgt.core.dao.WorkflowDAO in project carbon-apimgt by wso2.
the class APIStoreImplTestCase method testAddApplicationNullPolicy.
@Test(description = "Add an application with null policy", expectedExceptions = APIManagementException.class)
public void testAddApplicationNullPolicy() throws Exception {
ApplicationDAO applicationDAO = Mockito.mock(ApplicationDAO.class);
PolicyDAO policyDAO = Mockito.mock(PolicyDAO.class);
WorkflowDAO workflowDAO = Mockito.mock(WorkflowDAO.class);
APIStore apiStore = getApiStoreImpl(applicationDAO, policyDAO, workflowDAO);
Application application = new Application(APP_NAME, USER_NAME);
application.setPolicy(new ApplicationPolicy(TIER));
Mockito.when(applicationDAO.isApplicationNameExists(APP_NAME)).thenReturn(false);
Mockito.when(policyDAO.getPolicyByLevelAndName(APIMgtAdminService.PolicyLevel.application, TIER)).thenReturn(null);
apiStore.addApplication(application);
}
Aggregations