@Test
  public void testLazyProtoToPig() throws ExecException {
    Person personProto = Fixtures.buildPersonProto();
    Tuple protoTuple = new ProtobufTuple(personProto);
    Tuple normalTuple = Fixtures.buildPersonTuple();
    List<FieldDescriptor> fieldDescs = personProto.getDescriptorForType().getFields();

    TypeRef<Person> typeRef = PigUtil.getProtobufTypeRef(Person.class.getName());
    Tuple projectedTuple =
        new ProjectedProtobufTupleFactory<Person>(typeRef, evenFields(fieldDescs))
            .newTuple(personProto);

    int idx = 0;
    for (FieldDescriptor fd : fieldDescs) {
      // Skipping data bags. Data bags actually work; it' just our fixture is not good for this,
      // since it tests "default value" functionality by leaving some elements as null, expecting
      // protobuf conversion to fill the nulls in. Which is what happens. But that means converting
      // back
      // gives us non-null fields, which are not equal to the null fields...
      if (normalTuple.get(fd.getIndex()) instanceof DataBag) {
        continue;
      }
      assertEquals(protoTuple.get(fd.getIndex()), normalTuple.get(fd.getIndex()));
      if (idx % 2 == 0) {
        assertEquals(projectedTuple.get(fd.getIndex() / 2), normalTuple.get(fd.getIndex()));
      }
      idx++;
    }
  }
  public void testEditReportingPeriodReviewCommentWithId() {
    Integer reportingPeriodId = 5;
    String newComment = "new Comment";
    String userId = "userId";
    Integer commentId = 2;

    AdverseEventReportingPeriod rp = Fixtures.createReportingPeriod();
    ReportingPeriodReviewComment comment =
        Fixtures.createReportingPeriodReviewComment(1, "comment 1");
    ArrayList<ReportingPeriodReviewComment> commentsList =
        new ArrayList<ReportingPeriodReviewComment>();
    commentsList.add(comment);
    comment = Fixtures.createReportingPeriodReviewComment(2, "comment 2");
    commentsList.add(comment);
    rp.setReviewComments(commentsList);
    EasyMock.expect(rpDao.getById(reportingPeriodId)).andReturn(rp);
    rpDao.modifyOrSaveReviewStatusAndComments(rp);
    replayMocks();
    impl.editReportingPeriodReviewComment(reportingPeriodId, newComment, userId, commentId);
    verifyMocks();

    assertEquals(
        "Edit comment isnt working correctly",
        "new Comment",
        rp.getReviewCommentsInternal().get(1).getUserComment());
  }
  public void testEnactReportWorkflow() {
    long processId = 5;
    StudyParticipantAssignment assignment = Fixtures.createAssignment();
    ExpeditedAdverseEventReport aeReport = Fixtures.createSavableExpeditedReport();
    Report report = Fixtures.createReport("testReport");
    aeReport.setId(55);
    AdverseEventReportingPeriod reportingPeriod = Fixtures.createReportingPeriod();
    WorkflowConfig workflowConfig = Fixtures.createWorkflowConfig("test");
    StudySite site = assignment.getStudySite();
    StudySiteWorkflowConfig ssWfCfg = new StudySiteWorkflowConfig("report", site, workflowConfig);
    site.addStudySiteWorkflowConfig(ssWfCfg);
    reportingPeriod.addAeReport(aeReport);
    aeReport.setAssignment(assignment);
    aeReport.addReport(report);

    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put(WorkflowService.VAR_STUDY_ID, site.getStudy().getId());
    variables.put(WorkflowService.VAR_WF_TYPE, Report.class.getName());
    variables.put(WorkflowService.VAR_REPORT_ID, report.getId());
    variables.put(WorkflowService.VAR_EXPEDITED_REPORT_ID, aeReport.getId());
    variables.put(WorkflowService.VAR_WF_STUDY_NAME, reportingPeriod.getStudy().getDisplayName());
    variables.put(
        WorkflowService.VAR_WF_SUBJECT_NAME, reportingPeriod.getParticipant().getFullName());
    variables.put(WorkflowService.VAR_WF_COURSE_NAME, reportingPeriod.getName());

    EasyMock.expect(wfService.createProcessInstance("test", variables)).andReturn(processInstance);
    EasyMock.expect(processInstance.getId()).andReturn(processId).anyTimes();
    reportDao.save(report);
    replayMocks();
    impl.enactReportWorkflow(report);
    verifyMocks();
  }
