use of org.pmiops.workbench.db.model.Cohort in project workbench by all-of-us.
the class CohortAnnotationDefinitionControllerTest method createCohortAnnotationDefinition_NameConflict.
@Test
public void createCohortAnnotationDefinition_NameConflict() throws Exception {
String namespace = "aou-test";
String name = "test";
long cohortId = 1;
long workspaceId = 1;
long annotationDefinitionId = 1;
final String columnName = "testing";
Cohort cohort = createCohort(workspaceId);
Workspace workspace = createWorkspace(namespace, name, workspaceId);
CohortAnnotationDefinition request = createClientCohortAnnotationDefinition(annotationDefinitionId, cohortId, columnName, AnnotationType.STRING);
org.pmiops.workbench.db.model.CohortAnnotationDefinition existingDefinition = createDBCohortAnnotationDefinition(cohortId, annotationDefinitionId, request.getAnnotationType(), request.getColumnName());
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);
when(cohortAnnotationDefinitionDao.findByCohortIdAndColumnName(cohortId, columnName)).thenReturn(existingDefinition);
CohortAnnotationDefinition expectedResponse = createClientCohortAnnotationDefinition(annotationDefinitionId, cohortId, columnName, AnnotationType.STRING);
try {
cohortAnnotationDefinitionController.createCohortAnnotationDefinition(namespace, name, cohortId, request);
fail("Should have thrown a ConflictException!");
} catch (ConflictException e) {
assertEquals("Conflict: Cohort Annotation Definition name exists for: " + columnName, e.getMessage());
}
verify(cohortDao, times(1)).findOne(cohortId);
verify(workspaceService, times(1)).getRequired(namespace, name);
verify(cohortAnnotationDefinitionDao, times(1)).findByCohortIdAndColumnName(cohortId, columnName);
verify(workspaceService).enforceWorkspaceAccessLevel(namespace, name, WorkspaceAccessLevel.WRITER);
verifyNoMoreMockInteractions();
}
use of org.pmiops.workbench.db.model.Cohort in project workbench by all-of-us.
the class CohortAnnotationDefinitionControllerTest method getCohortAnnotationDefinition_NotFoundAnnotationDefinition.
@Test
public void getCohortAnnotationDefinition_NotFoundAnnotationDefinition() throws Exception {
String namespace = "aou-test";
String name = "test";
long cohortId = 1;
long workspaceId = 1;
long annotationDefinitionId = 1;
Cohort cohort = createCohort(workspaceId);
Workspace workspace = createWorkspace(namespace, name, workspaceId);
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(null);
try {
cohortAnnotationDefinitionController.getCohortAnnotationDefinition(namespace, name, cohortId, annotationDefinitionId);
fail("Should have thrown a NotFoundException!");
} catch (NotFoundException e) {
assertEquals("Not Found: No Cohort Annotation Definition exists for annotationDefinitionId: " + annotationDefinitionId, e.getMessage());
}
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();
}
use of org.pmiops.workbench.db.model.Cohort in project workbench by all-of-us.
the class CohortDaoTest method findCohortByCohortId.
@Test
public void findCohortByCohortId() throws Exception {
String cohortJson = "{\"includes\":[{\"items\":[{\"type\":\"DEMO\",\"searchParameters\":" + "[{\"value\":\"Age\",\"subtype\":\"AGE\",\"conceptId\":null,\"attribute\":" + "{\"operator\":\"between\",\"operands\":[18,66]}}],\"modifiers\":[]}]}],\"excludes\":[]}";
Cohort cohort = new Cohort();
cohort.setWorkspaceId(WORKSPACE_ID);
cohort.setCriteria(cohortJson);
// need to insert a workspace to satisfy the foreign key contraint of cohort
jdbcTemplate.execute("insert into workspace" + "(workspace_id, name, workspace_namespace, firecloud_name, data_access_level, creation_time, last_modified_time)" + "values (" + WORKSPACE_ID + ", 'name', 'name', 'name', 1, sysdate(), sysdate())");
cohortDao.save(cohort);
assertEquals(cohortJson, cohort.getCriteria());
}
use of org.pmiops.workbench.db.model.Cohort in project workbench by all-of-us.
the class CohortReviewDaoTest method setup.
@Before
public void setup() throws Exception {
Cohort cohort = new Cohort();
cohort.setWorkspaceId(workspaceDao.save(new Workspace()).getWorkspaceId());
cohortId = cohortDao.save(cohort).getCohortId();
}
use of org.pmiops.workbench.db.model.Cohort in project workbench by all-of-us.
the class CohortService method saveAndCloneReviews.
@Transactional
public Cohort saveAndCloneReviews(Cohort from, Cohort to) {
Cohort saved = cohortDao.save(to);
for (CohortReview fromReview : from.getCohortReviews()) {
CohortReview cr = new CohortReview();
cr.setCohortId(saved.getCohortId());
cr.creationTime(saved.getCreationTime());
cr.setLastModifiedTime(saved.getLastModifiedTime());
cr.setCdrVersionId(fromReview.getCdrVersionId());
cr.setMatchedParticipantCount(fromReview.getMatchedParticipantCount());
cr.setReviewSize(fromReview.getReviewSize());
cr.setReviewedCount(fromReview.getReviewedCount());
cr.setReviewStatus(fromReview.getReviewStatus());
cr = cohortReviewDao.save(cr);
participantCohortStatusDao.bulkCopyByCohortReview(fromReview.getCohortReviewId(), cr.getCohortReviewId());
}
return saved;
}
Aggregations