Repository: airavata Updated Branches: refs/heads/develop 273d074ac -> 2ac72d9e9
updates for sharing catalog tests Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/07097ce3 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/07097ce3 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/07097ce3 Branch: refs/heads/develop Commit: 07097ce3919c82a8ef1b466c0581f58f73692094 Parents: 273d074 Author: scnakandala <supun.nakand...@gmail.com> Authored: Tue Oct 18 12:08:49 2016 -0400 Committer: scnakandala <supun.nakand...@gmail.com> Committed: Tue Oct 18 12:08:49 2016 -0400 ---------------------------------------------------------------------- .../migrator/airavata/AiravataDataMigrator.java | 6 +-- .../registry/SharingRegistryServiceTest.java | 50 +++++++++++++++---- .../sharing-service-docs/index.html | 51 +++++++++++++++++--- 3 files changed, 86 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/07097ce3/modules/sharing-registry/sharing-data-migrator/src/main/java/org/apache/airavata/sharing/registry/migrator/airavata/AiravataDataMigrator.java ---------------------------------------------------------------------- diff --git a/modules/sharing-registry/sharing-data-migrator/src/main/java/org/apache/airavata/sharing/registry/migrator/airavata/AiravataDataMigrator.java b/modules/sharing-registry/sharing-data-migrator/src/main/java/org/apache/airavata/sharing/registry/migrator/airavata/AiravataDataMigrator.java index a8ec19f..3de14d6 100644 --- a/modules/sharing-registry/sharing-data-migrator/src/main/java/org/apache/airavata/sharing/registry/migrator/airavata/AiravataDataMigrator.java +++ b/modules/sharing-registry/sharing-data-migrator/src/main/java/org/apache/airavata/sharing/registry/migrator/airavata/AiravataDataMigrator.java @@ -49,11 +49,7 @@ public class AiravataDataMigrator { while (rs.next()) { //Creating domain entries Domain domain = new Domain(); - domain.setDomainId(rs.getString("GATEWAY_ID")); - if(rs.getString("GATEWAY_NAME") != null) - domain.setName(rs.getString("GATEWAY_NAME")); - else - domain.setName(rs.getString("GATEWAY_ID")); + domain.setName(rs.getString("GATEWAY_ID")); domain.setDescription("Domain entry for " + domain.name); govRegistryServerHandler.createDomain(domain); http://git-wip-us.apache.org/repos/asf/airavata/blob/07097ce3/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java ---------------------------------------------------------------------- diff --git a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java index c05924a..2433da0 100644 --- a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java +++ b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java @@ -28,6 +28,7 @@ import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; +import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.slf4j.Logger; @@ -176,6 +177,13 @@ public class SharingRegistryServiceTest { permissionType2.setDescription("WRITE description"); sharingServiceClient.createPermissionType(permissionType2); + PermissionType permissionType3 = new PermissionType(); + permissionType3.setPermissionTypeId("CLONE"); + permissionType3.setDomainId(domainId); + permissionType3.setName("CLONE"); + permissionType3.setDescription("CLONE description"); + sharingServiceClient.createPermissionType(permissionType3); + EntityType entityType1 = new EntityType(); //required entityType1.setEntityTypeId("PROJECT"); @@ -194,6 +202,13 @@ public class SharingRegistryServiceTest { entityType2.setDescription("EXPERIMENT entity type"); sharingServiceClient.createEntityType(entityType2); + EntityType entityType3 = new EntityType(); + entityType3.setEntityTypeId("FILE"); + entityType3.setDomainId(domainId); + entityType3.setName("FILE"); + entityType3.setDescription("FILE entity type"); + sharingServiceClient.createEntityType(entityType3); + //Creating entities Entity entity1 = new Entity(); @@ -237,27 +252,44 @@ public class SharingRegistryServiceTest { entity3.setFullText("test experiment 1 3-methyl 1-butanol"); sharingServiceClient.createEntity(entity3); + Entity entity4 = new Entity(); + entity4.setEntityId("test-file-1"); + entity4.setDomainId(domainId); + entity4.setEntityTypeId("FILE"); + entity4.setOwnerId("test-user-1"); + entity4.setName("test-file-1"); + entity4.setDescription("test file 1 description"); + entity4.setParentEntityId("test-experiment-2"); + entity4.setFullText("test input file 1 for experiment 2"); + sharingServiceClient.createEntity(entity4); + sharingServiceClient.shareEntityWithUsers(domainId, "test-project-1", Arrays.asList("test-user-2"), "WRITE", true); sharingServiceClient.shareEntityWithGroups(domainId, "test-experiment-2", Arrays.asList("test-group-2"), "READ", true); + sharingServiceClient.shareEntityWithGroups(domainId, "test-experiment-2", Arrays.asList("test-group-2"), "CLONE", false); //true - System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-project-1", "WRITE")); + Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-project-1", "WRITE")); //true - System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-1", "WRITE")); + Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-1", "WRITE")); //true - System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-2", "WRITE")); + Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-2", "WRITE")); //false - System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-1", "READ")); + Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-1", "READ")); //true - System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-2", "READ")); + Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-2", "READ")); //false - System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-project-1", "READ")); + Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-project-1", "READ")); + //true + Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "READ")); + //false + Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "WRITE")); + //true - System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "READ")); + Assert.assertTrue((sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "CLONE"))); //false - System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "WRITE")); + Assert.assertFalse((sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-file-1", "CLONE"))); ArrayList<SearchCriteria> filters = new ArrayList<>(); SearchCriteria searchCriteria = new SearchCriteria(); @@ -272,6 +304,6 @@ public class SharingRegistryServiceTest { searchCriteria.setSearchField(EntitySearchField.PERMISSION_TYPE_ID); filters.add(searchCriteria); - System.out.println(sharingServiceClient.searchEntities(domainId, "test-user-2", "EXPERIMENT", filters, 0, -1).size()); + Assert.assertTrue(sharingServiceClient.searchEntities(domainId, "test-user-2", "EXPERIMENT", filters, 0, -1).size()==1); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/07097ce3/modules/sharing-registry/sharing-service-docs/index.html ---------------------------------------------------------------------- diff --git a/modules/sharing-registry/sharing-service-docs/index.html b/modules/sharing-registry/sharing-service-docs/index.html index 0364025..2f05d16 100644 --- a/modules/sharing-registry/sharing-service-docs/index.html +++ b/modules/sharing-registry/sharing-service-docs/index.html @@ -185,6 +185,13 @@ permissionType2.setName("WRITE"); permissionType2.setDescription("WRITE description"); sharingServiceClient.createPermissionType(permissionType2); + + PermissionType permissionType3 = new PermissionType(); + permissionType3.setPermissionTypeId("CLONE"); + permissionType3.setDomainId(domainId); + permissionType3.setName("CLONE"); + permissionType3.setDescription("CLONE description"); + sharingServiceClient.createPermissionType(permissionType3); </pre> </div> @@ -208,6 +215,13 @@ entityType2.setName("EXPERIMENT"); entityType2.setDescription("EXPERIMENT entity type"); sharingServiceClient.createEntityType(entityType2); + + EntityType entityType3 = new EntityType(); + entityType3.setEntityTypeId("FILE"); + entityType3.setDomainId(domainId); + entityType3.setName("FILE"); + entityType3.setDescription("FILE entity type"); + sharingServiceClient.createEntityType(entityType3); </pre> </div> @@ -253,21 +267,39 @@ entity3.setParentEntityId("test-project-1"); entity3.setFullText("test experiment 1 3-methyl 1-butanol"); sharingServiceClient.createEntity(entity3); + + Entity entity4 = new Entity(); + entity4.setEntityId("test-file-1"); + entity4.setDomainId(domainId); + entity4.setEntityTypeId("FILE"); + entity4.setOwnerId("test-user-1"); + entity4.setName("test-file-1"); + entity4.setDescription("test file 1 description"); + entity4.setParentEntityId("test-experiment-2"); + entity4.setFullText("test input file 1 for experiment 2"); + sharingServiceClient.createEntity(entity4); </pre> </div> <div class="definition" id="sharing-entities"> <h4>9. Share Entities with Users and Groups</h4> <pre> + //shared with cascading permissions sharingServiceClient.shareEntityWithUsers(domainId, "test-project-1", Arrays.asList("test-user-2"), "WRITE", true); sharingServiceClient.shareEntityWithGroups(domainId, "test-experiment-2", Arrays.asList("test-group-2"), "READ", true); - /**********************************************************************/ - /* test-project-1 (OWNER:test-user-1, WRITE:test-user-2) */ - /* / \ */ - /* test-experiment-1 test-experiment-2 */ - /* (OWNER:test-user-1) (OWNER:test-user-1, READ:test-group-2) */ - /**********************************************************************/ + //shared with non cascading permissions + sharingServiceClient.shareEntityWithGroups(domainId, "test-experiment-2", Arrays.asList("test-group-2"), "CLONE", false); + + /***********************************************************************/ + /* test-project-1 (OWNER:test-user-1, WRITE:test-user-2) */ + /* / \ */ + /* test-experiment-1 test-experiment-2 */ + /* (OWNER:test-user-1) (OWNER:test-user-1, READ/CLONE:test-group-2) */ + /* | */ + /* test-file-1 */ + /* (OWNER:test-user-1, READ:test-group-2) */ + /***********************************************************************/ </pre> </div> @@ -293,13 +325,18 @@ //test-user-3 does not have WRITE permission to test-experiment-2 System.out.println(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "WRITE")); + + //test-user-3 has CLONE permission to test-experiment-2 + System.out.println((sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "CLONE"))); + //test-user-3 does not have CLONE permission to test-file-1 + System.out.println((sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-file-1", "CLONE"))); </pre> </div> <div class="definition" id="search-entities"> <h4>10. Searching Entities</h4> <pre> - ArrayList<SearchCriteria> filters = new ArrayList<>(); + ArrayList<SearchCriteria> filters = new ArrayList<>(); SearchCriteria searchCriteria = new SearchCriteria(); searchCriteria.setSearchCondition(SearchCondition.LIKE); searchCriteria.setValue("experiment");