Search in sources :

Example 46 with Add

use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.

the class ApiDAOImplIT method testGetAPIsByStatus.

@Test
public void testGetAPIsByStatus() throws Exception {
    ApiDAO apiDAO = DAOFactory.getApiDAO();
    // Define statuses used in test
    final String publishedStatus = "PUBLISHED";
    final String createdStatus = "CREATED";
    final String maintenanceStatus = "MAINTENANCE";
    // Define number of APIs to be created for a given status
    final int numberOfPublished = 4;
    final int numberOfCreated = 2;
    final int numberOfInMaintenance = 1;
    // Add APIs
    List<API> publishedAPIsSummary = new ArrayList<>();
    testAddGetEndpoint();
    for (int i = 0; i < numberOfPublished; ++i) {
        API api = SampleTestObjectCreator.createUniqueAPI().lifeCycleStatus(publishedStatus).build();
        publishedAPIsSummary.add(SampleTestObjectCreator.getSummaryFromAPI(api));
        apiDAO.addAPI(api);
    }
    List<API> createdAPIsSummary = new ArrayList<>();
    for (int i = 0; i < numberOfCreated; ++i) {
        API api = SampleTestObjectCreator.createUniqueAPI().lifeCycleStatus(createdStatus).build();
        createdAPIsSummary.add(SampleTestObjectCreator.getSummaryFromAPI(api));
        apiDAO.addAPI(api);
    }
    List<API> maintenanceAPIsSummary = new ArrayList<>();
    for (int i = 0; i < numberOfInMaintenance; ++i) {
        API api = SampleTestObjectCreator.createUniqueAPI().lifeCycleStatus(maintenanceStatus).build();
        maintenanceAPIsSummary.add(SampleTestObjectCreator.getSummaryFromAPI(api));
        apiDAO.addAPI(api);
    }
    // Filter APIs by single status
    List<String> singleStatus = new ArrayList<>();
    singleStatus.add(publishedStatus);
    List<API> apiList = apiDAO.getAPIsByStatus(singleStatus);
    Assert.assertTrue(APIUtils.isListsEqualIgnoreOrder(apiList, publishedAPIsSummary, new APIComparator()));
    // Filter APIs by two statuses
    List<String> twoStatuses = new ArrayList<>();
    twoStatuses.add(publishedStatus);
    twoStatuses.add(maintenanceStatus);
    apiList = apiDAO.getAPIsByStatus(twoStatuses);
    Assert.assertEquals(apiList.size(), publishedAPIsSummary.size() + maintenanceAPIsSummary.size());
    for (API api : publishedAPIsSummary) {
        Assert.assertTrue(apiList.contains(api));
        apiList.remove(api);
    }
    for (API api : maintenanceAPIsSummary) {
        Assert.assertTrue(apiList.contains(api));
        apiList.remove(api);
    }
    Assert.assertTrue(apiList.isEmpty());
    // Filter APIs by multiple statuses
    List<String> multipleStatuses = new ArrayList<>();
    multipleStatuses.add(publishedStatus);
    multipleStatuses.add(createdStatus);
    multipleStatuses.add(maintenanceStatus);
    apiList = apiDAO.getAPIsByStatus(multipleStatuses);
    Assert.assertEquals(apiList.size(), publishedAPIsSummary.size() + maintenanceAPIsSummary.size() + createdAPIsSummary.size());
    for (API api : publishedAPIsSummary) {
        Assert.assertTrue(apiList.contains(api));
        apiList.remove(api);
    }
    for (API api : maintenanceAPIsSummary) {
        Assert.assertTrue(apiList.contains(api));
        apiList.remove(api);
    }
    for (API api : createdAPIsSummary) {
        Assert.assertTrue(apiList.contains(api));
        apiList.remove(api);
    }
    Assert.assertTrue(apiList.isEmpty());
}
Also used : ArrayList(java.util.ArrayList) APIComparator(org.wso2.carbon.apimgt.core.util.APIComparator) CompositeAPI(org.wso2.carbon.apimgt.core.models.CompositeAPI) API(org.wso2.carbon.apimgt.core.models.API) ApiDAO(org.wso2.carbon.apimgt.core.dao.ApiDAO) Endpoint(org.wso2.carbon.apimgt.core.models.Endpoint) Test(org.testng.annotations.Test)

Example 47 with Add

use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.

the class ApplicationDAOImplIT method testFingerprintAfterUpdatingApplication.

@Test
public void testFingerprintAfterUpdatingApplication() throws Exception {
    ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
    // add new app
    Application currentApp = TestUtil.addTestApplication();
    String fingerprintBeforeUpdate = ETagUtils.generateETag(applicationDAO.getLastUpdatedTimeOfApplication(currentApp.getId()));
    Assert.assertNotNull(fingerprintBeforeUpdate);
    Thread.sleep(1);
    Application newApp = SampleTestObjectCreator.createAlternativeApplication();
    newApp.setId(currentApp.getId());
    newApp.setCreatedTime(currentApp.getCreatedTime());
    // update app
    applicationDAO.updateApplication(currentApp.getId(), newApp);
    String fingerprintAfterUpdate = ETagUtils.generateETag(applicationDAO.getLastUpdatedTimeOfApplication(currentApp.getId()));
    Assert.assertNotNull(fingerprintAfterUpdate);
    // compare
    Assert.assertNotEquals(fingerprintBeforeUpdate, fingerprintAfterUpdate);
}
Also used : ApplicationDAO(org.wso2.carbon.apimgt.core.dao.ApplicationDAO) Application(org.wso2.carbon.apimgt.core.models.Application) Test(org.testng.annotations.Test)

