Search in sources :

Example 46 with User

use of org.opencastproject.security.api.User in project opencast by opencast.

the class AnnotationServiceJpaImplTest method setUp.

@Before
public void setUp() throws Exception {
    // Set up a mock security service that always returns "me" as the current user
    DefaultOrganization organization = new DefaultOrganization();
    JaxbRole role = new JaxbRole(DefaultOrganization.DEFAULT_ORGANIZATION_ANONYMOUS, organization, "");
    HashSet<JaxbRole> roles = new HashSet<JaxbRole>();
    roles.add(role);
    User me = new JaxbUser("me", "test", organization, roles);
    SecurityService securityService = EasyMock.createNiceMock(SecurityService.class);
    EasyMock.expect(securityService.getUser()).andReturn(me).anyTimes();
    EasyMock.replay(securityService);
    // Set up the annotation service
    annotationService = new AnnotationServiceJpaImpl();
    annotationService.setEntityManagerFactory(newTestEntityManagerFactory(AnnotationServiceJpaImpl.PERSISTENCE_UNIT));
    annotationService.setSecurityService(securityService);
}
Also used : JaxbRole(org.opencastproject.security.api.JaxbRole) User(org.opencastproject.security.api.User) JaxbUser(org.opencastproject.security.api.JaxbUser) SecurityService(org.opencastproject.security.api.SecurityService) JaxbUser(org.opencastproject.security.api.JaxbUser) DefaultOrganization(org.opencastproject.security.api.DefaultOrganization) HashSet(java.util.HashSet) Before(org.junit.Before)

Example 47 with User

use of org.opencastproject.security.api.User in project opencast by opencast.

the class Protector method protect.

/**
 * Evaluate a product if the current user is authorized to perform the given actions.
 */
public <A> Protected<A> protect(final AccessControlList acl, List<String> actions, P1<A> p) {
    final User user = secSvc.getUser();
    final Organization org = secSvc.getOrganization();
    final Pred<String> isAuthorizedToDo = new Pred<String>() {

        @Override
        public Boolean apply(String action) {
            return AccessControlUtil.isAuthorized(acl, user, org, action);
        }
    };
    final boolean isAuthorized = $(actions).map(isAuthorizedToDo).foldl(false, or);
    return isAuthorized ? Protected.granted(p.get1()) : Protected.<A>rejected(new UnauthorizedException(user, $(actions).mkString(",")));
}
Also used : User(org.opencastproject.security.api.User) Organization(org.opencastproject.security.api.Organization) Pred(com.entwinemedia.fn.Pred) UnauthorizedException(org.opencastproject.security.api.UnauthorizedException)

Example 48 with User

use of org.opencastproject.security.api.User in project opencast by opencast.

the class StreamingDistributionServiceTest method setUp.

@Before
public void setUp() throws Exception {
    final File mediaPackageRoot = new File(getClass().getResource("/mediapackage.xml").toURI()).getParentFile();
    mp = MediaPackageParser.getFromXml(IOUtils.toString(getClass().getResourceAsStream("/mediapackage.xml"), "UTF-8"));
    distributionRoot = new File(mediaPackageRoot, "static");
    service = new StreamingDistributionServiceImpl();
    defaultOrganization = new DefaultOrganization();
    User anonymous = new JaxbUser("anonymous", "test", defaultOrganization, new JaxbRole(DefaultOrganization.DEFAULT_ORGANIZATION_ANONYMOUS, defaultOrganization));
    UserDirectoryService userDirectoryService = EasyMock.createMock(UserDirectoryService.class);
    EasyMock.expect(userDirectoryService.loadUser((String) EasyMock.anyObject())).andReturn(anonymous).anyTimes();
    EasyMock.replay(userDirectoryService);
    service.setUserDirectoryService(userDirectoryService);
    OrganizationDirectoryService organizationDirectoryService = EasyMock.createMock(OrganizationDirectoryService.class);
    EasyMock.expect(organizationDirectoryService.getOrganization((String) EasyMock.anyObject())).andReturn(defaultOrganization).anyTimes();
    EasyMock.replay(organizationDirectoryService);
    service.setOrganizationDirectoryService(organizationDirectoryService);
    SecurityService securityService = EasyMock.createNiceMock(SecurityService.class);
    EasyMock.expect(securityService.getUser()).andReturn(anonymous).anyTimes();
    EasyMock.expect(securityService.getOrganization()).andReturn(defaultOrganization).anyTimes();
    EasyMock.replay(securityService);
    service.setSecurityService(securityService);
    serviceRegistry = new ServiceRegistryInMemoryImpl(service, securityService, userDirectoryService, organizationDirectoryService, EasyMock.createNiceMock(IncidentService.class));
    service.setServiceRegistry(serviceRegistry);
    final Workspace workspace = EasyMock.createNiceMock(Workspace.class);
    EasyMock.expect(workspace.get((URI) EasyMock.anyObject())).andAnswer(new IAnswer<File>() {

        @Override
        public File answer() throws Throwable {
            final URI uri = (URI) EasyMock.getCurrentArguments()[0];
            final String[] pathElems = uri.getPath().split("/");
            final String file = pathElems[pathElems.length - 1];
            return new File(mediaPackageRoot, file);
        }
    }).anyTimes();
    EasyMock.replay(workspace);
    service.setWorkspace(workspace);
    BundleContext bc = EasyMock.createNiceMock(BundleContext.class);
    EasyMock.expect(bc.getProperty("org.opencastproject.streaming.url")).andReturn("rtmp://localhost/").anyTimes();
    EasyMock.expect(bc.getProperty("org.opencastproject.streaming.directory")).andReturn(distributionRoot.getPath()).anyTimes();
    EasyMock.replay(bc);
    ComponentContext cc = EasyMock.createNiceMock(ComponentContext.class);
    EasyMock.expect(cc.getBundleContext()).andReturn(bc).anyTimes();
    EasyMock.replay(cc);
    service.activate(cc);
}
Also used : User(org.opencastproject.security.api.User) JaxbUser(org.opencastproject.security.api.JaxbUser) ComponentContext(org.osgi.service.component.ComponentContext) JaxbUser(org.opencastproject.security.api.JaxbUser) URI(java.net.URI) UserDirectoryService(org.opencastproject.security.api.UserDirectoryService) IAnswer(org.easymock.IAnswer) JaxbRole(org.opencastproject.security.api.JaxbRole) SecurityService(org.opencastproject.security.api.SecurityService) File(java.io.File) ServiceRegistryInMemoryImpl(org.opencastproject.serviceregistry.api.ServiceRegistryInMemoryImpl) DefaultOrganization(org.opencastproject.security.api.DefaultOrganization) OrganizationDirectoryService(org.opencastproject.security.api.OrganizationDirectoryService) Workspace(org.opencastproject.workspace.api.Workspace) BundleContext(org.osgi.framework.BundleContext) Before(org.junit.Before)

