    @Test
    public void testSetStudyOwners() {

        Person user = createTestUser();
        session.clear();

        user.setId(null);
        user.setUserName("zakmck1");
        createTestUser(user);
        session.clear();

        user.setId(null);
        user.setUserName("zakmck2");
        createTestUser(user);
        session.clear();

        SimplePipelineModel pip = new SimplePipelineModel();
        pip.study.setAcc("s1");

        Timestamp ts = new Timestamp(System.currentTimeMillis());
        StudyPersister studyPersister = new StudyPersister(daoFactory, ts);
        AssayMaterialPersister assayMaterialPersister = new AssayMaterialPersister(daoFactory, ts);
        studyPersister.persist(pip.study);
        assayMaterialPersister.persist(pip.assayMaterial1);
        commitTansaction();
        session.flush();


        PermissionManager permMgr = new PermissionManager(entityManager);

        permMgr.setStudyOwners("s1=zakmck,zakmck1");
        commitTansaction();
        session.flush();

        user.setId(null);

        user.setUserName("zakmck");
        assertTrue("setStudyOwners() failed!", pip.study.getUsers().contains(user));

        user.setUserName("zakmck1");
        assertTrue("setStudyOwners() failed!", pip.study.getUsers().contains(user));

        permMgr.setStudyOwners("s1=+zakmck2");
        commitTansaction();
        session.flush();

        user.setUserName("zakmck2");
        assertTrue("setStudyOwners() failed!", pip.study.getUsers().contains(user));

        permMgr.setStudyOwners("s1=-zakmck,zakmck1,zakmck");
        commitTansaction();
        session.flush();

        user.setUserName("zakmck");
        assertFalse("setStudyOwners() failed!", pip.study.getUsers().contains(user));

        user.setUserName("zakmck1");
        assertFalse("setStudyOwners() failed!", pip.study.getUsers().contains(user));

        user.setUserName("zakmck2");
        assertTrue("setStudyOwners() failed!", pip.study.getUsers().contains(user));

        permMgr.setStudyOwners("s1=zakmck");
        commitTansaction();
        session.flush();

        user.setUserName("zakmck");
        assertTrue("setStudyOwners() failed!", pip.study.getUsers().contains(user));

        user.setUserName("zakmck1");
        assertFalse("setStudyOwners() failed!", pip.study.getUsers().contains(user));
    }