1 31 32 package org.opencms.main; 33 34 import org.opencms.file.CmsObject; 35 import org.opencms.file.CmsProject; 36 import org.opencms.test.OpenCmsTestCase; 37 import org.opencms.test.OpenCmsTestProperties; 38 39 import junit.extensions.TestSetup; 40 import junit.framework.Test; 41 import junit.framework.TestSuite; 42 43 50 public class TestCmsEvents extends OpenCmsTestCase { 51 52 57 public TestCmsEvents(String arg0) { 58 59 super(arg0); 60 } 61 62 67 public static Test suite() { 68 69 OpenCmsTestProperties.initialize(org.opencms.test.AllTests.TEST_PROPERTIES_PATH); 70 71 TestSuite suite = new TestSuite(); 72 suite.setName(TestCmsEvents.class.getName()); 73 74 suite.addTest(new TestCmsEvents("testBeforeAfterPublishEvent")); 75 76 TestSetup wrapper = new TestSetup(suite) { 77 78 protected void setUp() { 79 80 setupOpenCms("simpletest", "/sites/default/"); 81 } 82 83 protected void tearDown() { 84 85 removeOpenCms(); 86 } 87 }; 88 89 return wrapper; 90 } 91 92 97 public void testBeforeAfterPublishEvent() throws Throwable { 98 99 CmsObject cms = getCmsObject(); 100 101 echo("Testing to event before / after publish project"); 102 103 String projectName = "PublishEventTest"; 104 105 cms.getRequestContext().saveSiteRoot(); 106 cms.getRequestContext().setSiteRoot("/"); 107 try { 108 CmsProject project = cms.createProject( 109 projectName, 110 "Unit test project for publish events", 111 OpenCms.getDefaultUsers().getGroupUsers(), 112 OpenCms.getDefaultUsers().getGroupProjectmanagers(), 113 CmsProject.PROJECT_TYPE_NORMAL); 114 cms.getRequestContext().setCurrentProject(project); 115 cms.copyResourceToProject("/sites/default/"); 116 } finally { 117 cms.getRequestContext().restoreSiteRoot(); 118 } 119 120 TestEventListener handler = new TestEventListener(); 122 OpenCms.addCmsEventListener(handler, new int[] { 123 I_CmsEventListener.EVENT_BEFORE_PUBLISH_PROJECT, 124 I_CmsEventListener.EVENT_PUBLISH_PROJECT}); 125 126 CmsProject current = cms.readProject(projectName); 127 cms.getRequestContext().setCurrentProject(current); 128 129 cms.publishProject(); 130 131 assertTrue(handler.hasRecievedEvent(I_CmsEventListener.EVENT_BEFORE_PUBLISH_PROJECT)); 132 assertTrue(handler.hasRecievedEvent(I_CmsEventListener.EVENT_PUBLISH_PROJECT)); 133 assertEquals(2, handler.getEvents().size()); 135 } 136 } | Popular Tags |