Example 49 with User

use of org.opencastproject.security.api.User in project opencast by opencast.

the class MailServiceTest method setUp.

@Before
public void setUp() throws Exception {
    // Set up the mail service
    User user = new JaxbUser("test", null, "Test User", "test@test.com", "test", new DefaultOrganization(), new HashSet<JaxbRole>());
    UserDirectoryService userDirectoryService = EasyMock.createNiceMock(UserDirectoryService.class);
    EasyMock.expect(userDirectoryService.loadUser(EasyMock.anyObject(String.class))).andReturn(user).anyTimes();
    EasyMock.replay(userDirectoryService);
    SecurityService securityService = EasyMock.createNiceMock(SecurityService.class);
    EasyMock.expect(securityService.getOrganization()).andReturn(new DefaultOrganization()).anyTimes();
    EasyMock.replay(securityService);
    mailService = new MailService();
    mailService.setUserDirectoryService(userDirectoryService);
    mailService.setSecurityService(securityService);
    mailService.setEntityManagerFactory(newTestEntityManagerFactory(MailService.PERSISTENCE_UNIT));
}
Also used : User(org.opencastproject.security.api.User) JaxbUser(org.opencastproject.security.api.JaxbUser) JaxbRole(org.opencastproject.security.api.JaxbRole) SecurityService(org.opencastproject.security.api.SecurityService) JaxbUser(org.opencastproject.security.api.JaxbUser) DefaultOrganization(org.opencastproject.security.api.DefaultOrganization) UserDirectoryService(org.opencastproject.security.api.UserDirectoryService) Before(org.junit.Before)

Example 50 with User

use of org.opencastproject.security.api.User in project opencast by opencast.

the class MailServiceTest method testCRUDMessageTemplate.

