Search in sources :

Example 96 with Project

use of ca.corefacility.bioinformatics.irida.model.project.Project in project irida by phac-nml.

the class ProjectServiceImplIT method testAddReferenceFileToProject.

@Test
@WithMockUser(username = "admin", roles = "ADMIN")
public void testAddReferenceFileToProject() throws IOException, URISyntaxException {
    ReferenceFile f = new ReferenceFile();
    Path referenceFilePath = Paths.get(getClass().getResource("/ca/corefacility/bioinformatics/irida/service/testReference.fasta").toURI());
    Path createTempFile = Files.createTempFile("testReference", ".fasta");
    Files.delete(createTempFile);
    referenceFilePath = Files.copy(referenceFilePath, createTempFile);
    referenceFilePath.toFile().deleteOnExit();
    f.setFile(referenceFilePath);
    Project p = projectService.read(1L);
    Join<Project, ReferenceFile> pr = projectService.addReferenceFileToProject(p, f);
    assertEquals("Project was set in the join.", p, pr.getSubject());
    // verify that the reference file was persisted beneath the reference
    // file directory
    ReferenceFile rf = pr.getObject();
    assertTrue("reference file should be beneath the base directory for reference files.", rf.getFile().startsWith(referenceFileBaseDirectory));
}
Also used : Path(java.nio.file.Path) Project(ca.corefacility.bioinformatics.irida.model.project.Project) ReferenceFile(ca.corefacility.bioinformatics.irida.model.project.ReferenceFile) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.Test)

Example 97 with Project

use of ca.corefacility.bioinformatics.irida.model.project.Project in project irida by phac-nml.

the class ProjectServiceImplIT method testMoveSamplesWithoutOwner.

