mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Adding more operation mgt test cases.
This commit is contained in:
parent
0aab7c2e3d
commit
87b160cf19
@ -601,32 +601,33 @@ public class OperationManagerImpl implements OperationManager {
|
||||
|
||||
try {
|
||||
OperationManagementDAOFactory.openConnection();
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation dtoOperation = operationDAO.
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation deviceSpecificOperation = operationDAO.
|
||||
getOperationByDeviceAndId(enrolmentInfo.getId(),
|
||||
operationId);
|
||||
if (dtoOperation.getType().
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation dtoOperation = deviceSpecificOperation;
|
||||
if (deviceSpecificOperation.getType().
|
||||
equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.COMMAND)) {
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.CommandOperation commandOperation;
|
||||
commandOperation =
|
||||
(org.wso2.carbon.device.mgt.core.dto.operation.mgt.CommandOperation) commandOperationDAO.
|
||||
getOperation(dtoOperation.getId());
|
||||
getOperation(deviceSpecificOperation.getId());
|
||||
dtoOperation.setEnabled(commandOperation.isEnabled());
|
||||
} else if (dtoOperation.getType().
|
||||
} else if (deviceSpecificOperation.getType().
|
||||
equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.CONFIG)) {
|
||||
dtoOperation = configOperationDAO.getOperation(dtoOperation.getId());
|
||||
} else if (dtoOperation.getType().equals(
|
||||
dtoOperation = configOperationDAO.getOperation(deviceSpecificOperation.getId());
|
||||
} else if (deviceSpecificOperation.getType().equals(
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.PROFILE)) {
|
||||
dtoOperation = profileOperationDAO.getOperation(dtoOperation.getId());
|
||||
} else if (dtoOperation.getType().equals(
|
||||
dtoOperation = profileOperationDAO.getOperation(deviceSpecificOperation.getId());
|
||||
} else if (deviceSpecificOperation.getType().equals(
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.POLICY)) {
|
||||
dtoOperation = policyOperationDAO.getOperation(dtoOperation.getId());
|
||||
dtoOperation = policyOperationDAO.getOperation(deviceSpecificOperation.getId());
|
||||
}
|
||||
|
||||
if (dtoOperation == null) {
|
||||
throw new OperationManagementException("Operation not found for operation Id:" + operationId +
|
||||
" device id:" + deviceId.getId());
|
||||
}
|
||||
operation = OperationDAOUtil.convertOperation(dtoOperation);
|
||||
dtoOperation.setStatus(deviceSpecificOperation.getStatus());
|
||||
operation = OperationDAOUtil.convertOperation(deviceSpecificOperation);
|
||||
} catch (OperationManagementDAOException e) {
|
||||
throw new OperationManagementException("Error occurred while retrieving the list of " +
|
||||
"operations assigned for '" + deviceId.getType() +
|
||||
@ -904,12 +905,18 @@ public class OperationManagerImpl implements OperationManager {
|
||||
|
||||
private OperationDAO lookupOperationDAO(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation operation) {
|
||||
|
||||
if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.CommandOperation) {
|
||||
if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.CommandOperation ||
|
||||
operation.getType().equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.COMMAND)) {
|
||||
return commandOperationDAO;
|
||||
} else if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.ProfileOperation) {
|
||||
} else if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.ProfileOperation ||
|
||||
operation.getType().equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.PROFILE)) {
|
||||
return profileOperationDAO;
|
||||
} else if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.ConfigOperation) {
|
||||
} else if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.ConfigOperation ||
|
||||
operation.getType().equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.CONFIG)) {
|
||||
return configOperationDAO;
|
||||
} else if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.PolicyOperation ||
|
||||
operation.getType().equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.POLICY)) {
|
||||
return policyOperationDAO;
|
||||
} else {
|
||||
return operationDAO;
|
||||
}
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.mgt.core.operation.mgt.dao;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationEnrolmentMapping;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationMapping;
|
||||
|
||||
@ -74,11 +74,11 @@ public class CommandOperationDAOImpl extends GenericOperationDAOImpl {
|
||||
public void deleteOperation(int id) throws OperationManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
super.deleteOperation(id);
|
||||
Connection connection = OperationManagementDAOFactory.getConnection();
|
||||
stmt = connection.prepareStatement("DELETE FROM DM_COMMAND_OPERATION WHERE OPERATION_ID = ?");
|
||||
stmt.setInt(1, id);
|
||||
stmt.executeUpdate();
|
||||
super.deleteOperation(id);
|
||||
} catch (SQLException e) {
|
||||
throw new OperationManagementDAOException("Error occurred while deleting operation metadata", e);
|
||||
} finally {
|
||||
|
||||
@ -62,11 +62,11 @@ public class ConfigOperationDAOImpl extends GenericOperationDAOImpl {
|
||||
public void deleteOperation(int id) throws OperationManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
super.deleteOperation(id);
|
||||
Connection connection = OperationManagementDAOFactory.getConnection();
|
||||
stmt = connection.prepareStatement("DELETE FROM DM_CONFIG_OPERATION WHERE OPERATION_ID = ?") ;
|
||||
stmt.setInt(1, id);
|
||||
stmt.executeUpdate();
|
||||
super.deleteOperation(id);
|
||||
} catch (SQLException e) {
|
||||
throw new OperationManagementDAOException("Error occurred while deleting operation metadata", e);
|
||||
} finally {
|
||||
|
||||
@ -833,9 +833,9 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
Operation operation = null;
|
||||
try {
|
||||
Connection conn = OperationManagementDAOFactory.getConnection();
|
||||
String sql = "SELECT o.ID, o.TYPE, o.CREATED_TIMESTAMP, o.RECEIVED_TIMESTAMP, o.STATUS, o.OPERATION_CODE, " +
|
||||
String sql = "SELECT o.ID, o.TYPE, o.CREATED_TIMESTAMP, o.RECEIVED_TIMESTAMP, om.STATUS, o.OPERATION_CODE, " +
|
||||
"om.ID AS OM_MAPPING_ID, " +
|
||||
"om.UPDATED_TIMESTAMP FROM (SELECT ID, TYPE, CREATED_TIMESTAMP, RECEIVED_TIMESTAMP, STATUS," +
|
||||
"om.UPDATED_TIMESTAMP FROM (SELECT ID, TYPE, CREATED_TIMESTAMP, RECEIVED_TIMESTAMP," +
|
||||
"OPERATION_CODE FROM DM_OPERATION WHERE id = ?) o INNER JOIN (SELECT * FROM " +
|
||||
"DM_ENROLMENT_OP_MAPPING dm where dm.OPERATION_ID = ? AND dm.ENROLMENT_ID = ?) om " +
|
||||
"ON o.ID = om.OPERATION_ID ";
|
||||
@ -850,6 +850,7 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
operation.setId(rs.getInt("ID"));
|
||||
operation.setType(Operation.Type.valueOf(rs.getString("TYPE")));
|
||||
operation.setCreatedTimeStamp(rs.getTimestamp("CREATED_TIMESTAMP").toString());
|
||||
operation.setStatus(Operation.Status.valueOf(rs.getString("STATUS")));
|
||||
// if (rs.getTimestamp("RECEIVED_TIMESTAMP") == null) {
|
||||
// operation.setReceivedTimeStamp("");
|
||||
// } else {
|
||||
|
||||
@ -126,11 +126,11 @@ public class PolicyOperationDAOImpl extends GenericOperationDAOImpl {
|
||||
public void deleteOperation(int operationId) throws OperationManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
super.deleteOperation(operationId);
|
||||
Connection connection = OperationManagementDAOFactory.getConnection();
|
||||
stmt = connection.prepareStatement("DELETE FROM DM_POLICY_OPERATION WHERE OPERATION_ID=?");
|
||||
stmt.setInt(1, operationId);
|
||||
stmt.executeUpdate();
|
||||
super.deleteOperation(operationId);
|
||||
} catch (SQLException e) {
|
||||
throw new OperationManagementDAOException("Error occurred while deleting operation metadata", e);
|
||||
} finally {
|
||||
|
||||
@ -127,11 +127,11 @@ public class ProfileOperationDAOImpl extends GenericOperationDAOImpl {
|
||||
public void deleteOperation(int id) throws OperationManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
super.deleteOperation(id);
|
||||
Connection connection = OperationManagementDAOFactory.getConnection();
|
||||
stmt = connection.prepareStatement("DELETE FROM DM_PROFILE_OPERATION WHERE OPERATION_ID=?");
|
||||
stmt.setInt(1, id);
|
||||
stmt.executeUpdate();
|
||||
super.deleteOperation(id);
|
||||
} catch (SQLException e) {
|
||||
throw new OperationManagementDAOException("Error occurred while deleting operation metadata", e);
|
||||
} finally {
|
||||
|
||||
@ -35,6 +35,7 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.ActivityStatus;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager;
|
||||
import org.wso2.carbon.device.mgt.core.DeviceManagementConstants;
|
||||
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
||||
import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
|
||||
import org.wso2.carbon.device.mgt.core.common.BaseDeviceManagementTest;
|
||||
@ -64,7 +65,7 @@ import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class OperationManagementTests{
|
||||
public class OperationManagementTests extends BaseDeviceManagementTest{
|
||||
private static final Log log = LogFactory.getLog(OperationManagementTests.class);
|
||||
|
||||
private static final String DEVICE_TYPE = "OP_TEST_TYPE";
|
||||
@ -80,6 +81,7 @@ public class OperationManagementTests{
|
||||
|
||||
private List<DeviceIdentifier> deviceIds = new ArrayList<>();
|
||||
private OperationManager operationMgtService;
|
||||
private Activity commandActivity;
|
||||
|
||||
@BeforeClass
|
||||
public void init() throws Exception {
|
||||
@ -122,9 +124,9 @@ public class OperationManagementTests{
|
||||
|
||||
@Test
|
||||
public void addCommandOperation() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
|
||||
Activity activity = this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
|
||||
this.commandActivity = this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
|
||||
this.deviceIds);
|
||||
validateOperationResponse(activity);
|
||||
validateOperationResponse(this.commandActivity);
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = "addCommandOperation")
|
||||
@ -229,4 +231,36 @@ public class OperationManagementTests{
|
||||
List pendingOperations = this.operationMgtService.getPendingOperations(deviceIdentifier);
|
||||
Assert.assertEquals(pendingOperations.size(), 3);
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = "updateOperation")
|
||||
public void getNextPendingOperation() throws OperationManagementException {
|
||||
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
||||
Operation operation = this.operationMgtService.getNextPendingOperation(deviceIdentifier);
|
||||
Assert.assertTrue(operation.getType().equals(Operation.Type.POLICY));
|
||||
}
|
||||
|
||||
|
||||
@Test(dependsOnMethods = "getNextPendingOperation", enabled = false)
|
||||
public void deleteOperation() throws OperationManagementException {
|
||||
//TODO: Verify the operation management service operations.
|
||||
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
||||
Operation operation = this.operationMgtService.getNextPendingOperation(deviceIdentifier);
|
||||
this.operationMgtService.deleteOperation(operation.getId());
|
||||
Operation operationAfterDeletion = this.operationMgtService.getNextPendingOperation(deviceIdentifier);
|
||||
Assert.assertTrue(operation.getId() != operation.getId());
|
||||
Assert.assertTrue(operationAfterDeletion.getType().equals(Operation.Type.POLICY));
|
||||
}
|
||||
|
||||
@Test(dependsOnMethods = "getNextPendingOperation")
|
||||
public void getOperationByDeviceAndOperationId() throws OperationManagementException {
|
||||
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
||||
String operationId = this.commandActivity.getActivityId().
|
||||
replace(DeviceManagementConstants.OperationAttributes.ACTIVITY, "");
|
||||
Operation operation = this.operationMgtService.getOperationByDeviceAndOperationId(deviceIdentifier,
|
||||
Integer.parseInt(operationId));
|
||||
Assert.assertTrue(operation.getStatus().equals(Operation.Status.COMPLETED));
|
||||
Assert.assertTrue(operation.getType().equals(Operation.Type.COMMAND));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user