@Test public void getAllProjects() throws CatalogDBException { QueryResult<Project> allProjects = catalogProjectDBAdaptor.get(user3.getId(), null); System.out.println(allProjects); assertTrue(!allProjects.getResult().isEmpty()); }
@Test public void createProjectTest() throws CatalogException, JsonProcessingException { Project p = new Project("1000G", "Project about some genomes", "Today", "Cool", new Status(), "", 1000, "", null, 1); System.out.println(catalogProjectDBAdaptor.insert(p, user1.getId(), null)); p = new Project("2000G", "Project about some more genomes", "Tomorrow", "Cool", new Status(), "", 3000, "", null, 1); System.out.println(catalogProjectDBAdaptor.insert(p, user1.getId(), null)); p = new Project("pmp", "Project management project", "yesterday", "it is a system", new Status(), "", 2000, "", null, 1); System.out.println(catalogProjectDBAdaptor.insert(p, user2.getId(), null)); System.out.println(catalogProjectDBAdaptor.insert(p, user1.getId(), null)); try { System.out.println(catalogProjectDBAdaptor.insert(p, user1.getId(), null)); fail("Expected \"projectAlias already exists\" exception"); } catch (CatalogDBException e) { System.out.println(e); } }
/** * Tries to add a new variable to a non existent variableSet. * @throws CatalogDBException */ @Test public void addFieldToVariableSetTest2() throws CatalogDBException, CatalogAuthorizationException { Variable variable = new Variable("NAM", "", Variable.VariableType.TEXT, "", true, false, Collections.emptyList(), 0, "", "", null, Collections.emptyMap()); thrown.expect(CatalogDBException.class); thrown.expectMessage("not found"); catalogStudyDBAdaptor.addFieldToVariableSet(18, variable, user3.getId()); }
@Test public void changePasswordTest() throws CatalogDBException { QueryResult queryResult = catalogUserDBAdaptor.changePassword(user2.getId(), user2.getPassword(), "1234"); assertNotSame(0, queryResult.getResult().size()); thrown.expect(CatalogDBException.class); catalogUserDBAdaptor.changePassword(user2.getId(), "BAD_PASSWORD", "asdf"); }
@Test public void getSampleAclFromUserWithoutAcl() throws Exception { QueryResult<SampleAclEntry> sampleAcl = aclDBAdaptor.get(s1.getUid(), Arrays.asList(user3.getId()), Entity.SAMPLE); assertTrue(sampleAcl.getResult().isEmpty()); }
@Test public void testRemoveFieldFromVariableSet() throws CatalogDBException, CatalogAuthorizationException { QueryResult<VariableSet> variableSetQueryResult = createExampleVariableSet("VARSET_1", false); QueryResult<VariableSet> queryResult = catalogStudyDBAdaptor.removeFieldFromVariableSet(variableSetQueryResult.first().getUid(), "NAME", user3.getId()); assertTrue(queryResult.first().getVariables() .stream() .filter(v -> "NAME".equals(v.getId())) .collect(Collectors.toList()).isEmpty()); }
@Test public void deleteConfigTest() throws CatalogDBException, IOException { ObjectMap objectMap = new ObjectMap() .append("key1", Arrays.asList(1,2,3,4,5)) .append("key2", new ObjectMap("key21", 21).append("key22", 22)); catalogUserDBAdaptor.setConfig(user4.getId(), "config1", objectMap); catalogUserDBAdaptor.deleteConfig(user4.getId(), "config1"); thrown.expect(CatalogDBException.class); thrown.expectMessage("Could not delete config1 configuration"); catalogUserDBAdaptor.deleteConfig(user4.getId(), "config1"); }
@Test public void deleteFilterTest() throws CatalogDBException, IOException { Query query = new Query("key1", "value1").append("key2", "value2"); QueryOptions options = new QueryOptions(QueryOptions.INCLUDE, Arrays.asList("key1", "key2")); User.Filter filter = new User.Filter("filter1", "Description of filter 1", File.Bioformat.ALIGNMENT, query, options); catalogUserDBAdaptor.addFilter(user4.getId(), filter); catalogUserDBAdaptor.deleteFilter(user4.getId(), filter.getName()); QueryResult<User> userQueryResult = catalogUserDBAdaptor.get(user4.getId(), new QueryOptions(), null); User.UserConfiguration configs = userQueryResult.first().getConfigs(); assertTrue(configs.getFilters().size() == 0); }
@Test public void modifyUserTest() throws CatalogDBException { ObjectMap genomeMapsConfig = new ObjectMap("lastPosition", "4:1222222:1333333"); genomeMapsConfig.put("otherConf", Arrays.asList(1, 2, 3, 4, 5)); catalogUserDBAdaptor.setConfig(user1.getId(), "genomemaps", genomeMapsConfig); User user = catalogUserDBAdaptor.get(user1.getId(), null, null).first(); assertNotNull(user.getConfigs().get("genomemaps")); Map<String, Object> genomemaps = (Map<String, Object>) user.getConfigs().get("genomemaps"); assertNotNull(genomemaps.get("otherConf")); assertNotNull(genomemaps.get("lastPosition")); }
@Test public void getUserTest() throws CatalogDBException { QueryResult<User> user = catalogUserDBAdaptor.get(user1.getId(), null, null); assertNotSame(0, user.getResult().size()); user = catalogUserDBAdaptor.get(user3.getId(), null, null); assertFalse(user.getResult().isEmpty()); assertFalse(user.first().getProjects().isEmpty()); user = catalogUserDBAdaptor.get(user3.getId(), new QueryOptions("exclude", Arrays.asList("projects")), null); assertEquals(null, user.first().getProjects()); user = catalogUserDBAdaptor.get(user3.getId(), null, user.first().getLastModified()); assertTrue(user.getResult().isEmpty()); thrown.expect(CatalogDBException.class); catalogUserDBAdaptor.get("NonExistingUser", null, null); }
@Test public void getProjectTest() throws CatalogDBException { long projectId = catalogProjectDBAdaptor.getId(user3.getId(), user3.getProjects().get(0).getId()); System.out.println("projectId = " + projectId); QueryResult<Project> project = catalogProjectDBAdaptor.get(projectId, null); System.out.println(project); assertNotNull(project.first()); thrown.expect(CatalogDBException.class); //"Expected \"bad id\" exception" catalogProjectDBAdaptor.get(-100, null); }
@Test public void unsetSampleAcl2() throws Exception { // Unset permissions QueryResult<SampleAclEntry> sampleAcl = aclDBAdaptor.get(s1.getUid(), Arrays.asList(user2.getId()), Entity.SAMPLE); assertEquals(1, sampleAcl.getNumResults()); assertEquals(3, sampleAcl.first().getPermissions().size()); aclDBAdaptor.removeFromMembers(Arrays.asList(s1.getUid()), Arrays.asList(user2.getId()), Arrays.asList("VIEW_ANNOTATIONS", "DELETE", "VIEW"), Entity.SAMPLE); // sampleDBAdaptor.unsetSampleAcl(s1.getId(), Arrays.asList(user2.getId()), // Arrays.asList("VIEW_ANNOTATIONS", "DELETE", "VIEW")); sampleAcl = aclDBAdaptor.get(s1.getUid(), Arrays.asList(user2.getId()), Entity.SAMPLE); assertEquals(1, sampleAcl.getNumResults()); assertEquals(1, sampleAcl.first().getPermissions().size()); assertTrue(sampleAcl.first().getPermissions().containsAll(Arrays.asList(SampleAclEntry.SamplePermissions.UPDATE))); }
@Test public void getSampleAcl() throws Exception { QueryResult<SampleAclEntry> sampleAcl = aclDBAdaptor.get(s1.getUid(), Arrays.asList(user1.getId()), Entity.SAMPLE); SampleAclEntry acl = sampleAcl.first(); assertNotNull(acl); assertEquals(acl_s1_user1.getPermissions(), acl.getPermissions()); acl = (SampleAclEntry) aclDBAdaptor.get(s1.getUid(), Arrays.asList(user2.getId()), Entity.SAMPLE).first(); assertNotNull(acl); assertEquals(acl_s1_user2.getPermissions(), acl.getPermissions()); }
@Test public void getJobTest() throws CatalogException { long studyId = user3.getProjects().get(0).getStudies().get(0).getUid(); Job job = catalogJobDBAdaptor.insert(new Job("name", user3.getId(), "", "", "", new File().setUid(4), Collections.emptyList(), 1), studyId, null).first(); long jobId = job.getUid(); job = catalogJobDBAdaptor.get(jobId, null).first(); System.out.println(job); try { catalogJobDBAdaptor.get(-1, null); fail("error: expected exception"); } catch (CatalogDBException e) { System.out.println("correct exception: " + e); } }
@Test public void incrementCurrentRelease() throws CatalogDBException { long projectId = catalogProjectDBAdaptor.getId(user3.getId(), user3.getProjects().get(0).getId()); QueryResult<Project> projectQueryResult = catalogProjectDBAdaptor.get(projectId, new QueryOptions(QueryOptions.INCLUDE, ProjectDBAdaptor.QueryParams.CURRENT_RELEASE.key())); assertEquals(1, projectQueryResult.first().getCurrentRelease()); assertEquals(2, catalogProjectDBAdaptor.incrementCurrentRelease(projectId).first().intValue()); assertEquals(3, catalogProjectDBAdaptor.incrementCurrentRelease(projectId).first().intValue()); }
@Test public void deleteJobTest() throws CatalogException { long studyId = user3.getProjects().get(0).getStudies().get(0).getUid(); Job job = catalogJobDBAdaptor.insert(new Job("name", user3.getId(), "", "", "", new File().setUid(4), Collections.emptyList(), 1), studyId, null).first(); long jobId = job.getUid(); assertEquals(Job.JobStatus.PREPARED, job.getStatus().getName()); catalogJobDBAdaptor.delete(jobId); thrown.expect(CatalogDBException.class); thrown.expectMessage("not exist"); catalogJobDBAdaptor.get(jobId, QueryOptions.empty()); }
@Test public void SetVisitedJob() throws CatalogException { long studyId = user3.getProjects().get(0).getStudies().get(0).getUid(); Job jobBefore = catalogJobDBAdaptor.insert(new Job("name", user3.getId(), "", "", "", new File().setUid(4), Collections.emptyList(), 1), studyId, null).first(); long jobId = jobBefore.getUid(); assertTrue(!jobBefore.isVisited()); ObjectMap params = new ObjectMap(JobDBAdaptor.QueryParams.VISITED.key(), true); catalogJobDBAdaptor.update(jobBefore.getUid(), params, QueryOptions.empty()); Job jobAfter = catalogJobDBAdaptor.get(jobId, null).first(); assertTrue(jobAfter.isVisited()); }
@Test public void deleteProjectTest() throws CatalogException { Project p = new Project("2000G", "Project about some more genomes", null, "Cool", new Status(), "", 3000, "", null, 1); QueryResult<Project> result = catalogProjectDBAdaptor.insert(p, user1.getId(), null); System.out.println(result.first().getStatus()); p = result.first(); QueryResult<Project> queryResult = catalogProjectDBAdaptor.delete(p.getUid(), new QueryOptions()); System.out.println(queryResult.first().getStatus()); assertTrue(queryResult.getNumResults() == 1); //thrown.expect(CatalogDBException.class); //catalogProjectDBAdaptor.delete(p.getId()); thrown.expect(CatalogDBException.class); //Expected "Project not found" exception catalogProjectDBAdaptor.delete(-1, new QueryOptions()); }
@Test public void addFilterTest() throws CatalogDBException, IOException { Query query = new Query("key1", "value1").append("key2", "value2"); QueryOptions options = new QueryOptions(QueryOptions.INCLUDE, Arrays.asList("key1", "key2")); User.Filter filter = new User.Filter("filter1", "Description of filter 1", File.Bioformat.ALIGNMENT, query, options); catalogUserDBAdaptor.addFilter(user4.getId(), filter); QueryResult<User> userQueryResult = catalogUserDBAdaptor.get(user4.getId(), new QueryOptions(), null); User.Filter filterResult = userQueryResult.first().getConfigs().getFilters().get(0); assertEquals(filter.getName(), filterResult.getName()); assertEquals(filter.getDescription(), filterResult.getDescription()); assertEquals(filter.getBioformat(), filterResult.getBioformat()); assertEquals(filter.getQuery().safeToString(), filterResult.getQuery().safeToString()); assertEquals(filter.getOptions().safeToString(), filterResult.getOptions().safeToString()); }