Exemple #4
0
 public void doJob() {
   // Check if the database is empty
   if (Account.count() == 0) {
     Fixtures.deleteDatabase();
     Fixtures.loadModels("data.yml");
   }
 }
  public void testEnactReportingPeriodWorkflow() {
    long processId = 5;
    StudyParticipantAssignment assignment = Fixtures.createAssignment();
    AdverseEventReportingPeriod reportingPeriod = Fixtures.createReportingPeriod();
    reportingPeriod.setId(44);
    WorkflowConfig workflowConfig = Fixtures.createWorkflowConfig("test");
    StudySite site = assignment.getStudySite();
    StudySiteWorkflowConfig ssWfCfg =
        new StudySiteWorkflowConfig("reportingPeriod", site, workflowConfig);
    site.addStudySiteWorkflowConfig(ssWfCfg);
    reportingPeriod.setAssignment(assignment);

    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put(WorkflowService.VAR_STUDY_ID, site.getStudy().getId());
    variables.put(WorkflowService.VAR_WF_TYPE, AdverseEventReportingPeriod.class.getName());
    variables.put(WorkflowService.VAR_WF_STUDY_NAME, reportingPeriod.getStudy().getDisplayName());
    variables.put(
        WorkflowService.VAR_WF_SUBJECT_NAME, reportingPeriod.getParticipant().getFullName());
    variables.put(WorkflowService.VAR_WF_COURSE_NAME, reportingPeriod.getName());
    variables.put(WorkflowService.VAR_REPORTING_PERIOD_ID, reportingPeriod.getId());

    EasyMock.expect(wfService.createProcessInstance("test", variables)).andReturn(processInstance);
    EasyMock.expect(processInstance.getId()).andReturn(processId).anyTimes();
    rpDao.modifyOrSaveReviewStatusAndComments(reportingPeriod);
    replayMocks();
    impl.enactReportingPeriodWorkflow(reportingPeriod);
    verifyMocks();
  }
 public void testIsReportingPeriodHavingReportsWithSpecifiedStatusNegative() {
   AdverseEventReportingPeriod rp = Fixtures.createReportingPeriod();
   Report report = Fixtures.createReport("test report");
   report.setStatus(ReportStatus.INPROCESS);
   ExpeditedAdverseEventReport aeReport = new ExpeditedAdverseEventReport();
   aeReport.addReport(report);
   rp.addAeReport(aeReport);
   assertFalse(impl.isReportingPeriodHavingReportsWithSpecifiedStatus(rp, ReportStatus.COMPLETED));
 }
