use of org.wso2.carbon.apimgt.core.dao.ApplicationDAO in project carbon-apimgt by wso2.
the class SubscriptionDAOImplIT method testGetSubscriptionForValidationByApiContextVersionAndApp.
@Test
public void testGetSubscriptionForValidationByApiContextVersionAndApp() throws Exception {
// add test apis, apps and subscriptions
// app1: api2
// app2: api1, api2
ApisAndApps apisAndApps = createApisAppsAndSubscriptions();
APISubscriptionDAO subscriptionDAO = DAOFactory.getAPISubscriptionDAO();
ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
API api1 = apisAndApps.getApis().get(0);
API api2 = apisAndApps.getApis().get(1);
Application app1 = apisAndApps.getApps().get(0);
Application app2 = apisAndApps.getApps().get(1);
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-1", app1.getId());
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-2", app2.getId());
List<SubscriptionValidationData> availableSubs = subscriptionDAO.getAPISubscriptionsOfAPIForValidation(api2.getContext(), api2.getVersion(), app2.getId());
Assert.assertEquals(availableSubs.size(), 1, "There should be 1 subscription only but found " + availableSubs.size());
validateSubscriptionsOfApi(availableSubs.get(0), api2, app2);
List<SubscriptionValidationData> notAvailableSubs = subscriptionDAO.getAPISubscriptionsOfAPIForValidation(api1.getContext(), api1.getVersion(), app1.getId());
Assert.assertEquals(notAvailableSubs.size(), 0, "There can't be any subscriptions but found " + notAvailableSubs.size());
}
use of org.wso2.carbon.apimgt.core.dao.ApplicationDAO in project carbon-apimgt by wso2.
the class SubscriptionDAOImplIT method testGetSubscriptionsForValidation.
@Test
public void testGetSubscriptionsForValidation() throws Exception {
// add test apis, apps and subscriptions
ApisAndApps apisAndApps = createApisAppsAndSubscriptions();
APISubscriptionDAO subscriptionDAO = DAOFactory.getAPISubscriptionDAO();
ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
API api1 = apisAndApps.getApis().get(0);
API api2 = apisAndApps.getApis().get(1);
API api3 = apisAndApps.getApis().get(2);
API api4 = apisAndApps.getApis().get(3);
Application app1 = apisAndApps.getApps().get(0);
Application app2 = apisAndApps.getApps().get(1);
Application app3 = apisAndApps.getApps().get(2);
Application app4 = apisAndApps.getApps().get(3);
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-1", app1.getId());
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-2", app2.getId());
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-3", app3.getId());
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-4", app4.getId());
// get all subscriptions
List<SubscriptionValidationData> subscriptions = subscriptionDAO.getAPISubscriptionsOfAPIForValidation(-1);
// validate subscription count
Assert.assertEquals(subscriptions.size(), 9, "There should be 9 subscriptions (only).");
// validate subscriptions
for (SubscriptionValidationData subscription : subscriptions) {
Assert.assertNotNull(subscription);
if (subscription.getApplicationId().equals(app1.getId()) && subscription.getApiName().equals(api2.getName())) {
// app1 & api 2
validateSubscriptionsOfApi(subscription, api2, app1);
} else if (subscription.getApplicationId().equals(app2.getId()) && subscription.getApiName().equals(api1.getName())) {
// app2 & api 1
validateSubscriptionsOfApi(subscription, api1, app2);
} else if (subscription.getApplicationId().equals(app2.getId()) && subscription.getApiName().equals(api2.getName())) {
// app2 & api 2
validateSubscriptionsOfApi(subscription, api2, app2);
} else if (subscription.getApplicationId().equals(app2.getId()) && subscription.getApiName().equals(api3.getName())) {
// app2 & api 3
validateSubscriptionsOfApi(subscription, api3, app2);
} else if (subscription.getApplicationId().equals(app2.getId()) && subscription.getApiName().equals(api4.getName())) {
// app2 & api 4
validateSubscriptionsOfApi(subscription, api4, app2);
} else if (subscription.getApplicationId().equals(app3.getId()) && subscription.getApiName().equals(api3.getName())) {
// app3 & api 3
validateSubscriptionsOfApi(subscription, api3, app3);
} else if (subscription.getApplicationId().equals(app4.getId()) && subscription.getApiName().equals(api1.getName())) {
// app4 & api 1
validateSubscriptionsOfApi(subscription, api1, app4);
} else if (subscription.getApplicationId().equals(app4.getId()) && subscription.getApiName().equals(api2.getName())) {
// app4 & api 2
validateSubscriptionsOfApi(subscription, api2, app4);
} else if (subscription.getApplicationId().equals(app4.getId()) && subscription.getApiName().equals(api3.getName())) {
// app4 & api 3
validateSubscriptionsOfApi(subscription, api3, app4);
} else if (subscription.getApplicationId().equals(app4.getId()) && subscription.getApiName().equals(api4.getName())) {
// app4 & api 4
validateSubscriptionsOfApi(subscription, api4, app4);
} else {
Assert.fail("Invalid subscription found!!! API: " + subscription.getApiName() + " Application: " + subscription.getApplicationId());
}
}
}
use of org.wso2.carbon.apimgt.core.dao.ApplicationDAO in project carbon-apimgt by wso2.
the class SubscriptionDAOImplIT method testGetSubscriptionForValidationByApiContextAndVersion.
@Test
public void testGetSubscriptionForValidationByApiContextAndVersion() throws Exception {
// add test apis, apps and subscriptions
ApisAndApps apisAndApps = createApisAppsAndSubscriptions();
APISubscriptionDAO subscriptionDAO = DAOFactory.getAPISubscriptionDAO();
ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
API api1 = apisAndApps.getApis().get(0);
API api2 = apisAndApps.getApis().get(1);
API api3 = apisAndApps.getApis().get(2);
API api4 = apisAndApps.getApis().get(3);
Application app1 = apisAndApps.getApps().get(0);
Application app2 = apisAndApps.getApps().get(1);
Application app3 = apisAndApps.getApps().get(2);
Application app4 = apisAndApps.getApps().get(3);
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-1", app1.getId());
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-2", app2.getId());
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-3", app3.getId());
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-4", app4.getId());
// get subscriptions of api1 (app2, app4)
List<SubscriptionValidationData> subscriptions = subscriptionDAO.getAPISubscriptionsOfAPIForValidation(api1.getContext(), api1.getVersion());
// validate subscription count
Assert.assertEquals(subscriptions.size(), 2, "There should be 2 subscriptions (only).");
Assert.assertEquals(subscriptionDAO.getSubscriptionCountByAPI(api1.getId()), 2L, "There should be 2 subscriptions (only).");
// validate subscriptions
for (SubscriptionValidationData subscription : subscriptions) {
Assert.assertNotNull(subscription);
if (subscription.getApplicationId().equals(app2.getId())) {
validateSubscriptionsOfApi(subscription, api1, app2);
} else if (subscription.getApplicationId().equals(app4.getId())) {
validateSubscriptionsOfApi(subscription, api1, app4);
} else {
Assert.fail(INVALID_SUBSCRIPTION_FOUND);
}
}
// get subscriptions of api2 (app1, app2, app4)
subscriptions = subscriptionDAO.getAPISubscriptionsOfAPIForValidation(api2.getContext(), api2.getVersion());
// validate subscription count
Assert.assertEquals(subscriptions.size(), 3, "There should be 3 subscriptions (only).");
Assert.assertEquals(subscriptionDAO.getSubscriptionCountByAPI(api2.getId()), 3L, "There should be 3 subscriptions (only).");
// validate subscriptions
for (SubscriptionValidationData subscription : subscriptions) {
Assert.assertNotNull(subscription);
if (subscription.getApplicationId().equals(app1.getId())) {
validateSubscriptionsOfApi(subscription, api2, app1);
} else if (subscription.getApplicationId().equals(app2.getId())) {
validateSubscriptionsOfApi(subscription, api2, app2);
} else if (subscription.getApplicationId().equals(app4.getId())) {
validateSubscriptionsOfApi(subscription, api2, app4);
} else {
Assert.fail(INVALID_SUBSCRIPTION_FOUND);
}
}
// get subscriptions of api3 (app2, app3, app4)
subscriptions = subscriptionDAO.getAPISubscriptionsOfAPIForValidation(api3.getContext(), api3.getVersion());
// validate subscription count
Assert.assertEquals(subscriptions.size(), 3, "There should be 3 subscription (only).");
Assert.assertEquals(subscriptionDAO.getSubscriptionCountByAPI(api3.getId()), 3L, "There should be 3 subscription (only).");
// validate subscriptions
for (SubscriptionValidationData subscription : subscriptions) {
Assert.assertNotNull(subscription);
if (subscription.getApplicationId().equals(app2.getId())) {
validateSubscriptionsOfApi(subscription, api3, app2);
} else if (subscription.getApplicationId().equals(app3.getId())) {
validateSubscriptionsOfApi(subscription, api3, app3);
} else if (subscription.getApplicationId().equals(app4.getId())) {
validateSubscriptionsOfApi(subscription, api3, app4);
} else {
Assert.fail(INVALID_SUBSCRIPTION_FOUND);
}
}
// get subscriptions of api4 (app4)
subscriptions = subscriptionDAO.getAPISubscriptionsOfAPIForValidation(api4.getContext(), api4.getVersion());
// validate subscription count
Assert.assertEquals(subscriptions.size(), 1, "There should be 1 subscriptions (only).");
Assert.assertEquals(subscriptionDAO.getSubscriptionCountByAPI(api4.getId()), 1L, "There should be 1 subscriptions (only).");
// validate subscriptions
for (SubscriptionValidationData subscription : subscriptions) {
Assert.assertNotNull(subscription);
if (subscription.getApplicationId().equals(app4.getId())) {
validateSubscriptionsOfApi(subscription, api4, app4);
} else {
Assert.fail(INVALID_SUBSCRIPTION_FOUND);
}
}
}
use of org.wso2.carbon.apimgt.core.dao.ApplicationDAO in project carbon-apimgt by wso2.
the class APIStoreImplTestCase method testAddApplicationWithDuplicateName.
@Test(description = "Add application with duplicate name", expectedExceptions = APIMgtResourceAlreadyExistsException.class)
public void testAddApplicationWithDuplicateName() throws APIManagementException {
ApplicationDAO applicationDAO = Mockito.mock(ApplicationDAO.class);
WorkflowDAO workflowDAO = Mockito.mock(WorkflowDAO.class);
APIStore apiStore = getApiStoreImpl(applicationDAO, workflowDAO);
Application application = new Application(APP_NAME, USER_NAME);
Mockito.when(applicationDAO.isApplicationNameExists(APP_NAME)).thenReturn(true);
apiStore.addApplication(application);
}
use of org.wso2.carbon.apimgt.core.dao.ApplicationDAO in project carbon-apimgt by wso2.
the class APIStoreImplTestCase method testAddSubscriptionForInvalidApplication.
@Test(description = "Add subscription without a valid app", expectedExceptions = APIManagementException.class)
public void testAddSubscriptionForInvalidApplication() throws APIManagementException {
ApplicationDAO applicationDAO = Mockito.mock(ApplicationDAO.class);
APISubscriptionDAO apiSubscriptionDAO = Mockito.mock(APISubscriptionDAO.class);
ApiDAO apiDAO = Mockito.mock(ApiDAO.class);
APIGateway apiGateway = Mockito.mock(APIGateway.class);
WorkflowDAO workflowDAO = Mockito.mock(WorkflowDAO.class);
APIStore apiStore = getApiStoreImpl(apiDAO, applicationDAO, apiSubscriptionDAO, workflowDAO, apiGateway);
API.APIBuilder apiBuilder = SampleTestObjectCreator.createDefaultAPI();
API api = apiBuilder.build();
String apiId = api.getId();
/* Application application = new Application("TestApp", USER_ID);
application.setId(UUID);*/
Mockito.when(apiDAO.getAPI(apiId)).thenReturn(api);
Mockito.when(applicationDAO.getApplication(UUID)).thenReturn(null);
SubscriptionResponse subscriptionResponse = apiStore.addApiSubscription(apiId, UUID, TIER);
String subscriptionId = subscriptionResponse.getSubscriptionUUID();
Assert.assertNotNull(subscriptionId);
// subscription should not be added
Mockito.verify(apiSubscriptionDAO, Mockito.times(0)).addAPISubscription(subscriptionId, apiId, UUID, TIER, APIMgtConstants.SubscriptionStatus.ON_HOLD);
}
Aggregations