Merge pull request #989 from Nirothipan/master

Adding second set of test cases for notificationManagementServiceImpl class
revert-70aa11f8
Megala Uthayakumar 7 years ago committed by GitHub
commit 6e8e165f62

@ -53,13 +53,14 @@ public class TestDataHolder {
return device; return device;
} }
public static Notification getNotification(int notificationId, String status, String deviceId, String deviceName, public static Notification getNotification(int notificationId, String status, String deviceId,
int operationId, String deviceType){ String description, String deviceName, int operationId,
String deviceType) {
Notification notification = new Notification(); Notification notification = new Notification();
notification.setNotificationId(notificationId); notification.setNotificationId(notificationId);
notification.setStatus(status); notification.setStatus(status);
notification.setDeviceIdentifier(deviceId); notification.setDeviceIdentifier(deviceId);
notification.setDescription("test description"); notification.setDescription(description);
notification.setDeviceName(deviceName); notification.setDeviceName(deviceName);
notification.setOperationId(operationId); notification.setOperationId(operationId);
notification.setDeviceType(deviceType); notification.setDeviceType(deviceType);

@ -24,7 +24,9 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.device.mgt.common.EntityDoesNotExistException;
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification; import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException;
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService; import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl; import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
import org.wso2.carbon.device.mgt.core.common.TestDataHolder; import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
@ -47,21 +49,25 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* This class is used to test NotificationManagementServiceImpl. * This is the test class for {@link NotificationManagementServiceImpl}
*/ */
public class NotificationManagementTests { public class NotificationManagementServiceImplTests {
private static final Log log = LogFactory.getLog(NotificationManagementTests.class); private static final Log log = LogFactory.getLog(NotificationManagementServiceImplTests.class);
private static final String DEVICE_TYPE = "NOTIFICATION_TEST_DEVICE"; private static final String DEVICE_TYPE = "NOTIFICATION_TEST_DEVICE";
private static final String DEVICE_ID_PREFIX = "NOTIFICATION-TEST-DEVICE-ID-"; private static final String DEVICE_ID_PREFIX = "NOTIFICATION-TEST-DEVICE-ID-";
private static final int NO_OF_DEVICES = 10; private static final int NO_OF_DEVICES = 10;
private static final int NO_OF_NOTIFICATIONS = 10;
private List<DeviceIdentifier> deviceIds = new ArrayList<>(); private List<DeviceIdentifier> deviceIds = new ArrayList<>();
private NotificationManagementServiceImpl notificationManagementService;
private static final String TEST_NOTIFICATION_DESCRIPTION = "test notification";
private static final int NOTIFICATION_OPERATION_ID = 1;
@BeforeClass @BeforeClass
public void init() throws Exception { public void init() throws Exception {
DeviceConfigurationManager.getInstance().initConfig(); DeviceConfigurationManager.getInstance().initConfig();
log.info("Initializing"); log.info("Initializing");
for (int i = 0; i < NO_OF_DEVICES; i++) { for (int i = 1; i <= NO_OF_DEVICES; i++) {
deviceIds.add(new DeviceIdentifier(DEVICE_ID_PREFIX + i, DEVICE_TYPE)); deviceIds.add(new DeviceIdentifier(DEVICE_ID_PREFIX + i, DEVICE_TYPE));
} }
List<Device> devices = TestDataHolder.generateDummyDeviceData(this.deviceIds); List<Device> devices = TestDataHolder.generateDummyDeviceData(this.deviceIds);
@ -84,6 +90,7 @@ public class NotificationManagementTests {
throw new Exception("Incorrect device with ID - " + device.getDeviceIdentifier() + " returned!"); throw new Exception("Incorrect device with ID - " + device.getDeviceIdentifier() + " returned!");
} }
} }
notificationManagementService = new NotificationManagementServiceImpl();
} }
private RegistryService getRegistryService() throws RegistryException { private RegistryService getRegistryService() throws RegistryException {
@ -97,14 +104,71 @@ public class NotificationManagementTests {
} }
@Test(description = "Add notifications using addNotification method and check whether it returns true.") @Test(description = "Add notifications using addNotification method and check whether it returns true.")
public void addNotification() throws Exception { public void addNotification() throws NotificationManagementException {
for (int i = 0; i < NO_OF_DEVICES; i++) { for (int i = 1; i <= NO_OF_DEVICES; i++) {
DeviceIdentifier testDeviceIdentifier = new DeviceIdentifier(DEVICE_ID_PREFIX + i, DEVICE_TYPE); DeviceIdentifier testDeviceIdentifier = new DeviceIdentifier(DEVICE_ID_PREFIX + i, DEVICE_TYPE);
Notification notification = TestDataHolder.getNotification(i, "CHECKED", Notification notification = TestDataHolder.getNotification(i, Notification.Status.NEW.toString(),
testDeviceIdentifier.toString(), DEVICE_ID_PREFIX + i, 1, DEVICE_TYPE); testDeviceIdentifier.toString(), TEST_NOTIFICATION_DESCRIPTION, DEVICE_ID_PREFIX + i,
NotificationManagementServiceImpl notificationManagementService = new NotificationManagementServiceImpl(); NOTIFICATION_OPERATION_ID, DEVICE_TYPE);
Assert.assertTrue(notificationManagementService.addNotification(testDeviceIdentifier, notification)); Assert.assertTrue(notificationManagementService.addNotification(testDeviceIdentifier, notification));
} }
} }
@Test(expectedExceptions = EntityDoesNotExistException.class, description = "AddNotification method is checked" +
" whether it returns EntityDoesNotExistException when the device not registered is added notification")
public void addNotificationExceptions() throws NotificationManagementException {
DeviceIdentifier testDeviceIdentifier = new DeviceIdentifier(DEVICE_ID_PREFIX + 123, DEVICE_TYPE);
Notification notification = TestDataHolder.getNotification(1, Notification.Status.NEW.toString(),
testDeviceIdentifier.toString(), TEST_NOTIFICATION_DESCRIPTION, DEVICE_ID_PREFIX + 123,
NOTIFICATION_OPERATION_ID, DEVICE_TYPE);
notificationManagementService.addNotification(new DeviceIdentifier(DEVICE_ID_PREFIX + 123,
DEVICE_TYPE), notification);
}
@Test(dependsOnMethods = "addNotification", description = "This tests the updateNotification Method" +
" and check whether it returns true ( got updated )")
public void updateNotification() throws NotificationManagementException {
for (int i = 1; i <= NO_OF_DEVICES; i++) {
DeviceIdentifier testDeviceIdentifier = new DeviceIdentifier(DEVICE_ID_PREFIX + i, DEVICE_TYPE);
Notification notification = TestDataHolder.getNotification(i, Notification.Status.CHECKED.toString(),
testDeviceIdentifier.toString(), TEST_NOTIFICATION_DESCRIPTION, DEVICE_ID_PREFIX + i, NOTIFICATION_OPERATION_ID,
DEVICE_TYPE);
Assert.assertTrue(notificationManagementService.updateNotification(notification));
}
}
@Test(dependsOnMethods = "updateNotification", description = "This method update notification status " +
"and check whether it got updated")
public void updateNotificationStatus() throws NotificationManagementException {
for (int i = 1; i <= NO_OF_DEVICES; i++) {
Assert.assertTrue(notificationManagementService.updateNotificationStatus(i, Notification.Status.CHECKED));
}
}
@Test(dependsOnMethods = "addNotification", description = "this tests getAllNotifications" +
" method by listing down all the notifications.")
public void getAllNotifications() throws NotificationManagementException {
List<Notification> returnedNotifications = notificationManagementService.getAllNotifications();
Assert.assertEquals(returnedNotifications.size(), NO_OF_DEVICES);
}
@Test(dependsOnMethods = "updateNotificationStatus", description = "this method retries notification by id" +
" and checks it")
public void getNotification() throws NotificationManagementException {
for (int i = 1; i <= NO_OF_DEVICES; i++) {
Notification returnedNotification = notificationManagementService.getNotification(i);
Assert.assertEquals(returnedNotification.getNotificationId(), i);
Assert.assertEquals(returnedNotification.getStatus(), Notification.Status.CHECKED);
Assert.assertEquals(returnedNotification.getDescription(), TEST_NOTIFICATION_DESCRIPTION);
Assert.assertEquals(returnedNotification.getOperationId(), NOTIFICATION_OPERATION_ID);
}
}
@Test(dependsOnMethods = "updateNotificationStatus", description = "this method gets all notification by status checked")
public void getNotificationsByStatus() throws NotificationManagementException {
List<Notification> returnedNotifications = notificationManagementService.getNotificationsByStatus(Notification.Status.CHECKED);
Assert.assertEquals(returnedNotifications.size(), NO_OF_NOTIFICATIONS);
}
} }

@ -43,7 +43,7 @@
<class name="org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceTest"/> <class name="org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceTest"/>
<class name="org.wso2.carbon.device.mgt.core.operation.OperationManagementTests"/> <class name="org.wso2.carbon.device.mgt.core.operation.OperationManagementTests"/>
<class name="org.wso2.carbon.device.mgt.core.permission.mgt.PermissionManagerServiceTest" /> <class name="org.wso2.carbon.device.mgt.core.permission.mgt.PermissionManagerServiceTest" />
<class name="org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementTests"/> <class name="org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImplTests"/>
</classes> </classes>
</test> </test>
</suite> </suite>

Loading…
Cancel
Save