Repository: airavata Updated Branches: refs/heads/registry-refactoring ae5461264 -> 13e6278fd
Repostory Junot test Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/13e6278f Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/13e6278f Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/13e6278f Branch: refs/heads/registry-refactoring Commit: 13e6278fd68c2b94e65cfe6ab9f051b3b2c59ebb Parents: ae54612 Author: Abhiit Karanjkar <[email protected]> Authored: Mon Sep 26 17:15:29 2016 -0400 Committer: Abhiit Karanjkar <[email protected]> Committed: Mon Sep 26 17:15:29 2016 -0400 ---------------------------------------------------------------------- .../core/repositories/RepositoryTest.java | 255 ++++++++++++++++--- 1 file changed, 223 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/13e6278f/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/RepositoryTest.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/RepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/RepositoryTest.java index 342b73c..53d77f1 100644 --- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/RepositoryTest.java +++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/RepositoryTest.java @@ -22,6 +22,7 @@ package org.apache.airavata.registry.core.repositories; import org.apache.airavata.model.experiment.ExperimentModel; import org.apache.airavata.model.experiment.UserConfigurationDataModel; +import org.apache.airavata.model.user.NSFDemographics; import org.apache.airavata.model.user.UserProfile; import org.apache.airavata.model.workspace.Gateway; import org.apache.airavata.model.workspace.GatewayApprovalStatus; @@ -37,7 +38,11 @@ import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRe import org.apache.airavata.registry.core.repositories.workspacecatalog.NotificationRepository; import org.apache.airavata.registry.core.repositories.workspacecatalog.ProjectRepository; import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository; +import org.apache.airavata.registry.core.utils.ObjectMapperSingleton; +import org.dozer.Mapper; import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,54 +52,240 @@ import java.util.UUID; public class RepositoryTest { private final static Logger logger = LoggerFactory.getLogger(RepositoryTest.class); + private GatewayRepository gatewayRepository; + private NotificationRepository notificationRepository; + private UserProfileRepository userProfileRepository; + private ProjectRepository projectRepository; + private String gatewayId; + private String notificationId; + private String userId; + private String projectId; + + private final String GATEWAY_DOMAIN = "test1.com"; + private final String NOTIFY_MESSAGE = "NotifyMe"; + private final String USER_COMMENT = "TestComment"; + private final String PROJECT_DESCRIPTION = "Test Description"; + + @Before + public void setupRepository() { + + gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class); + notificationRepository = new NotificationRepository(Notification.class, + NotificationEntity.class); + userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class); + projectRepository = new ProjectRepository(Project.class, ProjectEntity.class); + + gatewayId = "test.com" + System.currentTimeMillis(); + notificationId = UUID.randomUUID().toString(); + userId = "testuser" + System.currentTimeMillis(); + projectId = "project" + System.currentTimeMillis();; + } + + @Test - public void test(){ + public void gateWayRepositoryTest() { Gateway gateway = new Gateway(); gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE); - gateway.setGatewayId("test.com" + System.currentTimeMillis()); - gateway.setDomain("test.com"); + gateway.setGatewayId(gatewayId); - GatewayRepository gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class); + /* + * GateWay Repository Insert Operation Test + */ gateway = gatewayRepository.create(gateway); Assert.assertTrue(!gateway.getGatewayId().isEmpty()); + /* + * GateWay Repository Update Operation Test + */ + gateway.setDomain(GATEWAY_DOMAIN); + gatewayRepository.update(gateway); + gateway = gatewayRepository.get(gateway.getGatewayId()); + Assert.assertEquals(gateway.getDomain(), GATEWAY_DOMAIN); + + /* + * GateWay Repository Select Operation Test + */ + gateway = null; + gateway = gatewayRepository.get(gatewayId); + Assert.assertNotNull(gateway); + + /* + * GateWay Repository Delete Operation + */ + boolean deleteResult = gatewayRepository.delete(gatewayId); + Assert.assertTrue(deleteResult); + + } + + @Test + public void notificationRepositoryTest() { + + String tempNotificationId = null; + Gateway gateway = new Gateway(); + gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE); + gateway.setGatewayId(gatewayId); + gateway.setDomain(GATEWAY_DOMAIN); + gateway = gatewayRepository.create(gateway); + Notification notification = new Notification(); notification.setGatewayId(gateway.getGatewayId()); - notification.setNotificationId(UUID.randomUUID().toString()); + notification.setNotificationId(notificationId); + + /* + * Notification INSERT Operation Test + */ + notification = notificationRepository.create(notification); + Assert.assertTrue(!notification.getNotificationId().isEmpty()); + + /* + * Notification SELECT Operation Test + */ + tempNotificationId = notification.getNotificationId(); + notification = null; + notification = notificationRepository.get(tempNotificationId); + Assert.assertNotNull(notification); + + + /* + * Notification UPDATE Operation Test + */ + notification.setNotificationMessage(NOTIFY_MESSAGE); + notificationRepository.update(notification); + notification = notificationRepository.get(notification.getNotificationId()); + Assert.assertEquals(NOTIFY_MESSAGE, notification.getNotificationMessage()); + + /* + * Notification DELETE Operation Test + */ + boolean result = notificationRepository.delete(tempNotificationId); + Assert.assertTrue(result); + + gatewayRepository.delete(gatewayId); + } + + @Test + public void userProfileRepositoryTest() { + + /* + * Creating Gateway required for UserProfile creation + */ + Gateway gateway = new Gateway(); + gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE); + gateway.setGatewayId(gatewayId); + gateway.setDomain(GATEWAY_DOMAIN); + gateway = gatewayRepository.create(gateway); + Assert.assertTrue(!gateway.getGatewayId().isEmpty()); - NotificationRepository notificationRepository = new NotificationRepository(Notification.class, NotificationEntity.class); - notificationRepository.create(notification); - notificationRepository.get(notification.getNotificationId()); + /* + * UserProfile Instance creation + */ UserProfile userProfile = new UserProfile(); - userProfile.setAiravataInternalUserId(UUID.randomUUID().toString()); + userProfile.setAiravataInternalUserId(userId); userProfile.setGatewayId(gateway.getGatewayId()); - UserProfileRepository userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class); - userProfileRepository.create(userProfile); + /* + * Workspace UserProfile Repository Insert Operation Test + */ + userProfile = userProfileRepository.create(userProfile); + Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty()); + + /* + * Workspace UserProfile Repository Update Operation Test + */ + userProfile.setComments(USER_COMMENT); + userProfileRepository.update(userProfile); + userProfile = userProfileRepository.get(userId); + System.out.println(userProfile.getComments()); + Assert.assertEquals(userProfile.getComments(), USER_COMMENT); + + /* + * Workspace UserProfile Repository Select Operation Test + */ + userProfile = null; + userProfile = userProfileRepository.get(userId); + Assert.assertNotNull(userProfile); + + /* + * Workspace UserProfile Repository Delete Operation + */ + boolean deleteResult = userProfileRepository.delete(userId); + Assert.assertTrue(deleteResult); + deleteResult = gatewayRepository.delete(gatewayId); + Assert.assertTrue(deleteResult); + + + } + + @Test + public void projectRepositoryTest() { + + /* + * Creating Gateway required for UserProfile & Project creation + */ + Gateway gateway = new Gateway(); + gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE); + gateway.setGatewayId(gatewayId); + gateway.setDomain(GATEWAY_DOMAIN); + gateway = gatewayRepository.create(gateway); + Assert.assertTrue(!gateway.getGatewayId().isEmpty()); + + /* + * UserProfile Instance creation required for Project Creation + */ + UserProfile userProfile = new UserProfile(); + userProfile.setAiravataInternalUserId(userId); + userProfile.setGatewayId(gateway.getGatewayId()); + userProfile = userProfileRepository.create(userProfile); + Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty()); + /* + * Project Instance creation + */ Project project = new Project(); - project.setProjectID(UUID.randomUUID().toString()); - project.setOwner(userProfile.getAiravataInternalUserId()); - project.setGatewayId(gateway.getGatewayId()); - project.setName("Project Name"); - - ProjectRepository projectRepository = new ProjectRepository(Project.class, ProjectEntity.class); - projectRepository.create(project); - - ExperimentModel experiment = new ExperimentModel(); - experiment.setExperimentId(UUID.randomUUID().toString()); - experiment.setUserName(userProfile.getAiravataInternalUserId()); - experiment.setProjectId(project.getProjectID()); - experiment.setGatewayId(gateway.getGatewayId()); - experiment.setExperimentName("Dummy Experiment"); - - UserConfigurationDataModel userConfigurationData = new UserConfigurationDataModel(); - userConfigurationData.setExperimentDataDir("some/path"); - experiment.setUserConfigurationData(userConfigurationData); - - ExperimentRepository experimentRepository = new ExperimentRepository(ExperimentModel.class, ExperimentEntity.class); - experimentRepository.create(experiment); + project.setGatewayId(gatewayId); + project.setOwner(userId); + project.setProjectID(projectId); + project.setGatewayIdIsSet(true); + + + + /* + * Workspace Project Repository Insert Operation Test + */ + project = projectRepository.create(project); + Assert.assertTrue(!project.getProjectID().isEmpty()); + + + + /* + * Workspace Project Repository Update Operation Test + */ + project.setDescription(PROJECT_DESCRIPTION); + projectRepository.update(project); + project = projectRepository.get(projectId); + Assert.assertEquals(project.getDescription(), PROJECT_DESCRIPTION); + + /* + * Workspace Project Repository Select Operation Test + */ + project = null; + project = projectRepository.get(projectId); + Assert.assertNotNull(project); + + /* + * Workspace Project Repository Delete Operation + */ + boolean deleteResult = projectRepository.delete(projectId); + Assert.assertTrue(deleteResult); + + deleteResult = userProfileRepository.delete(userId); + Assert.assertTrue(deleteResult); + + deleteResult = gatewayRepository.delete(gatewayId); + Assert.assertTrue(deleteResult); + + } } \ No newline at end of file
