Search in sources :

Example 11 with FunctionLibrary

use of org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary in project carbon-identity-framework by wso2.

the class FunctionLibraryManagementServiceTest method tesAlreadyExistFunctionLibraryDataProvider.

@DataProvider(name = "tesAlreadyExistFunctionLibraryDataProvider")
public Object[][] tesAlreadyExistFunctionLibraryDataProvider() {
    FunctionLibrary functionLibrary18 = new FunctionLibrary();
    functionLibrary18.setFunctionLibraryName("sample");
    functionLibrary18.setDescription("sample18");
    functionLibrary18.setFunctionLibraryScript("function samplefunction18(){}");
    FunctionLibrary functionLibrary19 = new FunctionLibrary();
    functionLibrary19.setFunctionLibraryName("sample");
    functionLibrary19.setDescription("sample19");
    functionLibrary19.setFunctionLibraryScript("function samplefunction19(){}");
    return new Object[][] { { functionLibrary18, SAMPLE_TENANT_DOMAIN2 }, { functionLibrary19, SAMPLE_TENANT_DOMAIN2 } };
}
Also used : FunctionLibrary(org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary) DataProvider(org.testng.annotations.DataProvider)

Example 12 with FunctionLibrary

use of org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary in project carbon-identity-framework by wso2.

the class FunctionLibraryManagementServiceTest method updateFunctionLibrary.

