Search in sources :

Example 21 with Workspace

use of org.pmiops.workbench.db.model.Workspace in project workbench by all-of-us.

the class CohortReviewServiceImplTest method validateMatchingWorkspaceNotFound.

@Test
public void validateMatchingWorkspaceNotFound() throws Exception {
    String workspaceNamespace = "test-workspace";
    String workspaceName = "test";
    long workspaceId = 1;
    long badWorkspaceId = 99;
    Workspace workspace = new Workspace();
    workspace.setWorkspaceId(badWorkspaceId);
    WorkspaceAccessLevel owner = WorkspaceAccessLevel.OWNER;
    when(workspaceService.enforceWorkspaceAccessLevel(workspaceNamespace, workspaceName, WorkspaceAccessLevel.READER)).thenReturn(owner);
    when(workspaceService.getRequired(workspaceNamespace, workspaceName)).thenReturn(workspace);
    try {
        cohortReviewService.validateMatchingWorkspace(workspaceNamespace, workspaceName, workspaceId, WorkspaceAccessLevel.READER);
        fail("Should have thrown NotFoundException!");
    } catch (NotFoundException e) {
        assertEquals("Not Found: No workspace matching workspaceNamespace: " + workspaceNamespace + ", workspaceId: " + workspaceName, e.getMessage());
    }
    verify(workspaceService).enforceWorkspaceAccessLevel(workspaceNamespace, workspaceName, WorkspaceAccessLevel.READER);
    verify(workspaceService).getRequired(workspaceNamespace, workspaceName);
    verifyNoMoreMockInteractions();
}
Also used : NotFoundException(org.pmiops.workbench.exceptions.NotFoundException) WorkspaceAccessLevel(org.pmiops.workbench.model.WorkspaceAccessLevel) Workspace(org.pmiops.workbench.db.model.Workspace) Test(org.junit.Test)

Example 22 with Workspace

use of org.pmiops.workbench.db.model.Workspace in project workbench by all-of-us.

the class CohortReviewServiceImplTest method validateMatchingWorkspace.

@Test
public void validateMatchingWorkspace() throws Exception {
    String workspaceNamespace = "test-workspace";
    String workspaceName = "test";
    long workspaceId = 1;
    Workspace workspace = new Workspace();
    workspace.setWorkspaceId(workspaceId);
    WorkspaceAccessLevel owner = WorkspaceAccessLevel.OWNER;
    when(workspaceService.enforceWorkspaceAccessLevel(workspaceNamespace, workspaceName, WorkspaceAccessLevel.READER)).thenReturn(owner);
    when(workspaceService.getRequired(workspaceNamespace, workspaceName)).thenReturn(workspace);
    cohortReviewService.validateMatchingWorkspace(workspaceNamespace, workspaceName, workspaceId, WorkspaceAccessLevel.READER);
    verify(workspaceService).enforceWorkspaceAccessLevel(workspaceNamespace, workspaceName, WorkspaceAccessLevel.READER);
    verify(workspaceService).getRequired(workspaceNamespace, workspaceName);
    verifyNoMoreMockInteractions();
}
Also used : WorkspaceAccessLevel(org.pmiops.workbench.model.WorkspaceAccessLevel) Workspace(org.pmiops.workbench.db.model.Workspace) Test(org.junit.Test)

Example 23 with Workspace

use of org.pmiops.workbench.db.model.Workspace in project workbench by all-of-us.

the class CohortAnnotationDefinitionControllerTest method createWorkspace.

private Workspace createWorkspace(String namespace, String name, long badWorkspaceId) {
    Workspace workspace = new Workspace();
    workspace.setWorkspaceId(badWorkspaceId);
    workspace.setWorkspaceNamespace(namespace);
    workspace.setFirecloudName(name);
    return workspace;
}
Also used : Workspace(org.pmiops.workbench.db.model.Workspace)

Example 24 with Workspace

use of org.pmiops.workbench.db.model.Workspace in project workbench by all-of-us.

the class CohortAnnotationDefinitionControllerTest method getCohortAnnotationDefinition.