Exemple #7
0
  @Before
  public void setup() {
    Fixtures.deleteAll();

    Fixtures.load("data.yml");

    duckRunnerGame = Game.find("byName", "Duck Runner").first();
    parkingLotGame = Game.find("byName", "Parking Lot").first();
  }
  @Test
  public void joeBuysStandardTicketForGizmoEvent() {
    EventOrganizer eventOrganizer = new EventOrganizer();
    Event gizmoEvent = Fixtures.createEvent("Gizmo");
    TicketType standardTicketType = Fixtures.createTicketType("Standard");

    eventOrganizer.buyTicket(gizmoEvent, "Joe", standardTicketType);
    assertTrue(eventOrganizer.hasValidTicket("Joe", gizmoEvent));
  }
 public void testDeleteReportReviewComment() {
   Report report = Fixtures.createReport("testReport");
   ArrayList<ReportReviewComment> commentsList = new ArrayList<ReportReviewComment>();
   commentsList.add(Fixtures.createReportReviewComment(1, "comment 1"));
   commentsList.add(Fixtures.createReportReviewComment(2, "comment 2"));
   commentsList.add(Fixtures.createReportReviewComment(3, "comment 3"));
   report.setReviewComments(commentsList);
   EasyMock.expect(reportDao.getById(10)).andReturn(report);
   reportDao.save(report);
   replayMocks();
   impl.deleteReportReviewComment(10, 2);
   verifyMocks();
   assertEquals(
       "Comment not deleted from comments list", 2, report.getReviewCommentsInternal().size());
 }
  @Test
  public void findGizmoEvent() {
    EventOrganizer eventOrganizer = new EventOrganizer();
    Event gizmoEvent = Fixtures.createEvent("Gizmo");

    assertTrue(eventOrganizer.findAvailableEvents().contains(gizmoEvent));
  }
  @Test
  public void findGizmoEventByName() {
    EventOrganizer eventOrganizer = new EventOrganizer();
    Event gizmoEvent = Fixtures.createEvent("Gizmo");

    assertEquals(gizmoEvent, eventOrganizer.findEvent("Gizmo"));
  }
  @Test
  public void noValidTicket() {
    EventOrganizer eventOrganizer = new EventOrganizer();
    Event gizmoEvent = Fixtures.createEvent("Gizmo");

    assertFalse(eventOrganizer.hasValidTicket("Joe", gizmoEvent));
  }
 public void doJob() {
   // Check if the database is empty
   if (User.count() == 0) {
     // Initial data of the plateform
     Fixtures.load("initial-data.yml");
   }
 }