Example 48 with Add

use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.

the class ApplicationDAOImplIT method testAddAndGetApplication.

@Test
public void testAddAndGetApplication() throws Exception {
    // add new app
    Application app = TestUtil.addTestApplication();
    ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
    // get added app
    Application appFromDB = applicationDAO.getApplication(app.getId());
    Assert.assertNotNull(appFromDB);
    // compare
    Assert.assertEquals(appFromDB, app, TestUtil.printDiff(appFromDB, app));
    validateAppTimestamps(appFromDB, app);
}
Also used : ApplicationDAO(org.wso2.carbon.apimgt.core.dao.ApplicationDAO) Application(org.wso2.carbon.apimgt.core.models.Application) Test(org.testng.annotations.Test)

Example 49 with Add

use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.

the class ApplicationDAOImplIT method testGetAllApplications.

@Test
public void testGetAllApplications() throws Exception {
    // add 4 apps
    String username = "admin";
    Application app1 = TestUtil.addCustomApplication("App1", username);
    Application app2 = TestUtil.addCustomApplication("App2", username);
    Application app3 = TestUtil.addCustomApplication("App3", username);
    Application app4 = TestUtil.addCustomApplication("App4", username);
    ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
    // get added apps
    List<Application> appsFromDB = applicationDAO.getApplications(username);
    Assert.assertNotNull(appsFromDB);
    Assert.assertEquals(appsFromDB.size(), 4);
    for (Application application : appsFromDB) {
        Assert.assertNotNull(application);
        if (application.getName().equals(app1.getName())) {
            Assert.assertEquals(application, app1, TestUtil.printDiff(application, app1));
            validateAppTimestamps(application, app1);
        } else if (application.getName().equals(app2.getName())) {
            Assert.assertEquals(application, app2, TestUtil.printDiff(application, app2));
            validateAppTimestamps(application, app2);
        } else if (application.getName().equals(app3.getName())) {
            Assert.assertEquals(application, app3, TestUtil.printDiff(application, app3));
            validateAppTimestamps(application, app3);
        } else if (application.getName().equals(app4.getName())) {
            Assert.assertEquals(application, app4, TestUtil.printDiff(application, app4));
            validateAppTimestamps(application, app4);
        } else {
            Assert.fail("Invalid Application returned.");
        }
    }
}
Also used : ApplicationDAO(org.wso2.carbon.apimgt.core.dao.ApplicationDAO) Application(org.wso2.carbon.apimgt.core.models.Application) Test(org.testng.annotations.Test)

Example 50 with Add

use of org.wso2.siddhi.query.api.expression.math.Add in project carbon-apimgt by wso2.

the class ApplicationDAOImplIT method testAddApplicationWithPermissions.

@Test
public void testAddApplicationWithPermissions() throws Exception {
    // add new app with permissions
    Application app = TestUtil.addTestApplicationWithPermissions();
    ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO();
    // get added app
    Application appFromDB = applicationDAO.getApplication(app.getId());
    Assert.assertNotNull(appFromDB);
    // compare
    Assert.assertEquals(appFromDB, app, TestUtil.printDiff(appFromDB, app));
    validateAppTimestamps(appFromDB, app);
}
Also used : ApplicationDAO(org.wso2.carbon.apimgt.core.dao.ApplicationDAO) Application(org.wso2.carbon.apimgt.core.models.Application) Test(org.testng.annotations.Test)

Aggregations

Test (org.testng.annotations.Test)134 API (org.wso2.carbon.apimgt.core.models.API)63 ApiDAO (org.wso2.carbon.apimgt.core.dao.ApiDAO)60 ArrayList (java.util.ArrayList)57 APIGateway (org.wso2.carbon.apimgt.core.api.APIGateway)55 HashMap (java.util.HashMap)51 PolicyDAO (org.wso2.carbon.apimgt.core.dao.PolicyDAO)44 APIManagementException (org.wso2.carbon.apimgt.core.exception.APIManagementException)43 Application (org.wso2.carbon.apimgt.core.models.Application)37 APIMgtDAOException (org.wso2.carbon.apimgt.core.exception.APIMgtDAOException)35 GatewaySourceGenerator (org.wso2.carbon.apimgt.core.api.GatewaySourceGenerator)33 Endpoint (org.wso2.carbon.apimgt.core.models.Endpoint)30 ApplicationDAO (org.wso2.carbon.apimgt.core.dao.ApplicationDAO)29 APIBuilder (org.wso2.carbon.apimgt.core.models.API.APIBuilder)26 SubscriptionPolicy (org.wso2.carbon.apimgt.core.models.policy.SubscriptionPolicy)26 APILifecycleManager (org.wso2.carbon.apimgt.core.api.APILifecycleManager)25 APISubscriptionDAO (org.wso2.carbon.apimgt.core.dao.APISubscriptionDAO)23 APIPolicy (org.wso2.carbon.apimgt.core.models.policy.APIPolicy)22 SiddhiAppRuntime (org.wso2.siddhi.core.SiddhiAppRuntime)22 SiddhiManager (org.wso2.siddhi.core.SiddhiManager)22