use of org.wso2.carbon.identity.functions.library.mgt.dao.impl.FunctionLibraryDAOImpl in project carbon-identity-framework by wso2.
the class FunctionLibraryManagementServiceImpl method createFunctionLibrary.
@Override
public void createFunctionLibrary(FunctionLibrary functionLibrary, String tenantDomain) throws FunctionLibraryManagementException {
validateInputs(functionLibrary);
FunctionLibraryDAO functionLibraryDAO = new FunctionLibraryDAOImpl();
if (functionLibraryDAO.isFunctionLibraryExists(functionLibrary.getFunctionLibraryName(), tenantDomain)) {
throw FunctionLibraryExceptionManagementUtil.handleClientException(FunctionLibraryManagementConstants.ErrorMessage.ERROR_CODE_ALREADY_EXIST_SCRIPT_LIBRARY, functionLibrary.getFunctionLibraryName());
}
String functionLibraryName = functionLibrary.getFunctionLibraryName();
if (!isRegexValidated(functionLibraryName)) {
throw FunctionLibraryExceptionManagementUtil.handleClientException(FunctionLibraryManagementConstants.ErrorMessage.ERROR_CODE_INVALID_SCRIPT_LIBRARY_NAME, FunctionLibraryMgtUtil.FUNCTION_LIBRARY_NAME_VALIDATING_REGEX);
}
functionLibraryDAO.createFunctionLibrary(functionLibrary, tenantDomain);
}
use of org.wso2.carbon.identity.functions.library.mgt.dao.impl.FunctionLibraryDAOImpl in project carbon-identity-framework by wso2.
the class FunctionLibraryManagementServiceTest method testAlreadyExistFunctionLibrary.
@Test(dataProvider = "tesAlreadyExistFunctionLibraryDataProvider")
public void testAlreadyExistFunctionLibrary(Object functionLibrary, String tenantDomain) {
FunctionLibraryDAOImpl functionLibraryDAO = PowerMockito.mock(FunctionLibraryDAOImpl.class);
try {
PowerMockito.whenNew(FunctionLibraryDAOImpl.class).withNoArguments().thenReturn(functionLibraryDAO);
when(functionLibraryDAO.getFunctionLibrary(((FunctionLibrary) functionLibrary).getFunctionLibraryName(), tenantDomain)).thenReturn((FunctionLibrary) functionLibrary);
FunctionLibraryManagementService functionLibraryManagementService = FunctionLibraryManagementServiceImpl.getInstance();
functionLibraryManagementService.createFunctionLibrary((FunctionLibrary) functionLibrary, tenantDomain);
assertEquals(functionLibraryManagementService.getFunctionLibrary(((FunctionLibrary) functionLibrary).getFunctionLibraryName(), tenantDomain).getFunctionLibraryName(), ((FunctionLibrary) functionLibrary).getFunctionLibraryName());
} catch (FunctionLibraryManagementException e) {
assertEquals(e.getMessage(), "Already a script library available with the name: " + ((FunctionLibrary) functionLibrary).getFunctionLibraryName() + ".");
} catch (Exception e) {
fail("Exception", e);
}
}
use of org.wso2.carbon.identity.functions.library.mgt.dao.impl.FunctionLibraryDAOImpl 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);
}
}
use of org.wso2.carbon.identity.functions.library.mgt.dao.impl.FunctionLibraryDAOImpl 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);
}
use of org.wso2.carbon.identity.functions.library.mgt.dao.impl.FunctionLibraryDAOImpl 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.");
}
}
Aggregations