Exemple #14
0
  @Test
  public void fullTest() {
    Fixtures.loadModels("data.yml");

    // Count things

  }
  public void testAdvanceReportWorkflow() {
    Integer id = 10;
    Integer wfId = 5;
    String transitionToTake = "abcd";
    String loginId = "SYSTEM_ADMIN";
    ReviewStatus reviewStatus = ReviewStatus.DRAFT_INCOMPLETE;
    Report report = Fixtures.createReport("testReport");
    report.setStatus(ReportStatus.INPROCESS);
    report.setReviewComments(new ArrayList<ReportReviewComment>());
    report.setWorkflowId(wfId);
    List<String> transitions = new ArrayList<String>();

    ReportSubmittability errorMessagesMock = registerMockFor(ReportSubmittability.class);
    EasyMock.expect(errorMessagesMock.isSubmittable()).andReturn(true);
    EasyMock.expect(reportValidationService.isSubmittable(report)).andReturn(errorMessagesMock);
    EasyMock.expect(wfService.nextTransitionNames(wfId, loginId)).andReturn(transitions);
    EasyMock.expect(wfService.advanceWorkflow(wfId, transitionToTake)).andReturn(reviewStatus);
    EasyMock.expect(reportDao.getById(id)).andReturn(report);
    reportDao.save(report);
    replayMocks();
    List<String> transitionsNames = impl.advanceReportWorkflow(wfId, transitionToTake, id, loginId);

    verifyMocks();
    assertEquals(
        "A review comment for the action of advancing workflow was not added",
        1,
        report.getReviewCommentsInternal().size());
  }
 public void testAddReportingPeriodReviewCommentWithObject() {
   String comment = "mycomment";
   String userId = "userId";
   AdverseEventReportingPeriod rp = Fixtures.createReportingPeriod();
   rp.setReviewComments(new ArrayList<ReportingPeriodReviewComment>());
   impl.addReportingPeriodReviewComment(rp, comment, userId);
   assertEquals("Incorrect number of comments", 1, rp.getReviewComments().size());
 }
 public void testDeleteReportingPeriodReviewComment() {
   AdverseEventReportingPeriod rp = Fixtures.createReportingPeriod();
   ArrayList<ReportingPeriodReviewComment> commentsList =
       new ArrayList<ReportingPeriodReviewComment>();
   commentsList.add(Fixtures.createReportingPeriodReviewComment(1, "comment 1"));
   commentsList.add(Fixtures.createReportingPeriodReviewComment(2, "comment 2"));
   commentsList.add(Fixtures.createReportingPeriodReviewComment(3, "comment 3"));
   rp.setReviewComments(commentsList);
   rp.setId(1);
   EasyMock.expect(rpDao.getById(1)).andReturn(rp);
   rpDao.modifyOrSaveReviewStatusAndComments(rp);
   replayMocks();
   impl.deleteReportingPeriodReviewComment(1, 2);
   verifyMocks();
   assertEquals(
       "Comment not deleted from comments list", 2, rp.getReviewCommentsInternal().size());
 }
 public void testAeReportHasWorkflowOnActiveReportsWithInactiveReports() {
   Report report = Fixtures.createReport("test report");
   report.setStatus(ReportStatus.AMENDED);
   report.setWorkflowId(2);
   ExpeditedAdverseEventReport aeReport = new ExpeditedAdverseEventReport();
   aeReport.addReport(report);
   assertFalse(
       "aeReportHasWorkflowOnActive reports should have returned false",
       impl.aeReportHasWorkflowOnActiveReports(aeReport));
 }
 public void testAeReportHasWorkflowOnActiveReportsWithActiveReports() {
   Report report = Fixtures.createReport("test report");
   report.setStatus(ReportStatus.COMPLETED);
   report.setWorkflowId(1);
   ExpeditedAdverseEventReport aeReport = new ExpeditedAdverseEventReport();
   aeReport.addReport(report);
   assertTrue(
       "aeReportHasWorkflowOnActive reports should have returned true",
       impl.aeReportHasWorkflowOnActiveReports(aeReport));
 }
 public void testEditReportingPeriodReviewCommentWithoutObject() {
   String newComment = "new Comment";
   String userId = "userId";
   Integer commentId = 2;
   AdverseEventReportingPeriod rp = Fixtures.createReportingPeriod();
   ReportingPeriodReviewComment comment =
       Fixtures.createReportingPeriodReviewComment(1, "comment 1");
   ArrayList<ReportingPeriodReviewComment> commentsList =
       new ArrayList<ReportingPeriodReviewComment>();
   commentsList.add(comment);
   comment = Fixtures.createReportingPeriodReviewComment(2, "comment 2");
   commentsList.add(comment);
   rp.setReviewComments(commentsList);
   impl.editReportingPeriodReviewComment(rp, newComment, userId, commentId);
   assertEquals(
       "Edit comment isnt working correctly",
       "new Comment",
       rp.getReviewCommentsInternal().get(1).getUserComment());
 }
 public void testFetchReviewCommentsForReportingPeriod() {
   AdverseEventReportingPeriod rp = Fixtures.createReportingPeriod();
   List<ReportingPeriodReviewComment> reviewComments =
       new ArrayList<ReportingPeriodReviewComment>();
   rp.setReviewComments(reviewComments);
   Integer rpId = 5;
   EasyMock.expect(rpDao.getById(rpId)).andReturn(rp);
   replayMocks();
   List<? extends ReviewComment> comments = impl.fetchReviewCommentsForReportingPeriod(rpId);
   verifyMocks();
   assertEquals(reviewComments.size(), comments.size());
 }
  public void testFetchReviewCommentsForReport() {
    Report report = Fixtures.createReport("testReport");
    List<ReportReviewComment> reviewComments = new ArrayList<ReportReviewComment>();
    report.setReviewComments(reviewComments);
    Integer reportId = 10;

    EasyMock.expect(reportDao.getById(reportId)).andReturn(report);
    replayMocks();
    List<? extends ReviewComment> comments = impl.fetchReviewCommentsForReport(reportId);
    verifyMocks();
    assertEquals(reviewComments.size(), comments.size());
  }
  // test the transition, were the physician can login to the system.
  public void testNextTransitionsForAeReportWithAnInvestigatorHavingLogin() throws Exception {
    Report report = Fixtures.createReport("testReport");
    Investigator investigator = Fixtures.createInvestigator("tester");
    investigator.setLoginId("hai");
    report.getPhysician().setPerson(investigator);
    report.setWorkflowId(1);
    ReportSubmittability errorMessagesMock = registerMockFor(ReportSubmittability.class);
    report.setStatus(ReportStatus.PENDING);
    List<String> transitions = new ArrayList<String>();
    transitions.add("test action");
    transitions.add("Send to Physician for Review");

    EasyMock.expect(wfService.nextTransitionNames(1, "SYSTEM_ADMIN")).andReturn(transitions);
    EasyMock.expect(reportValidationService.isSubmittable(report)).andReturn(errorMessagesMock);
    EasyMock.expect(errorMessagesMock.isSubmittable()).andReturn(true);
    replayMocks();
    List<String> filteredTransitions =
        impl.nextTransitionNamesForReportWorkflow(report, "SYSTEM_ADMIN");
    verifyMocks();
    assertEquals(1, filteredTransitions.size());
  }
  public void testAddReportingPeriodReviewCommentWithId() {
    Integer reportingPeriodId = 5;
    String comment = "mycomment";
    String userId = "userId";

    AdverseEventReportingPeriod rp = Fixtures.createReportingPeriod();
    rp.setReviewComments(new ArrayList<ReportingPeriodReviewComment>());
    EasyMock.expect(rpDao.getById(reportingPeriodId)).andReturn(rp);
    rpDao.modifyOrSaveReviewStatusAndComments(rp);
    replayMocks();
    impl.addReportingPeriodReviewComment(reportingPeriodId, comment, userId);
    verifyMocks();
  }