@Test
public void testCRUDMessageTemplate() {
    User admin = new JaxbUser("george@test.com", null, "George", "george@test.com", "test", new DefaultOrganization(), new HashSet<JaxbRole>());
    User student = new JaxbUser("frank@test.com", null, "Frank", "frank@test.com", "test", new DefaultOrganization(), new HashSet<JaxbRole>());
    String name = "Invitation";
    MessageTemplate msgTmpl1 = new MessageTemplate(name, student, "Course invitation", "Please watch this course recording.");
    MessageTemplate msgTmpl2 = new MessageTemplate("Acknowledge 1", admin, "Recording ready!", "The recording of the course XYZ is finished. Please review it.");
    msgTmpl2.setType(TemplateType.Type.ACKNOWLEDGE.getType());
    msgTmpl2.setHidden(true);
    MessageTemplate msgTmpl3 = new MessageTemplate("Acknowledge 2", admin, "Recording ready!", "The recording of the course ZYX is finished. Please review it.");
    msgTmpl3.setType(TemplateType.Type.ACKNOWLEDGE.getType());
    // Create
    try {
        msgTmpl1 = mailService.updateMessageTemplate(msgTmpl1);
        msgTmpl2 = mailService.updateMessageTemplate(msgTmpl2);
        msgTmpl3 = mailService.updateMessageTemplate(msgTmpl3);
    } catch (MailServiceException e) {
        fail("Not able to save a message template entity: " + e.getMessage());
    }
    // Read
    TemplateMessageQuery query = new TemplateMessageQuery();
    // Search without hidden
    List<MessageTemplate> savedMsgTemplates = mailService.findMessageTemplates(query);
    assertEquals(2, savedMsgTemplates.size());
    // Search with hidden
    query.withIncludeHidden();
    savedMsgTemplates = mailService.findMessageTemplates(query);
    assertEquals(3, savedMsgTemplates.size());
    // Search with only the creator admin
    query.withCreator(admin.getUsername());
    savedMsgTemplates = mailService.findMessageTemplates(query);
    assertEquals(2, savedMsgTemplates.size());
    assertTrue(savedMsgTemplates.contains(msgTmpl2) && savedMsgTemplates.contains(msgTmpl3));
    // Search with only creator student (no template)
    query.withCreator(student.getUsername());
    savedMsgTemplates = mailService.findMessageTemplates(query);
    assertEquals(1, savedMsgTemplates.size());
    assertEquals(msgTmpl1, savedMsgTemplates.get(0));
    // Search with only the name
    query.withCreator(null);
    query.withName(name);
    savedMsgTemplates = mailService.findMessageTemplates(query);
    assertEquals(1, savedMsgTemplates.size());
    assertTrue(msgTmpl1.equals(savedMsgTemplates.get(0)));
    // Search with only the type
    query.withName(null);
    query.withType(msgTmpl1.getType().getType());
    savedMsgTemplates = mailService.findMessageTemplates(query);
    assertEquals(1, savedMsgTemplates.size());
    assertTrue(msgTmpl1.equals(savedMsgTemplates.get(0)));
    // Search with only fullText
    query.withType(null);
    query.withFullText("ready");
    savedMsgTemplates = mailService.findMessageTemplates(query);
    assertEquals(2, savedMsgTemplates.size());
    assertTrue(savedMsgTemplates.contains(msgTmpl2) && savedMsgTemplates.contains(msgTmpl3));
    // Search with different options
    query.withCreator(admin.getUsername());
    query.withType(TemplateType.Type.ACKNOWLEDGE);
    query.withFullText("ready");
    savedMsgTemplates = mailService.findMessageTemplates(query);
    assertEquals(2, savedMsgTemplates.size());
    assertTrue(savedMsgTemplates.contains(msgTmpl2) && savedMsgTemplates.contains(msgTmpl3));
    // Update
    try {
        msgTmpl2.setSubject("Informations");
        msgTmpl2 = mailService.updateMessageTemplate(msgTmpl2);
        query.withCreator(null);
        query.withType(null);
        query.withFullText(null);
        savedMsgTemplates = mailService.findMessageTemplates(query);
        assertEquals(3, savedMsgTemplates.size());
        assertTrue(savedMsgTemplates.contains(msgTmpl2));
    } catch (MailServiceException e) {
        fail("Not able to save a message template entity: " + e.getMessage());
    }
    // Delete
    try {
        mailService.deleteMessageTemplate(msgTmpl2.getId());
        savedMsgTemplates = mailService.findMessageTemplates(query);
        assertEquals(2, savedMsgTemplates.size());
        assertTrue(savedMsgTemplates.contains(msgTmpl1) && savedMsgTemplates.contains(msgTmpl3));
    } catch (Exception e) {
        fail("Not able to get the message template entity " + msgTmpl2.getName() + " : " + e.getMessage());
    }
}
Also used : User(org.opencastproject.security.api.User) JaxbUser(org.opencastproject.security.api.JaxbUser) JaxbRole(org.opencastproject.security.api.JaxbRole) JaxbUser(org.opencastproject.security.api.JaxbUser) NotFoundException(org.opencastproject.util.NotFoundException) DefaultOrganization(org.opencastproject.security.api.DefaultOrganization) Test(org.junit.Test)

Aggregations

User (org.opencastproject.security.api.User)156 Organization (org.opencastproject.security.api.Organization)61 JaxbUser (org.opencastproject.security.api.JaxbUser)60 JaxbRole (org.opencastproject.security.api.JaxbRole)49 DefaultOrganization (org.opencastproject.security.api.DefaultOrganization)44 SecurityService (org.opencastproject.security.api.SecurityService)43 NotFoundException (org.opencastproject.util.NotFoundException)32 Before (org.junit.Before)31 Test (org.junit.Test)27 ArrayList (java.util.ArrayList)26 UnauthorizedException (org.opencastproject.security.api.UnauthorizedException)24 JaxbOrganization (org.opencastproject.security.api.JaxbOrganization)23 AccessControlList (org.opencastproject.security.api.AccessControlList)21 Role (org.opencastproject.security.api.Role)21 UserDirectoryService (org.opencastproject.security.api.UserDirectoryService)21 HashSet (java.util.HashSet)20 OrganizationDirectoryService (org.opencastproject.security.api.OrganizationDirectoryService)18 JpaUser (org.opencastproject.security.impl.jpa.JpaUser)17 IOException (java.io.IOException)16 MediaPackage (org.opencastproject.mediapackage.MediaPackage)16