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);
}
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(",")));
}
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);
}
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));
}
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());
}
}
Aggregations