Exemple #25
0
 public void doJob() throws FileNotFoundException, IOException {
   // Check if the database is empty
   if (User.count() == 0) {
     Fixtures.loadModels("default-data.yml"); // Default User
     // load in pictures
     Photo photo;
     String path = new java.io.File(".").getCanonicalPath() + "/public/images/";
     photo =
         Photos.initFileToPhoto(path + "GreenTaijitu.png", "By Chinneeb via Wikimedia Commons");
     peacePhotoID = photo.id;
     photo = Photos.initFileToPhoto(path + "default.png", "Default Profile Photo");
     defaultProfilePhotoID = photo.id;
     photo = Photos.initFileToPhoto(path + "headerBG.png", "Default Header Background Photo");
     defaultHeaderPhotoID = photo.id;
     photo =
         Photos.initFileToPhoto(path + "UT-Austin-Tower.jpg", "UT Austin via Wikimedia Commons");
     Fixtures.loadModels("skinTemplates.yml"); // initial data for skin templates
     Fixtures.loadModels("initial-data.yml"); // rest of the data
     hashPasswords();
     initFriends();
   }
 }
  public void testAddReportReviewComment() {
    Integer reportId = 10;
    String comment = "mycomment";
    String userId = "userId";

    Report report = Fixtures.createReport("testReport");
    report.setReviewComments(new ArrayList<ReportReviewComment>());
    EasyMock.expect(reportDao.getById(reportId)).andReturn(report);
    reportDao.save(report);
    replayMocks();
    impl.addReportReviewComment(reportId, comment, userId);
    verifyMocks();
  }
  @Test
  public void testProtoToPig() throws IOException {
    AddressBook abProto = Fixtures.buildAddressBookProto();

    Tuple abProtoTuple = tf_.newTuple(new DataByteArray(abProto.toByteArray()));

    ProtobufBytesToTuple abProtoToPig =
        new ProtobufBytesToTuple(AddressBook.class.getCanonicalName());
    Tuple abTuple = abProtoToPig.exec(abProtoTuple);
    assertEquals(
        "{(Elephant Bird,123,[email protected],{(415-999-9999,HOME),(415-666-6666,MOBILE),(415-333-3333,WORK)}),(Elephant Bird,123,[email protected],{(415-999-9999,HOME),(415-666-6666,MOBILE),(415-333-3333,WORK)})},",
        abTuple.toDelimitedString(","));
  }
  public void testIsEntityHavingSpecifiedReviewStatus() {
    Report report = Fixtures.createReport("testReport");
    report.setReviewStatus(ReviewStatus.DRAFT_INCOMPLETE);

    boolean result = impl.isEntityHavingSpecifiedReviewStatus(null, report);
    assertTrue(result);

    report.setReviewStatus(null);
    result = impl.isEntityHavingSpecifiedReviewStatus(ReviewStatus.DRAFT_INCOMPLETE, report);
    assertFalse(result);

    report.setReviewStatus(ReviewStatus.DRAFT_INCOMPLETE);
    result = impl.isEntityHavingSpecifiedReviewStatus(ReviewStatus.DRAFT_INCOMPLETE, report);
    assertTrue(result);
  }
  public void testFindAdverseEventReportingPeriods() {
    String userId = "tester";
    AdverseEventReportingPeriod rp = Fixtures.createReportingPeriod();
    ExpeditedAdverseEventReport aeReport = Fixtures.createSavableExpeditedReport();
    Report report = Fixtures.createReport("test report");
    report.setStatus(ReportStatus.INPROCESS);
    report.setReviewStatus(ReviewStatus.DRAFT_INCOMPLETE);
    report.setWorkflowId(1);
    rp.addAeReport(aeReport);
    aeReport.addReport(report);

    List<AdverseEventReportingPeriod> reportingPeriods =
        new ArrayList<AdverseEventReportingPeriod>();
    reportingPeriods.add(rp);

    rp.setReviewStatus(ReviewStatus.DRAFT_INCOMPLETE);
    rp.setWorkflowId(1);

    AdverseEventReportingPeriodDTO rpDto = new AdverseEventReportingPeriodDTO();
    ExpeditedAdverseEventReportDTO rDto = new ExpeditedAdverseEventReportDTO();
    ReportDTO reportDto = new ReportDTO();
    rDto.addReportDTO(reportDto);
    List<String> possibleActions = new ArrayList<String>();
    possibleActions.add("abc");
    reportDto.setPossibleActions(possibleActions);
    EasyMock.expect(
            rpDao.findAdverseEventReportingPeriods(
                (AdverseEventReportingPeriodForReviewQuery) EasyMock.anyObject()))
        .andReturn(reportingPeriods);

    EasyMock.expect(factory.createAdverseEventEvalutionPeriodDTO(rp, userId, true))
        .andReturn(rpDto);
    EasyMock.expect(factory.createAdverseEventReportDTO(aeReport, userId)).andReturn(rDto);
    List rrList = new ArrayList<ReconciliationReport>();
    EasyMock.expect(
            reconciliationReportDao.search((ReconciliationReportQuery) EasyMock.anyObject()))
        .andReturn(rrList)
        .anyTimes();
    replayMocks();

    Participant participant = Fixtures.createParticipant("Joel", "biju");
    Study study = Fixtures.createStudy("Hello");
    Organization org = Fixtures.createOrganization("test org");
    ReviewStatus reviewStatus = null;
    ReportStatus reportStatus = null;

    List<AdverseEventReportingPeriodDTO> dtos =
        impl.findAdverseEventReportingPeriods(
            participant, study, org, reviewStatus, reportStatus, userId, true);

    verifyMocks();

    assertEquals(1, dtos.size());
    assertEquals(1, dtos.get(0).getAeReports().size());
  }
  public void testNextTransitionsForAeReportWithCompleteReports() throws Exception {
    Report report = Fixtures.createReport("testReport");
    report.setWorkflowId(1);
    ReportSubmittability errorMessagesMock = registerMockFor(ReportSubmittability.class);
    report.setStatus(ReportStatus.PENDING);
    List<String> transitions = new ArrayList<String>();
    transitions.add("test action");
    transitions.add("Submit to Central Office Report Reviewer");

    EasyMock.expect(wfService.nextTransitionNames(1, "SYSTEM_ADMIN")).andReturn(transitions);
    EasyMock.expect(reportValidationService.isSubmittable(report)).andReturn(errorMessagesMock);
    EasyMock.expect(errorMessagesMock.isSubmittable()).andReturn(true);
    replayMocks();
    List<String> filteredTransitions =
        impl.nextTransitionNamesForReportWorkflow(report, "SYSTEM_ADMIN");
    verifyMocks();
    assertEquals(2, filteredTransitions.size());
  }