@Test(dataProvider = "updateFunctionLibraryDataProvider")
public void updateFunctionLibrary(Object functionLibrary, String tenantDomain) throws Exception {
    FunctionLibraryManagementService functionLibraryManagementService = FunctionLibraryManagementServiceImpl.getInstance();
    FunctionLibraryDAOImpl functionLibraryDAO = PowerMockito.mock(FunctionLibraryDAOImpl.class);
    PowerMockito.whenNew(FunctionLibraryDAOImpl.class).withNoArguments().thenReturn(functionLibraryDAO);
    addFunctionLibraries(functionLibraryManagementService, Collections.singletonList(functionLibrary), tenantDomain);
    FunctionLibrary funLib = (FunctionLibrary) functionLibrary;
    String oldName = funLib.getFunctionLibraryName();
    if (oldName.equals("sample11")) {
        funLib.setFunctionLibraryName("");
    } else if (oldName.equals("sample12")) {
        funLib.setFunctionLibraryName("#$%^%^");
    } else if (oldName.equals("sample13")) {
        funLib.setFunctionLibraryName("sample");
    } else {
        funLib.setFunctionLibraryName("updated");
    }
    try {
        when(functionLibraryDAO.isFunctionLibraryExists("sample", tenantDomain)).thenReturn(true);
        when(functionLibraryDAO.getFunctionLibrary(funLib.getFunctionLibraryName(), tenantDomain)).thenReturn(funLib);
        functionLibraryManagementService.updateFunctionLibrary(oldName, funLib, tenantDomain);
        assertNotNull(functionLibraryManagementService.getFunctionLibrary(funLib.getFunctionLibraryName(), tenantDomain), "Failed to update script library.");
        // Clean after test
        deleteFunctionLibraries(functionLibraryManagementService, Collections.singletonList(functionLibrary), tenantDomain);
    } catch (FunctionLibraryManagementException e) {
        if (!funLib.getFunctionLibraryName().equals(oldName) && functionLibraryDAO.isFunctionLibraryExists(funLib.getFunctionLibraryName(), tenantDomain)) {
            assertEquals(e.getMessage(), "Already a script library available with the name: " + ((FunctionLibrary) functionLibrary).getFunctionLibraryName() + ".");
        }
        if (!isRegexValidated(funLib.getFunctionLibraryName())) {
            assertEquals(e.getMessage(), "The script library name is not valid! It is not adhering to the regex " + FunctionLibraryMgtUtil.FUNCTION_LIBRARY_NAME_VALIDATING_REGEX + ".");
        }
    } catch (Exception e) {
        fail("Exception", e);
    }
}
Also used : FunctionLibraryDAOImpl(org.wso2.carbon.identity.functions.library.mgt.dao.impl.FunctionLibraryDAOImpl) FunctionLibraryManagementException(org.wso2.carbon.identity.functions.library.mgt.exception.FunctionLibraryManagementException) FunctionLibrary(org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary) FunctionLibraryManagementException(org.wso2.carbon.identity.functions.library.mgt.exception.FunctionLibraryManagementException) Test(org.testng.annotations.Test) PowerMockIdentityBaseTest(org.wso2.carbon.identity.testutil.powermock.PowerMockIdentityBaseTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 13 with FunctionLibrary

use of org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary in project carbon-identity-framework by wso2.

the class FunctionLibraryManagementServiceTest method listFunctionLibraries.

@Test(dataProvider = "listFunctionLibraryDataProvider")
public void listFunctionLibraries(List<Object> functionLibraries, String tenantDomain) throws Exception {
    FunctionLibraryManagementService functionLibraryManagementService = FunctionLibraryManagementServiceImpl.getInstance();
    FunctionLibraryDAOImpl functionLibraryDAO = PowerMockito.mock(FunctionLibraryDAOImpl.class);
    PowerMockito.whenNew(FunctionLibraryDAOImpl.class).withNoArguments().thenReturn(functionLibraryDAO);
    for (Object functionLibrary : functionLibraries) {
        when(functionLibraryDAO.isFunctionLibraryExists(((FunctionLibrary) functionLibrary).getFunctionLibraryName(), tenantDomain)).thenReturn(false);
    }
    List<FunctionLibrary> functionLibraries1 = Arrays.asList(new FunctionLibrary[3]);
    int i = 0;
    for (Object functionLibrary : functionLibraries) {
        functionLibraries1.set(i, (FunctionLibrary) functionLibrary);
        i += 1;
    }
    when(functionLibraryDAO.listFunctionLibraries(SAMPLE_TENANT_DOMAIN)).thenReturn(functionLibraries1);
    addFunctionLibraries(functionLibraryManagementService, functionLibraries, tenantDomain);
    List<FunctionLibrary> functionLibrariesList = functionLibraryManagementService.listFunctionLibraries(tenantDomain);
    assertTrue(functionLibrariesList != null && functionLibrariesList.size() != 0, "Failed to retrieve scopes.");
    // Clean after test
    deleteFunctionLibraries(functionLibraryManagementService, functionLibraries, tenantDomain);
}
Also used : FunctionLibraryDAOImpl(org.wso2.carbon.identity.functions.library.mgt.dao.impl.FunctionLibraryDAOImpl) FunctionLibrary(org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary) Test(org.testng.annotations.Test) PowerMockIdentityBaseTest(org.wso2.carbon.identity.testutil.powermock.PowerMockIdentityBaseTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 14 with FunctionLibrary

use of org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary in project carbon-identity-framework by wso2.

the class FunctionLibraryDAOImplTest method deleteFunctionLibrary.

@Test(dataProvider = "deleteFunctionLibraryData")
public void deleteFunctionLibrary(Object functionLibrary, String tenantDomain) throws SQLException, FunctionLibraryManagementException {
    try (Connection connection1 = DAOUtils.getConnection(DB_NAME);
        Connection connection2 = DAOUtils.getConnection(DB_NAME)) {
        FunctionLibraryDAO functionLibraryDAO = new FunctionLibraryDAOImpl();
        addFunctionLibraries(functionLibraryDAO, Collections.singletonList(functionLibrary), tenantDomain);
        when(IdentityDatabaseUtil.getDBConnection()).thenReturn(connection1);
        functionLibraryDAO.deleteFunctionLibrary(((FunctionLibrary) functionLibrary).getFunctionLibraryName(), tenantDomain);
        when(IdentityDatabaseUtil.getDBConnection(false)).thenReturn(connection2);
        assertNull(functionLibraryDAO.getFunctionLibrary(((FunctionLibrary) functionLibrary).getFunctionLibraryName(), tenantDomain), "Failed to delete the functionLibrary by name.");
    }
}
Also used : Connection(java.sql.Connection) FunctionLibrary(org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary) FunctionLibraryDAO(org.wso2.carbon.identity.functions.library.mgt.dao.FunctionLibraryDAO) Test(org.testng.annotations.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) PowerMockIdentityBaseTest(org.wso2.carbon.identity.testutil.powermock.PowerMockIdentityBaseTest)

Example 15 with FunctionLibrary

use of org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary in project carbon-identity-framework by wso2.

the class FunctionLibraryDAOImplTest method createFunctionLibrary.

@Test(dataProvider = "createFunctionLibraryDataProvider")
public void createFunctionLibrary(Object functionLibrary, String tenantDomain) {
    try (Connection connection1 = DAOUtils.getConnection(DB_NAME);
        Connection connection2 = DAOUtils.getConnection(DB_NAME);
        Connection connection3 = DAOUtils.getConnection(DB_NAME)) {
        FunctionLibraryDAO functionLibraryDAO = new FunctionLibraryDAOImpl();
        FunctionLibrary functionLibrary1 = new FunctionLibrary();
        functionLibrary1.setFunctionLibraryName("sample1");
        functionLibrary1.setDescription("sample1");
        functionLibrary1.setFunctionLibraryScript("samplefunction1");
        try (Connection connection = DAOUtils.getConnection(DB_NAME)) {
            when(IdentityDatabaseUtil.getDBConnection()).thenReturn(connection);
            functionLibraryDAO.createFunctionLibrary(functionLibrary1, tenantDomain);
        } catch (FunctionLibraryManagementException e) {
            log.error("FunctionLibraryManagementException");
        } catch (SQLException e) {
            log.error("SQLException");
        }
        when(IdentityDatabaseUtil.getDBConnection()).thenReturn(connection1);
        functionLibraryDAO.createFunctionLibrary((FunctionLibrary) functionLibrary, tenantDomain);
        when(IdentityDatabaseUtil.getDBConnection(false)).thenReturn(connection2);
        assertEquals(((FunctionLibrary) functionLibrary).getFunctionLibraryName(), functionLibraryDAO.getFunctionLibrary(((FunctionLibrary) functionLibrary).getFunctionLibraryName(), tenantDomain).getFunctionLibraryName());
        // Clean after test
        when(IdentityDatabaseUtil.getDBConnection()).thenReturn(connection3);
        functionLibraryDAO.deleteFunctionLibrary(((FunctionLibrary) functionLibrary).getFunctionLibraryName(), tenantDomain);
    } catch (SQLException e) {
        log.error("SQLException");
    } catch (FunctionLibraryManagementException e) {
        assertEquals(e.getMessage(), "Error while creating the script library: " + ((FunctionLibrary) functionLibrary).getFunctionLibraryName() + ".");
    }
}
Also used : FunctionLibraryManagementException(org.wso2.carbon.identity.functions.library.mgt.exception.FunctionLibraryManagementException) SQLException(java.sql.SQLException) Connection(java.sql.Connection) FunctionLibrary(org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary) FunctionLibraryDAO(org.wso2.carbon.identity.functions.library.mgt.dao.FunctionLibraryDAO) Test(org.testng.annotations.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) PowerMockIdentityBaseTest(org.wso2.carbon.identity.testutil.powermock.PowerMockIdentityBaseTest)

Aggregations

FunctionLibrary (org.wso2.carbon.identity.functions.library.mgt.model.FunctionLibrary)31 Test (org.testng.annotations.Test)19 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)15 PowerMockIdentityBaseTest (org.wso2.carbon.identity.testutil.powermock.PowerMockIdentityBaseTest)15 DataProvider (org.testng.annotations.DataProvider)13 FunctionLibraryManagementException (org.wso2.carbon.identity.functions.library.mgt.exception.FunctionLibraryManagementException)11 FunctionLibraryDAO (org.wso2.carbon.identity.functions.library.mgt.dao.FunctionLibraryDAO)10 Connection (java.sql.Connection)9 FunctionLibraryDAOImpl (org.wso2.carbon.identity.functions.library.mgt.dao.impl.FunctionLibraryDAOImpl)9 SQLException (java.sql.SQLException)5 AxisFault (org.apache.axis2.AxisFault)5 FunctionLibrary (org.wso2.carbon.identity.functions.library.mgt.model.xsd.FunctionLibrary)5 IOException (java.io.IOException)4 ISIntegrationTest (org.wso2.identity.integration.common.utils.ISIntegrationTest)4 PreparedStatement (java.sql.PreparedStatement)3 IdentityRuntimeException (org.wso2.carbon.identity.base.IdentityRuntimeException)3 File (java.io.File)2 ResultSet (java.sql.ResultSet)2 ArrayList (java.util.ArrayList)2 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1