package org.sakaiproject.content.providers; import java.util.Calendar; import java.util.GregorianCalendar; import junit.extensions.TestSetup; import junit.framework.Test; import junit.framework.TestSuite; import org.sakaiproject.content.api.ContentHostingService; import org.sakaiproject.event.api.Event; import org.sakaiproject.event.api.UsageSessionService; import org.sakaiproject.test.SakaiTestBase; import org.sakaiproject.time.api.Time; import org.sakaiproject.time.api.TimeService; import org.sakaiproject.tool.api.Session; import org.sakaiproject.tool.api.SessionManager; public class TestResourceEventVoter extends SakaiTestBase { private ResourceEventVoter voter; private ResourceEventVoterHelper helper; private ContentHostingService chs; private Event event; private UsageSessionService usageSessionService; private SessionManager sessionManager; private Session session; private TimeService timeService; private String delayId; public static Test suite() { TestSetup setup = new TestSetup(new TestSuite(TestResourceEventVoter.class)) { protected void setUp() throws Exception { oneTimeSetup(); } protected void tearDown() throws Exception { oneTimeTearDown(); } }; return setup; } @Override protected void setUp() throws Exception { String runAs = "admin"; voter = (ResourceEventVoter) getService(ResourceEventVoter.class.getName()); helper = (ResourceEventVoterHelper) getService(ResourceEventVoterHelper.class.getName()); chs = (ContentHostingService) getService(ContentHostingService.class.getName()); timeService = (TimeService) getService(TimeService.class.getName()); usageSessionService = (UsageSessionService) getService(UsageSessionService.class.getName()); usageSessionService.startSession(runAs, "localhost", "resourceVoter-integrationTest"); sessionManager = (SessionManager) getService("org.sakaiproject.tool.api.SessionManager"); session = sessionManager.getCurrentSession(); session.setUserEid(runAs); session.setUserId(runAs); event = new ResourceEventVoterHelper.ReEvent("content.revise", true, 1, "/content/group/5c5fdcef-dbb2-415b-9714-b031e4e18bb8/quotes.txt", null); } @Override protected void tearDown() throws Exception { if (delayId != null) helper.deleteDelay(delayId); } public void testExecute() throws Exception { // create a delay that is arbitrarily in the future. GregorianCalendar cal = new GregorianCalendar(); cal.add(Calendar.MINUTE, 5); Time releaseDate = timeService.newTime(cal); delayId = helper.createDelay(event, "admin", releaseDate); voter.execute(delayId); } }