use of org.opencastproject.security.api.DefaultOrganization in project opencast by opencast.
the class SchedulerServiceImplTest method removeScheduledRecordingsBeforeBufferInputOneEvent.
@Test
public void removeScheduledRecordingsBeforeBufferInputOneEvent() throws Exception {
Date start = new Date(System.currentTimeMillis() - 160000);
Date end = new Date(System.currentTimeMillis() - 60000);
String captureDeviceID = "demo";
MediaPackage mp = generateEvent(Opt.<String>none());
DublinCoreCatalog event = generateEvent(captureDeviceID, start, end);
addDublinCore(Opt.<String>none(), mp, event);
Map<String, String> caProperties = generateCaptureAgentMetadata("demo");
// Store event
schedSvc.addEvent(start, end, captureDeviceID, Collections.<String>emptySet(), mp, wfProperties, caProperties, Opt.<Boolean>none(), Opt.<String>none(), SchedulerService.ORIGIN);
schedSvc.removeScheduledRecordingsBeforeBuffer(0);
try {
schedSvc.getMediaPackage(mp.getIdentifier().compact());
Assert.fail();
} catch (NotFoundException e) {
Assert.assertNotNull(e);
}
AQueryBuilder query = assetManager.createQuery();
AResult result = query.select(query.snapshot()).where(query.organizationId().eq(new DefaultOrganization().getId()).and(query.mediaPackageId(mp.getIdentifier().compact())).and(query.version().isLatest())).run();
Opt<ARecord> record = result.getRecords().head();
assertFalse(record.isSome());
}
use of org.opencastproject.security.api.DefaultOrganization in project opencast by opencast.
the class SchedulerServiceImplTest method beforeClass.
@BeforeClass
public static void beforeClass() throws Exception {
wfProperties.put("test", "true");
wfProperties.put("clear", "all");
wfPropertiesUpdated.put("test", "false");
wfPropertiesUpdated.put("skip", "true");
SecurityService securityService = EasyMock.createNiceMock(SecurityService.class);
EasyMock.expect(securityService.getUser()).andReturn(new JaxbUser("admin", "provider", new DefaultOrganization(), new JaxbRole("admin", new DefaultOrganization(), "test"))).anyTimes();
EasyMock.expect(securityService.getOrganization()).andReturn(new DefaultOrganization()).anyTimes();
schedulerDatabase = new SchedulerServiceDatabaseImpl();
schedulerDatabase.setEntityManagerFactory(mkEntityManagerFactory(SchedulerServiceDatabaseImpl.PERSISTENCE_UNIT));
schedulerDatabase.setSecurityService(securityService);
schedulerDatabase.activate(null);
workspace = new UnitTestWorkspace();
MessageSender messageSender = EasyMock.createNiceMock(MessageSender.class);
final BaseMessage baseMessageMock = EasyMock.createNiceMock(BaseMessage.class);
MessageReceiver messageReceiver = EasyMock.createNiceMock(MessageReceiver.class);
EasyMock.expect(messageReceiver.receiveSerializable(EasyMock.anyString(), EasyMock.anyObject(MessageSender.DestinationType.class))).andStubReturn(new FutureTask<>(new Callable<Serializable>() {
@Override
public Serializable call() throws Exception {
return baseMessageMock;
}
}));
AuthorizationService authorizationService = EasyMock.createNiceMock(AuthorizationService.class);
acl = new AccessControlList(new AccessControlEntry("ROLE_ADMIN", "write", true), new AccessControlEntry("ROLE_ADMIN", "read", true), new AccessControlEntry("ROLE_USER", "read", true));
EasyMock.expect(authorizationService.getAcl(EasyMock.anyObject(MediaPackage.class), EasyMock.anyObject(AclScope.class))).andReturn(Option.some(acl)).anyTimes();
OrganizationDirectoryService orgDirectoryService = EasyMock.createNiceMock(OrganizationDirectoryService.class);
EasyMock.expect(orgDirectoryService.getOrganizations()).andReturn(Arrays.asList((Organization) new DefaultOrganization())).anyTimes();
EventCatalogUIAdapter episodeAdapter = EasyMock.createMock(EventCatalogUIAdapter.class);
EasyMock.expect(episodeAdapter.getFlavor()).andReturn(new MediaPackageElementFlavor("dublincore", "episode")).anyTimes();
EasyMock.expect(episodeAdapter.getOrganization()).andReturn(new DefaultOrganization().getId()).anyTimes();
EventCatalogUIAdapter extendedAdapter = EasyMock.createMock(EventCatalogUIAdapter.class);
EasyMock.expect(extendedAdapter.getFlavor()).andReturn(new MediaPackageElementFlavor("extended", "episode")).anyTimes();
EasyMock.expect(extendedAdapter.getOrganization()).andReturn(new DefaultOrganization().getId()).anyTimes();
BundleContext bundleContext = EasyMock.createNiceMock(BundleContext.class);
EasyMock.expect(bundleContext.getProperty(EasyMock.anyString())).andReturn("adminuser").anyTimes();
ComponentContext componentContext = EasyMock.createNiceMock(ComponentContext.class);
EasyMock.expect(componentContext.getBundleContext()).andReturn(bundleContext).anyTimes();
EasyMock.replay(messageSender, baseMessageMock, messageReceiver, authorizationService, securityService, extendedAdapter, episodeAdapter, orgDirectoryService, componentContext, bundleContext);
testConflictHandler = new TestConflictHandler();
schedSvc = new SchedulerServiceImpl();
schedSvc.setAuthorizationService(authorizationService);
schedSvc.setSecurityService(securityService);
schedSvc.setPersistence(schedulerDatabase);
schedSvc.setWorkspace(workspace);
schedSvc.setMessageSender(messageSender);
schedSvc.setMessageReceiver(messageReceiver);
schedSvc.setConflictHandler(testConflictHandler);
schedSvc.addCatalogUIAdapter(episodeAdapter);
schedSvc.addCatalogUIAdapter(extendedAdapter);
schedSvc.setOrgDirectoryService(orgDirectoryService);
schedSvc.activate(componentContext);
}
use of org.opencastproject.security.api.DefaultOrganization in project opencast by opencast.
the class SearchServicePersistenceTest method setUp.
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
securityService = EasyMock.createNiceMock(SecurityService.class);
DefaultOrganization defaultOrganization = new DefaultOrganization();
User user = new JaxbUser("admin", "test", defaultOrganization, new JaxbRole(SecurityConstants.GLOBAL_ADMIN_ROLE, defaultOrganization));
EasyMock.expect(securityService.getOrganization()).andReturn(new DefaultOrganization()).anyTimes();
EasyMock.expect(securityService.getUser()).andReturn(user).anyTimes();
EasyMock.replay(securityService);
searchDatabase = new SearchServiceDatabaseImpl();
searchDatabase.setEntityManagerFactory(newTestEntityManagerFactory(SearchServiceDatabaseImpl.PERSISTENCE_UNIT));
searchDatabase.setSecurityService(securityService);
searchDatabase.activate(null);
mediaPackage = MediaPackageBuilderFactory.newInstance().newMediaPackageBuilder().createNew();
accessControlList = new AccessControlList();
List<AccessControlEntry> acl = accessControlList.getEntries();
acl.add(new AccessControlEntry("admin", Permissions.Action.WRITE.toString(), true));
}
use of org.opencastproject.security.api.DefaultOrganization in project opencast by opencast.
the class WorkflowServiceImpl method repopulate.
@Override
public void repopulate(final String indexName) throws Exception {
List<String> workflows = serviceRegistry.getJobPayloads(Operation.START_WORKFLOW.toString());
final String destinationId = WorkflowItem.WORKFLOW_QUEUE_PREFIX + indexName.substring(0, 1).toUpperCase() + indexName.substring(1);
if (workflows.size() > 0) {
final int total = workflows.size();
logger.info("Populating index '{}' with {} workflows", indexName, total);
final int responseInterval = (total < 100) ? 1 : (total / 100);
int current = 0;
for (final String workflow : workflows) {
current += 1;
if (StringUtils.isEmpty(workflow)) {
logger.warn("Skipping restoring of workflow no {}: Payload is empty", current);
continue;
}
WorkflowInstance instance;
try {
instance = WorkflowParser.parseWorkflowInstance(workflow);
} catch (WorkflowParsingException e) {
logger.warn("Skipping restoring of workflow. Error parsing: {}", workflow, e);
continue;
}
Organization organization = instance.getOrganization();
SecurityUtil.runAs(securityService, organization, SecurityUtil.createSystemUser(componentContext, organization), new Effect0() {
@Override
public void run() {
// Send message to update index item
messageSender.sendObjectMessage(destinationId, MessageSender.DestinationType.Queue, WorkflowItem.updateInstance(instance));
}
});
if ((current % responseInterval == 0) || (current == total)) {
logger.info("Updating {} workflow index {}/{}: {} percent complete.", indexName, current, total, current * 100 / total);
}
}
}
logger.info("Finished populating {} index with workflows", indexName);
Organization organization = new DefaultOrganization();
SecurityUtil.runAs(securityService, organization, SecurityUtil.createSystemUser(componentContext, organization), new Effect0() {
@Override
protected void run() {
messageSender.sendObjectMessage(IndexProducer.RESPONSE_QUEUE, MessageSender.DestinationType.Queue, IndexRecreateObject.end(indexName, IndexRecreateObject.Service.Workflow));
}
});
}
use of org.opencastproject.security.api.DefaultOrganization in project opencast by opencast.
the class VideoSegmenterTest method setUp.
/**
* Setup for the video segmenter service, including creation of a mock workspace.
*
* @throws Exception
* if setup fails
*/
@Before
public void setUp() throws Exception {
mpeg7Service = new Mpeg7CatalogService();
Workspace workspace = EasyMock.createNiceMock(Workspace.class);
EasyMock.expect(workspace.get((URI) EasyMock.anyObject())).andReturn(new File(track.getURI()));
tempFile = testFolder.newFile(getClass().getName() + ".xml");
EasyMock.expect(workspace.putInCollection((String) EasyMock.anyObject(), (String) EasyMock.anyObject(), (InputStream) EasyMock.anyObject())).andAnswer(new IAnswer<URI>() {
@Override
public URI answer() throws Throwable {
InputStream in = (InputStream) EasyMock.getCurrentArguments()[2];
IOUtils.copy(in, new FileOutputStream(tempFile));
return tempFile.toURI();
}
});
EasyMock.replay(workspace);
mpeg7Service1 = new Mpeg7CatalogService();
Workspace workspace1 = EasyMock.createNiceMock(Workspace.class);
EasyMock.expect(workspace1.get((URI) EasyMock.anyObject())).andReturn(new File(track1.getURI()));
tempFile1 = testFolder.newFile(getClass().getName() + "-1.xml");
EasyMock.expect(workspace1.putInCollection((String) EasyMock.anyObject(), (String) EasyMock.anyObject(), (InputStream) EasyMock.anyObject())).andAnswer(new IAnswer<URI>() {
@Override
public URI answer() throws Throwable {
InputStream in = (InputStream) EasyMock.getCurrentArguments()[2];
IOUtils.copy(in, new FileOutputStream(tempFile1));
return tempFile1.toURI();
}
});
EasyMock.replay(workspace1);
User anonymous = new JaxbUser("anonymous", "test", new DefaultOrganization(), new JaxbRole(DefaultOrganization.DEFAULT_ORGANIZATION_ANONYMOUS, new DefaultOrganization()));
UserDirectoryService userDirectoryService = EasyMock.createMock(UserDirectoryService.class);
EasyMock.expect(userDirectoryService.loadUser((String) EasyMock.anyObject())).andReturn(anonymous).anyTimes();
EasyMock.replay(userDirectoryService);
Organization organization = new DefaultOrganization();
OrganizationDirectoryService organizationDirectoryService = EasyMock.createMock(OrganizationDirectoryService.class);
EasyMock.expect(organizationDirectoryService.getOrganization((String) EasyMock.anyObject())).andReturn(organization).anyTimes();
EasyMock.replay(organizationDirectoryService);
SecurityService securityService = EasyMock.createNiceMock(SecurityService.class);
EasyMock.expect(securityService.getUser()).andReturn(anonymous).anyTimes();
EasyMock.expect(securityService.getOrganization()).andReturn(organization).anyTimes();
EasyMock.replay(securityService);
vsegmenter = new VideoSegmenterServiceImpl();
serviceRegistry = new ServiceRegistryInMemoryImpl(vsegmenter, securityService, userDirectoryService, organizationDirectoryService, EasyMock.createNiceMock(IncidentService.class));
vsegmenter.setServiceRegistry(serviceRegistry);
vsegmenter.setMpeg7CatalogService(mpeg7Service);
vsegmenter.setWorkspace(workspace);
vsegmenter.setSecurityService(securityService);
vsegmenter.setUserDirectoryService(userDirectoryService);
vsegmenter.setOrganizationDirectoryService(organizationDirectoryService);
vsegmenter1 = new VideoSegmenterServiceImpl();
serviceRegistry1 = new ServiceRegistryInMemoryImpl(vsegmenter1, securityService, userDirectoryService, organizationDirectoryService, EasyMock.createNiceMock(IncidentService.class));
vsegmenter1.setServiceRegistry(serviceRegistry1);
vsegmenter1.setMpeg7CatalogService(mpeg7Service1);
vsegmenter1.setWorkspace(workspace1);
vsegmenter1.setSecurityService(securityService);
vsegmenter1.setUserDirectoryService(userDirectoryService);
vsegmenter1.setOrganizationDirectoryService(organizationDirectoryService);
// set parameters for segmentation because the default parameters are not suitable for too short videos
vsegmenter.prefNumber = 2;
vsegmenter.stabilityThreshold = 2;
vsegmenter.absoluteMin = 1;
vsegmenter1.stabilityThreshold = 2;
vsegmenter1.changesThreshold = 0.025f;
vsegmenter1.prefNumber = 5;
vsegmenter1.maxCycles = 5;
vsegmenter1.maxError = 0.2f;
vsegmenter1.absoluteMin = 1;
}
Aggregations