@Test
@WithMockUser(username = "user1", roles = "USER")
public void testMoveSamplesWithoutOwner() {
    Project source = projectService.read(2L);
    Project destination = projectService.read(10L);
    List<Join<Project, Sample>> samplesForProject = sampleService.getSamplesForProject(source);
    Set<Sample> samples = samplesForProject.stream().map(j -> j.getObject()).collect(Collectors.toSet());
    List<ProjectSampleJoin> movedSamples = projectService.moveSamples(source, destination, samples, false);
    assertEquals(samples.size(), movedSamples.size());
    movedSamples.forEach(j -> {
        assertFalse("Project shouldn't be owner for sample", j.isOwner());
    });
    assertEquals("Samples should not exist in source project", Long.valueOf(0L), projectSampleJoinRepository.countSamplesForProject(source));
    assertEquals("Samples should exist in destination project", Sets.newHashSet(1L, 2L), projectSampleJoinRepository.getSamplesForProject(destination).stream().map(j -> j.getObject().getId()).collect(Collectors.toSet()));
}
Also used : ProjectRole(ca.corefacility.bioinformatics.irida.model.enums.ProjectRole) ProjectSampleJoinRepository(ca.corefacility.bioinformatics.irida.repositories.joins.project.ProjectSampleJoinRepository) ReferenceFileService(ca.corefacility.bioinformatics.irida.service.ReferenceFileService) URISyntaxException(java.net.URISyntaxException) Autowired(org.springframework.beans.factory.annotation.Autowired) ActiveProfiles(org.springframework.test.context.ActiveProfiles) ProjectService(ca.corefacility.bioinformatics.irida.service.ProjectService) TestExecutionListeners(org.springframework.test.context.TestExecutionListeners) SpringJUnit4ClassRunner(org.springframework.test.context.junit4.SpringJUnit4ClassRunner) AnalysisSubmissionService(ca.corefacility.bioinformatics.irida.service.AnalysisSubmissionService) Sort(org.springframework.data.domain.Sort) Path(java.nio.file.Path) AnalysisSubmission(ca.corefacility.bioinformatics.irida.model.workflow.submission.AnalysisSubmission) SequencingObjectService(ca.corefacility.bioinformatics.irida.service.SequencingObjectService) ProjectWithoutOwnerException(ca.corefacility.bioinformatics.irida.exceptions.ProjectWithoutOwnerException) Collection(java.util.Collection) Set(java.util.Set) PageRequest(org.springframework.data.domain.PageRequest) IridaApiServicesConfig(ca.corefacility.bioinformatics.irida.config.services.IridaApiServicesConfig) Page(org.springframework.data.domain.Page) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) List(java.util.List) WithMockUser(org.springframework.security.test.context.support.WithMockUser) RelatedProjectJoin(ca.corefacility.bioinformatics.irida.model.joins.impl.RelatedProjectJoin) User(ca.corefacility.bioinformatics.irida.model.user.User) SampleService(ca.corefacility.bioinformatics.irida.service.sample.SampleService) Revision(org.springframework.data.history.Revision) Revisions(org.springframework.data.history.Revisions) DatabaseTearDown(com.github.springtestdbunit.annotation.DatabaseTearDown) EntityExistsException(ca.corefacility.bioinformatics.irida.exceptions.EntityExistsException) EntityRevisionDeletedException(ca.corefacility.bioinformatics.irida.exceptions.EntityRevisionDeletedException) AnnotationConfigContextLoader(org.springframework.test.context.support.AnnotationConfigContextLoader) RunWith(org.junit.runner.RunWith) EntityNotFoundException(ca.corefacility.bioinformatics.irida.exceptions.EntityNotFoundException) Join(ca.corefacility.bioinformatics.irida.model.joins.Join) SequencingObject(ca.corefacility.bioinformatics.irida.model.sequenceFile.SequencingObject) Lists(com.google.common.collect.Lists) ImmutableList(com.google.common.collect.ImmutableList) Qualifier(org.springframework.beans.factory.annotation.Qualifier) Direction(org.springframework.data.domain.Sort.Direction) DependencyInjectionTestExecutionListener(org.springframework.test.context.support.DependencyInjectionTestExecutionListener) ReferenceFile(ca.corefacility.bioinformatics.irida.model.project.ReferenceFile) Iterator(java.util.Iterator) WithSecurityContextTestExcecutionListener(org.springframework.security.test.context.support.WithSecurityContextTestExcecutionListener) ProjectSampleJoin(ca.corefacility.bioinformatics.irida.model.joins.impl.ProjectSampleJoin) Files(java.nio.file.Files) DatabaseSetup(com.github.springtestdbunit.annotation.DatabaseSetup) IOException(java.io.IOException) Test(org.junit.Test) Sample(ca.corefacility.bioinformatics.irida.model.sample.Sample) AccessDeniedException(org.springframework.security.access.AccessDeniedException) UserGroup(ca.corefacility.bioinformatics.irida.model.user.group.UserGroup) Project(ca.corefacility.bioinformatics.irida.model.project.Project) ProjectAnalysisSubmissionJoin(ca.corefacility.bioinformatics.irida.model.workflow.submission.ProjectAnalysisSubmissionJoin) UserGroupService(ca.corefacility.bioinformatics.irida.service.user.UserGroupService) DbUnitTestExecutionListener(com.github.springtestdbunit.DbUnitTestExecutionListener) Paths(java.nio.file.Paths) UserService(ca.corefacility.bioinformatics.irida.service.user.UserService) ContextConfiguration(org.springframework.test.context.ContextConfiguration) UnsupportedReferenceFileContentError(ca.corefacility.bioinformatics.irida.exceptions.UnsupportedReferenceFileContentError) IridaApiJdbcDataSourceConfig(ca.corefacility.bioinformatics.irida.config.data.IridaApiJdbcDataSourceConfig) Assert(org.junit.Assert) ProjectSampleJoin(ca.corefacility.bioinformatics.irida.model.joins.impl.ProjectSampleJoin) Project(ca.corefacility.bioinformatics.irida.model.project.Project) Sample(ca.corefacility.bioinformatics.irida.model.sample.Sample) RelatedProjectJoin(ca.corefacility.bioinformatics.irida.model.joins.impl.RelatedProjectJoin) Join(ca.corefacility.bioinformatics.irida.model.joins.Join) ProjectSampleJoin(ca.corefacility.bioinformatics.irida.model.joins.impl.ProjectSampleJoin) ProjectAnalysisSubmissionJoin(ca.corefacility.bioinformatics.irida.model.workflow.submission.ProjectAnalysisSubmissionJoin) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.Test)

Example 98 with Project

use of ca.corefacility.bioinformatics.irida.model.project.Project in project irida by phac-nml.

the class ProjectServiceImplIT method testAddUserToProject.

