public GroupParams toGroupParams() { return new GroupParams(this.users, GroupParams.Action.valueOf(this.action.name())); }
private QueryResult<Group> updateGroup(String studyStr, String groupId, @Nullable String addUsers, @Nullable String removeUsers, @Nullable String setUsers, String sessionId) throws CatalogException { GroupParams groupParams = null; if (org.apache.commons.lang3.StringUtils.isNotEmpty(addUsers)) { groupParams = new GroupParams(addUsers, GroupParams.Action.ADD); } else if (org.apache.commons.lang3.StringUtils.isNotEmpty(removeUsers)) { groupParams = new GroupParams(removeUsers, GroupParams.Action.REMOVE); } else if (org.apache.commons.lang3.StringUtils.isNotEmpty(setUsers)) { groupParams = new GroupParams(setUsers, GroupParams.Action.SET); } if (groupParams == null) { throw new CatalogException("No action"); } return catalogManager.getStudyManager().updateGroup(studyStr, groupId, groupParams, sessionId); }
catalogManager.getStudyManager().updateGroup(studyId, "@admins", new GroupParams("user5", GroupParams.Action.ADD), userSessions.get("user1"));
GroupParams groupParams = new GroupParams(StringUtils.join(userSet, ","), GroupParams.Action.ADD); catalogManager.getStudyManager().updateGroup(studyStr, studyGroup, groupParams, token); } catch (CatalogException e1) {
@Test public void testQueryAnonymous() throws Exception { catalogManager.getStudyManager().updateGroup(studyFqn, "@members", new GroupParams("*", GroupParams.Action.ADD), sessionId); // Query query = new Query(VariantDBAdaptor.VariantQueryParams.STUDIES.key(), "s1"); // Query query = new Query(VariantDBAdaptor.VariantQueryParams.STUDIES.key(), "p1:s1"); Query query = new Query(VariantQueryParam.STUDY.key(), userId + "@p1:s1"); // Query query = new Query(VariantDBAdaptor.VariantQueryParams.STUDIES.key(), studyId); QueryResult<Variant> result = variantManager.get(query, new QueryOptions(), null); System.out.println("result.getNumResults() = " + result.getNumResults()); System.out.println("result.getResult().size() = " + result.getResult().size()); for (Variant variant : result.getResult()) { System.out.println("variant = " + variant); } }
@Test public void readStudyDeny() throws CatalogException { catalogManager.getStudyManager().updateGroup(String.valueOf(studyFqn), "@members", new GroupParams(externalUser, GroupParams.Action.REMOVE), ownerSessionId); thrown.expect(CatalogAuthorizationException.class); catalogManager.getStudyManager().get(studyFqn, null, externalSessionId); }
@Test public void readProjectDeny() throws CatalogException { catalogManager.getStudyManager().updateGroup(studyFqn, "@members", new GroupParams(externalUser, GroupParams.Action.REMOVE), ownerSessionId); thrown.expect(CatalogAuthorizationException.class); catalogManager.getProjectManager().get(p1, null, externalSessionId); }
@Test public void smartResolutorStudyAliasFromAnonymousUser() throws CatalogException { catalogManager.getStudyManager().updateGroup(studyFqn, "@members", new GroupParams("*", GroupParams.Action.ADD), sessionIdUser); Study study = catalogManager.getStudyManager().resolveId(studyFqn, "*"); assertTrue(study != null); }
@Test public void testGetSelectedStudyUserAnonymousCanSee() throws CatalogException { StudyManager studyManager = catalogManager.getStudyManager(); try { studyManager.resolveIds(Collections.singletonList("phase3"), "*"); fail("This should throw an exception. No studies should be found for user anonymous"); } catch (CatalogException e) { } // Create another study with alias phase3 QueryResult<Study> study = catalogManager.getStudyManager().create(project2, "phase3", null, "Phase 3", Study.Type.CASE_CONTROL, null, "d", null, null, null, null, null, null, null, null, sessionIdUser2); catalogManager.getStudyManager().updateGroup("phase3", "@members", new GroupParams("*", GroupParams.Action.ADD), sessionIdUser2); List<Study> studies = studyManager.resolveIds(Collections.singletonList("phase3"), "*"); assertEquals(1, studies.size()); assertEquals(study.first().getUid(), studies.get(0).getUid()); }
@Test public void testGetOnlyStudyUserAnonymousCanSee() throws CatalogException { StudyManager studyManager = catalogManager.getStudyManager(); try { studyManager.resolveIds(Collections.emptyList(), "*"); fail("This should throw an exception. No studies should be found for user anonymous"); } catch (CatalogException e) { } // Create another study with alias phase3 QueryResult<Study> study = catalogManager.getStudyManager().create(String.valueOf(project2), "phase3", null, "Phase 3", Study.Type .CASE_CONTROL, null, "d", null, null, null, null, null, null, null, null, sessionIdUser2); try { studyManager.resolveIds(Collections.emptyList(), "*"); fail("This should throw an exception. No studies should be found for user anonymous"); } catch (CatalogException e) { } catalogManager.getStudyManager().updateGroup("phase3", "@members", new GroupParams("*", GroupParams.Action.ADD), sessionIdUser2); List<Study> studies = studyManager.resolveIds(Collections.emptyList(), "*"); assertEquals(1, studies.size()); assertEquals(study.first().getUid(), studies.get(0).getUid()); }
catalogManager.getStudyManager().updateGroup(study_4, "admins", new GroupParams("user3", GroupParams.Action.SET), sessionIdUser); assertEquals(new HashSet<>(Arrays.asList("study_4")), catalogManager.getStudyManager().get(new Query(StudyDBAdaptor.QueryParams
new GroupParams("user2,user3", GroupParams.Action.ADD), sessionIdUser); assertEquals(2, groupQueryResult.first().getUserIds().size()); assertEquals("@members", groupQueryResult.first().getName()); groupQueryResult = studyManager.updateGroup(studyFqn, "@members", new GroupParams("user2,user3", GroupParams.Action.REMOVE), sessionIdUser); assertEquals(0, groupQueryResult.first().getUserIds().size());
@Test public void getSharedProject() throws CatalogException, IOException { catalogManager.getUserManager().create("dummy", "dummy", "asd@asd.asd", "dummy", "", 50000L, Account.GUEST, QueryOptions.empty(), null); catalogManager.getStudyManager().updateGroup(studyFqn, "@members", new GroupParams("dummy", GroupParams.Action.ADD), sessionIdUser); String token = catalogManager.getUserManager().login("dummy", "dummy"); QueryResult<Project> queryResult = catalogManager.getProjectManager().getSharedProjects("dummy", QueryOptions.empty(), token); assertEquals(1, queryResult.getNumResults()); catalogManager.getStudyManager().updateGroup(studyFqn, "@members", new GroupParams("*", GroupParams.Action.ADD), sessionIdUser); queryResult = catalogManager.getProjectManager().getSharedProjects("*", QueryOptions.empty(), null); assertEquals(1, queryResult.getNumResults()); }
@Test public void readSampleSharedForOthersNotWithStudyPermissions() throws CatalogException, IOException { // Add a new user to a new group String newUser = "newUser"; catalogManager.getUserManager().create(newUser, newUser, "asda@mail.com", password, "org", 1000L, Account.FULL, null, null); String sessionId = catalogManager.getUserManager().login(ownerUser, password); catalogManager.getStudyManager().updateGroup(studyFqn, "@members", new GroupParams(newUser, GroupParams.Action.ADD), ownerSessionId); QueryResult<Sample> sample = catalogManager.getSampleManager().get(studyFqn, smp6.getId(), null, sessionId); assertEquals(1, sample.getNumResults()); }
catalogManager.getStudyManager().updateGroup(s2, "@members", new GroupParams("user", GroupParams.Action.ADD), sessionIdUser2); catalogManager.getStudyManager().updateGroup(String.valueOf(s3), "@members", new GroupParams("user", GroupParams.Action.ADD), sessionIdUser3);
new GroupParams("user2,user3", GroupParams.Action.ADD), sessionIdUser); assertEquals(2, groupQueryResult.first().getUserIds().size()); assertEquals("@members", groupQueryResult.first().getName()); new GroupParams("user2,user3", GroupParams.Action.REMOVE), sessionIdUser);
catalogManager.getStudyManager().updateGroup(studyFqn, groupAdmin, new GroupParams(studyAdminUser1 + "," + studyAdminUser2, GroupParams.Action.SET), ownerSessionId);
null, null, null, null, null, null, null, sessionIdOwner).first().getFqn(); catalogManager.getStudyManager().updateGroup(studyFqn, "@admins", new GroupParams("admin1", GroupParams.Action.ADD), sessionIdOwner); catalogManager.getStudyManager().createGroup(studyFqn, "@study_allow", "user1", sessionIdAdmin); catalogManager.getStudyManager().createGroup(studyFqn, "@study_deny", "user2", sessionIdAdmin);