/** Create the mock services and insert them into the protocol auth service. */
  @Before
  public void setUp() throws Exception {
    fundingSponsorSourceType = new FundingSourceType();
    fundingSponsorSourceType.setFundingSourceTypeCode(FundingSourceType.SPONSOR);
    fundingSponsorSourceType.setFundingSourceTypeFlag(true);
    fundingSponsorSourceType.setDescription("Sponsor");
    fundingUnitSourceType = new FundingSourceType();
    fundingUnitSourceType.setFundingSourceTypeCode(FundingSourceType.UNIT);
    fundingUnitSourceType.setFundingSourceTypeFlag(true);
    fundingUnitSourceType.setDescription("Unit");
    fundingOtherSourceType = new FundingSourceType();
    fundingOtherSourceType.setFundingSourceTypeCode(FundingSourceType.OTHER);
    fundingOtherSourceType.setFundingSourceTypeFlag(true);
    fundingOtherSourceType.setDescription("Other");
    fundingDevProposalSourceType = new FundingSourceType();
    fundingDevProposalSourceType.setFundingSourceTypeCode(FundingSourceType.PROPOSAL_DEVELOPMENT);
    fundingDevProposalSourceType.setFundingSourceTypeFlag(true);
    fundingDevProposalSourceType.setDescription("Proposal Development");
    fundingInstProposalSourceType = new FundingSourceType();
    fundingInstProposalSourceType.setFundingSourceTypeCode(
        FundingSourceType.INSTITUTIONAL_PROPOSAL);
    fundingInstProposalSourceType.setFundingSourceTypeFlag(true);
    fundingInstProposalSourceType.setDescription("Institutional Proposal");
    fundingAwardSourceType = new FundingSourceType();
    fundingAwardSourceType.setFundingSourceTypeCode(FundingSourceType.AWARD);
    fundingAwardSourceType.setFundingSourceTypeFlag(true);
    fundingAwardSourceType.setDescription("Award");

    // sponsorGood = new Sponsor();
    // sponsorGood.setSponsorName(sponsorNameAirForce);
    // sponsorGood.setSponsorCode(SPONSOR_NUMBER_AIR_FORCE);
    sponsorGood =
        KcServiceLocator.getService(SponsorService.class).getSponsor(SPONSOR_NUMBER_AIR_FORCE);
    sponsorNameAirForce = sponsorGood.getSponsorName();

    devProposalGood = new DevelopmentProposal();
    devProposalGood.setTitle(DEV_PROPOSAL_TITLE_GOOD);
    devProposalGood.setSponsorCode(sponsorGood.getSponsorCode());

    instProposalGood = new InstitutionalProposal();
    instProposalGood.setTitle(INST_PROPOSAL_TITLE_GOOD);
    instProposalGood.setSponsorCode(sponsorGood.getSponsorCode());

    awardGood = new Award();
    awardGood.setTitle(AWARD_TITLE_GOOD);
    awardGood.setSponsorCode(sponsorGood.getSponsorCode());
  }
  @Before
  public void setUp() {
    context =
        new JUnit4Mockery() {
          {
            setThreadingPolicy(new Synchroniser());
          }
        };
    roleListBuilder = GenericQueryResults.Builder.create();
    roleListBuilder.setResults(
        new ArrayList<PropAwardPersonRole>() {
          {
            add(createTestRole(3L, "PI", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY));
            add(createTestRole(4L, "KP", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY));
            add(
                createTestRole(
                    5L, "MPI", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY));
            add(
                createTestRole(
                    6L, "COI", PropAwardPersonRoleServiceImpl.NIH_MULTIPLE_PI_HIERARCHY));
          }
        });

    rule = new AwardProjectPersonsSaveRuleImpl();
    award = new Award();
    award.setSponsorCode(SPONSOR_CODE);

    unitA = new Unit();
    unitA.setUnitName("a");
    unitA.setUnitNumber("1");

    unitB = new Unit();
    unitB.setUnitName("b");
    unitB.setUnitNumber("2");

    KcPerson employee = KcPersonFixtureFactory.createKcPerson(PERSON_ID);
    piPerson = new AwardPerson(employee, ContactRoleFixtureFactory.MOCK_PI);
    piPerson.add(new AwardPersonUnit(piPerson, unitA, true));

    NonOrganizationalRolodex nonEmployee;
    nonEmployee = new NonOrganizationalRolodex();
    nonEmployee.setRolodexId(ROLODEX_ID);
    coiPerson = new AwardPerson(nonEmployee, ContactRoleFixtureFactory.MOCK_COI);
    coiPerson.add(new AwardPersonUnit(coiPerson, unitA, false));

    KcPerson employee2 = KcPersonFixtureFactory.createKcPerson(KP_PERSON_ID);
    kpPerson = new AwardPerson(employee2, ContactRoleFixtureFactory.MOCK_KEY_PERSON);
    kpPerson.setKeyPersonRole("Tester");
    kpPerson.add(new AwardPersonUnit(kpPerson, unitA, false));

    piPerson.setAward(award);
    coiPerson.setAward(award);
    kpPerson.setAward(award);

    roleService = getPropAwardPersonRoleService();
    piPerson.setPropAwardPersonRoleService(roleService);
    coiPerson.setPropAwardPersonRoleService(roleService);
    kpPerson.setPropAwardPersonRoleService(roleService);

    award.add(piPerson);
    award.add(coiPerson);
    award.add(kpPerson);

    GlobalVariables.setMessageMap(new MessageMap());
  }