@Test
public void getCohortAnnotationDefinition() throws Exception {
    String namespace = "aou-test";
    String name = "test";
    long cohortId = 1;
    long workspaceId = 1;
    long annotationDefinitionId = 1;
    String columnName = "name";
    Cohort cohort = createCohort(workspaceId);
    Workspace workspace = createWorkspace(namespace, name, workspaceId);
    org.pmiops.workbench.db.model.CohortAnnotationDefinition cohortAnnotationDefinition = createDBCohortAnnotationDefinition(cohortId, annotationDefinitionId, AnnotationType.STRING, columnName);
    WorkspaceAccessLevel owner = WorkspaceAccessLevel.OWNER;
    when(workspaceService.enforceWorkspaceAccessLevel(namespace, name, WorkspaceAccessLevel.READER)).thenReturn(owner);
    when(cohortDao.findOne(cohortId)).thenReturn(cohort);
    when(workspaceService.getRequired(namespace, name)).thenReturn(workspace);
    when(cohortAnnotationDefinitionDao.findByCohortIdAndCohortAnnotationDefinitionId(cohortId, annotationDefinitionId)).thenReturn(cohortAnnotationDefinition);
    CohortAnnotationDefinition responseDefinition = cohortAnnotationDefinitionController.getCohortAnnotationDefinition(namespace, name, cohortId, annotationDefinitionId).getBody();
    CohortAnnotationDefinition expectedResponse = createClientCohortAnnotationDefinition(annotationDefinitionId, cohortId, columnName, AnnotationType.STRING);
    assertEquals(expectedResponse, responseDefinition);
    verify(cohortDao, times(1)).findOne(cohortId);
    verify(workspaceService, times(1)).getRequired(namespace, name);
    verify(cohortAnnotationDefinitionDao, times(1)).findByCohortIdAndCohortAnnotationDefinitionId(cohortId, annotationDefinitionId);
    verify(workspaceService).enforceWorkspaceAccessLevel(namespace, name, WorkspaceAccessLevel.READER);
    verifyNoMoreMockInteractions();
}
Also used : CohortAnnotationDefinition(org.pmiops.workbench.model.CohortAnnotationDefinition) Cohort(org.pmiops.workbench.db.model.Cohort) WorkspaceAccessLevel(org.pmiops.workbench.model.WorkspaceAccessLevel) Workspace(org.pmiops.workbench.db.model.Workspace) Test(org.junit.Test)

Example 25 with Workspace

use of org.pmiops.workbench.db.model.Workspace in project workbench by all-of-us.

the class CohortAnnotationDefinitionControllerTest method createCohortAnnotationDefinition_BadWorkspace.

@Test
public void createCohortAnnotationDefinition_BadWorkspace() throws Exception {
    String namespace = "aou-test";
    String name = "test";
    long cohortId = 1;
    long workspaceId = 1;
    long badWorkspaceId = 0;
    Cohort cohort = createCohort(workspaceId);
    Workspace workspace = createWorkspace(namespace, name, badWorkspaceId);
    WorkspaceAccessLevel owner = WorkspaceAccessLevel.OWNER;
    when(workspaceService.enforceWorkspaceAccessLevel(namespace, name, WorkspaceAccessLevel.WRITER)).thenReturn(owner);
    when(cohortDao.findOne(cohortId)).thenReturn(cohort);
    when(workspaceService.getRequired(namespace, name)).thenReturn(workspace);
    try {
        cohortAnnotationDefinitionController.createCohortAnnotationDefinition(namespace, name, cohortId, new CohortAnnotationDefinition());
        fail("Should have thrown a NotFoundException!");
    } catch (NotFoundException e) {
        assertEquals("Not Found: No workspace matching workspaceNamespace: " + namespace + ", workspaceId: " + name, e.getMessage());
    }
    verify(cohortDao, times(1)).findOne(cohortId);
    verify(workspaceService, times(1)).getRequired(namespace, name);
    verify(workspaceService).enforceWorkspaceAccessLevel(namespace, name, WorkspaceAccessLevel.WRITER);
    verifyNoMoreMockInteractions();
}
Also used : CohortAnnotationDefinition(org.pmiops.workbench.model.CohortAnnotationDefinition) Cohort(org.pmiops.workbench.db.model.Cohort) NotFoundException(org.pmiops.workbench.exceptions.NotFoundException) WorkspaceAccessLevel(org.pmiops.workbench.model.WorkspaceAccessLevel) Workspace(org.pmiops.workbench.db.model.Workspace) Test(org.junit.Test)

Aggregations

Workspace (org.pmiops.workbench.db.model.Workspace)38 Cohort (org.pmiops.workbench.db.model.Cohort)23 Test (org.junit.Test)21 WorkspaceAccessLevel (org.pmiops.workbench.model.WorkspaceAccessLevel)18 NotFoundException (org.pmiops.workbench.exceptions.NotFoundException)15 CohortReview (org.pmiops.workbench.db.model.CohortReview)7 ParticipantCohortStatus (org.pmiops.workbench.db.model.ParticipantCohortStatus)6 BadRequestException (org.pmiops.workbench.exceptions.BadRequestException)5 CohortAnnotationDefinition (org.pmiops.workbench.model.CohortAnnotationDefinition)5 Gson (com.google.gson.Gson)4 Timestamp (java.sql.Timestamp)4 CdrVersion (org.pmiops.workbench.db.model.CdrVersion)4 org.pmiops.workbench.model (org.pmiops.workbench.model)4 ModifyCohortAnnotationDefinitionRequest (org.pmiops.workbench.model.ModifyCohortAnnotationDefinitionRequest)4 Before (org.junit.Before)3 ConflictException (org.pmiops.workbench.exceptions.ConflictException)3 JsonSyntaxException (com.google.gson.JsonSyntaxException)2 PageRequest (org.pmiops.workbench.cohortreview.util.PageRequest)2 ParticipantCohortStatusKey (org.pmiops.workbench.db.model.ParticipantCohortStatusKey)2 EmptyResponse (org.pmiops.workbench.model.EmptyResponse)2