use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.
the class PolicyDAOImplIT method testAddGetUpdateDeleteBlockConditions.
@Test(description = "Add, Get, Delete block condition")
public void testAddGetUpdateDeleteBlockConditions() throws Exception {
PolicyDAO policyDAO = DAOFactory.getPolicyDAO();
BlockConditions blockConditionsIP = SampleTestObjectCreator.createDefaultBlockCondition(APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITIONS_IP);
BlockConditions blockConditionsIpRange = SampleTestObjectCreator.createDefaultBlockCondition(APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITION_IP_RANGE);
BlockConditions blockConditionsApi = SampleTestObjectCreator.createDefaultBlockCondition(APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITIONS_API);
BlockConditions blockConditionsApp = SampleTestObjectCreator.createDefaultBlockCondition(APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITIONS_APPLICATION);
BlockConditions blockConditionsUser = SampleTestObjectCreator.createDefaultBlockCondition(APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITIONS_USER);
String uuidIp = policyDAO.addBlockConditions(blockConditionsIP);
String uuidIpRange = policyDAO.addBlockConditions(blockConditionsIpRange);
String uuidApi = policyDAO.addBlockConditions(blockConditionsApi);
String uuidApp = policyDAO.addBlockConditions(blockConditionsApp);
String uuidUser = policyDAO.addBlockConditions(blockConditionsUser);
BlockConditions blockConditionsAddedIP = policyDAO.getBlockConditionByUUID(uuidIp);
BlockConditions blockConditionsAddedIpRange = policyDAO.getBlockConditionByUUID(uuidIpRange);
BlockConditions blockConditionsAddedApi = policyDAO.getBlockConditionByUUID(uuidApi);
BlockConditions blockConditionsAddedApp = policyDAO.getBlockConditionByUUID(uuidApp);
BlockConditions blockConditionsAddedUser = policyDAO.getBlockConditionByUUID(uuidUser);
Assert.assertEquals(blockConditionsIP.getConditionValue(), blockConditionsAddedIP.getConditionValue());
Assert.assertEquals(blockConditionsApi.getConditionValue(), blockConditionsAddedApi.getConditionValue());
Assert.assertEquals(blockConditionsApp.getConditionValue(), blockConditionsAddedApp.getConditionValue());
Assert.assertEquals(blockConditionsUser.getConditionValue(), blockConditionsAddedUser.getConditionValue());
Assert.assertEquals(blockConditionsIpRange.getStartingIP(), blockConditionsAddedIpRange.getStartingIP());
Assert.assertTrue(policyDAO.updateBlockConditionStateByUUID(uuidIp, true));
Assert.assertTrue(policyDAO.getBlockConditionByUUID(uuidIp).isEnabled());
Assert.assertTrue(policyDAO.getBlockConditions().size() == 5);
Assert.assertTrue(policyDAO.deleteBlockConditionByUuid(uuidIp));
Assert.assertTrue(policyDAO.deleteBlockConditionByUuid(uuidIpRange));
Assert.assertTrue(policyDAO.deleteBlockConditionByUuid(uuidApi));
Assert.assertTrue(policyDAO.deleteBlockConditionByUuid(uuidApp));
Assert.assertTrue(policyDAO.deleteBlockConditionByUuid(uuidUser));
}
use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.
the class PolicyDAOImplIT method testValidityOfBlockCondition.
@Test
public void testValidityOfBlockCondition() throws Exception {
PolicyDAO policyDAO = DAOFactory.getPolicyDAO();
BlockConditions blockConditionIPRange = SampleTestObjectCreator.createDefaultBlockCondition(APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITION_IP_RANGE);
BlockConditions blockConditionAPI = SampleTestObjectCreator.createDefaultBlockCondition(APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITIONS_API);
BlockConditions blockConditionsApp = SampleTestObjectCreator.createDefaultBlockCondition(APIMgtConstants.ThrottlePolicyConstants.BLOCKING_CONDITIONS_APPLICATION);
// Making starting IP > ending IP
blockConditionIPRange.setStartingIP("12.34.13.12");
blockConditionIPRange.setEndingIP("10.32.44.32");
// Giving invalid API context
blockConditionAPI.setConditionValue("invalid");
// giving invalid app name and invalid UUID
String[] appArray = blockConditionsApp.getConditionValue().split(":");
UUID appUuid = UUID.randomUUID();
String appName = appArray[1];
blockConditionsApp.setConditionValue(appUuid + ":" + appName);
try {
policyDAO.addBlockConditions(blockConditionIPRange);
} catch (APIMgtDAOException ex) {
Assert.assertEquals(ex.getMessage(), "Couldn't Save Block Condition Due to Invalid IP Range -> Starting IP : " + blockConditionIPRange.getStartingIP() + " EndingIP : " + blockConditionIPRange.getEndingIP());
}
try {
policyDAO.addBlockConditions(blockConditionAPI);
} catch (APIMgtDAOException ex) {
Assert.assertEquals(ex.getMessage(), "Couldn't Save Block Condition Due to Invalid API Context : " + blockConditionAPI.getConditionValue());
}
try {
policyDAO.addBlockConditions(blockConditionsApp);
} catch (APIMgtDAOException ex) {
Assert.assertEquals(ex.getMessage(), "Couldn't Save Block Condition Due to Invalid Application : " + appName + ", UUID :" + appUuid);
}
// Making IP block condition valid and add twice to check if it shows already existing
blockConditionIPRange.setEndingIP("29.23.12.12");
policyDAO.addBlockConditions(blockConditionIPRange);
try {
policyDAO.addBlockConditions(blockConditionIPRange);
} catch (APIMgtDAOException ex) {
Assert.assertEquals(ex.getMessage(), "Condition with type: " + blockConditionIPRange.getConditionType() + ", value: " + blockConditionIPRange.getConditionValue() + " already exists");
}
}
use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.
the class PolicyDAOImplIT method testGetAPIPolicyWithBandwidthLimit.
@Test(description = "Get API Policies with bandwidth limit")
public void testGetAPIPolicyWithBandwidthLimit() throws Exception {
APIPolicy policy = SampleTestObjectCreator.createDefaultAPIPolicyWithBandwidthLimit();
PolicyDAO policyDAO = DAOFactory.getPolicyDAO();
// add policy
policyDAO.addApiPolicy(policy);
Policy policyAdded = policyDAO.getApiPolicy(policy.getPolicyName());
Assert.assertNotNull(policyAdded);
Assert.assertEquals(policyAdded.getPolicyName(), policy.getPolicyName());
}
use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.
the class PolicyDAOImplIT method testAddGetAndDeleteApplicationPolicy.
@Test(description = "Add, Get and Delete an Application policy")
public void testAddGetAndDeleteApplicationPolicy() throws Exception {
ApplicationPolicy policy = SampleTestObjectCreator.createDefaultApplicationPolicy();
PolicyDAO policyDAO = DAOFactory.getPolicyDAO();
// add policy
policyDAO.addApplicationPolicy(policy);
// get added policy
Policy addedPolicy = policyDAO.getApplicationPolicy(policy.getPolicyName());
Assert.assertNotNull(addedPolicy);
Assert.assertEquals(addedPolicy.getPolicyName(), policy.getPolicyName());
// delete policy
policyDAO.deletePolicy(APIMgtAdminService.PolicyLevel.application, policy.getPolicyName());
// get policy after deletion
try {
policyDAO.getApplicationPolicy(policy.getPolicyName());
Assert.fail("Exception expected, but not thrown.");
} catch (APIMgtDAOException ex) {
Assert.assertEquals(ex.getMessage(), "Application Policy not found for name: " + addedPolicy.getPolicyName());
}
try {
policyDAO.getApplicationPolicyByUuid(policy.getUuid());
Assert.fail("Exception expected, but not thrown.");
} catch (APIMgtDAOException ex) {
Assert.assertEquals(ex.getMessage(), "Application Policy not found for id: " + addedPolicy.getUuid());
}
}
use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.
the class SubscriptionDAOImplIT method testGetSubscriptionForApplicationAndKeyType.
@Test
public void testGetSubscriptionForApplicationAndKeyType() throws Exception {
// add test apis, apps and subscriptions
// app1: api2
// app2: api1, api2, api3
// app3: api3
// app4: api1, api2, api3, api4
ApisAndApps apisAndApps = createApisAppsAndSubscriptions();
APISubscriptionDAO subscriptionDAO = DAOFactory.getAPISubscriptionDAO();
ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
API api2 = apisAndApps.getApis().get(1);
Application app1 = apisAndApps.getApps().get(0);
registerOAuthAppForApplication(applicationDAO, "client-key-for-app-1", app1.getId());
// get subscriptions of app1-PRODUCTION
List<SubscriptionValidationData> subscriptionValidationDataProd = subscriptionDAO.getAPISubscriptionsOfAppForValidation(app1.getId(), "PRODUCTION");
// validate subscriptions
Assert.assertEquals(subscriptionValidationDataProd.size(), 1, "There should be 1 subscriptions (only).");
SubscriptionValidationData validationData = subscriptionValidationDataProd.get(0);
Assert.assertNotNull(validationData);
Assert.assertEquals(validationData.getApiName(), api2.getName());
Assert.assertEquals(validationData.getApiVersion(), api2.getVersion());
Assert.assertEquals(validationData.getApplicationId(), app1.getId());
Assert.assertEquals(validationData.getKeyEnvType(), "PRODUCTION");
// list subscriptions for app1-SANDBOX
List<SubscriptionValidationData> subscriptionValidationDataSandbox = subscriptionDAO.getAPISubscriptionsOfAppForValidation(app1.getId(), "SANDBOX");
Assert.assertEquals(subscriptionValidationDataSandbox.size(), 0, "There shouldn't be any subscriptions.");
}
Aggregations