@Test
@WithMockUser(username = "admin", roles = "ADMIN")
public void testAddUserToProject() {
    Project p = projectService.read(1L);
    User u = userService.read(1L);
    Join<Project, User> join = projectService.addUserToProject(p, u, ProjectRole.PROJECT_OWNER);
    assertNotNull("Join was not populated.", join);
    assertEquals("Join has wrong project.", p, join.getSubject());
    assertEquals("Join has wrong user.", u, join.getObject());
    List<Join<Project, User>> projects = projectService.getProjectsForUser(u);
    assertEquals("User is not part of project.", p, projects.iterator().next().getSubject());
}
Also used : Project(ca.corefacility.bioinformatics.irida.model.project.Project) WithMockUser(org.springframework.security.test.context.support.WithMockUser) User(ca.corefacility.bioinformatics.irida.model.user.User) RelatedProjectJoin(ca.corefacility.bioinformatics.irida.model.joins.impl.RelatedProjectJoin) Join(ca.corefacility.bioinformatics.irida.model.joins.Join) ProjectSampleJoin(ca.corefacility.bioinformatics.irida.model.joins.impl.ProjectSampleJoin) ProjectAnalysisSubmissionJoin(ca.corefacility.bioinformatics.irida.model.workflow.submission.ProjectAnalysisSubmissionJoin) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.Test)

Example 99 with Project

use of ca.corefacility.bioinformatics.irida.model.project.Project in project irida by phac-nml.

the class ProjectServiceImplIT method testGetProjectForSequencingObjectsAsUser.

@Test
@WithMockUser(username = "analysisuser", password = "password1", roles = "USER")
public void testGetProjectForSequencingObjectsAsUser() {
    SequencingObject read = sequencingObjectService.read(1L);
    Set<Project> projectsForSequencingObjects = projectService.getProjectsForSequencingObjects(ImmutableList.of(read));
    assertEquals("should have found 1 project", 1, projectsForSequencingObjects.size());
    Project project = projectsForSequencingObjects.iterator().next();
    assertEquals("should have found project 2", new Long(2), project.getId());
}
Also used : Project(ca.corefacility.bioinformatics.irida.model.project.Project) SequencingObject(ca.corefacility.bioinformatics.irida.model.sequenceFile.SequencingObject) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.Test)

Example 100 with Project

use of ca.corefacility.bioinformatics.irida.model.project.Project in project irida by phac-nml.

the class ProjectServiceImplIT method p.

private Project p() {
    Project p = new Project();
    p.setName("Project name");
    p.setProjectDescription("Description");
    p.setRemoteURL("http://google.com");
    return p;
}
Also used : Project(ca.corefacility.bioinformatics.irida.model.project.Project)

Aggregations

Project (ca.corefacility.bioinformatics.irida.model.project.Project)331 Test (org.junit.Test)190 Sample (ca.corefacility.bioinformatics.irida.model.sample.Sample)120 User (ca.corefacility.bioinformatics.irida.model.user.User)88 WithMockUser (org.springframework.security.test.context.support.WithMockUser)80 ProjectSampleJoin (ca.corefacility.bioinformatics.irida.model.joins.impl.ProjectSampleJoin)71 Join (ca.corefacility.bioinformatics.irida.model.joins.Join)62 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)51 RelatedProjectJoin (ca.corefacility.bioinformatics.irida.model.joins.impl.RelatedProjectJoin)37 ArrayList (java.util.ArrayList)34 ProjectUserJoin (ca.corefacility.bioinformatics.irida.model.joins.impl.ProjectUserJoin)30 SampleSequencingObjectJoin (ca.corefacility.bioinformatics.irida.model.sample.SampleSequencingObjectJoin)30 AnalysisSubmission (ca.corefacility.bioinformatics.irida.model.workflow.submission.AnalysisSubmission)27 ProjectRole (ca.corefacility.bioinformatics.irida.model.enums.ProjectRole)25 ReferenceFile (ca.corefacility.bioinformatics.irida.model.project.ReferenceFile)23 ProjectEvent (ca.corefacility.bioinformatics.irida.model.event.ProjectEvent)22 ProjectAnalysisSubmissionJoin (ca.corefacility.bioinformatics.irida.model.workflow.submission.ProjectAnalysisSubmissionJoin)22 List (java.util.List)22 UserRoleSetProjectEvent (ca.corefacility.bioinformatics.irida.model.event.UserRoleSetProjectEvent)21 ImmutableMap (com.google.common.collect.ImmutableMap)21