1 31 32 package org.opencms.file; 33 34 import org.opencms.main.OpenCms; 35 import org.opencms.test.OpenCmsTestCase; 36 import org.opencms.test.OpenCmsTestProperties; 37 38 import junit.extensions.TestSetup; 39 import junit.framework.Test; 40 import junit.framework.TestSuite; 41 42 49 public class TestVersioning extends OpenCmsTestCase { 50 51 56 public TestVersioning(String arg0) { 57 super(arg0); 58 } 59 60 65 public static Test suite() { 66 OpenCmsTestProperties.initialize(org.opencms.test.AllTests.TEST_PROPERTIES_PATH); 67 68 TestSuite suite = new TestSuite(); 69 suite.setName(TestVersioning.class.getName()); 70 71 suite.addTest(new TestVersioning("testVersioningLimit")); 72 73 TestSetup wrapper = new TestSetup(suite) { 74 75 protected void setUp() { 76 setupOpenCms("simpletest", "/sites/default/"); 77 } 78 79 protected void tearDown() { 80 removeOpenCms(); 81 } 82 }; 83 84 return wrapper; 85 } 86 87 93 public void testVersioningLimit() throws Throwable { 94 95 CmsObject cms = getCmsObject(); 96 echo("Testing versioning limit"); 97 98 String source = "/index.html"; 99 cms.getRequestContext().setCurrentProject(cms.readProject("Offline")); 100 101 OpenCms.getSystemInfo().setVersionHistorySettings(true, 3); 103 104 for (int i = 0; i < 5; i++) { 106 if (i<3) { 107 assertEquals(i+1, cms.readAllBackupFileHeaders(source).size()); 108 } else { 109 assertEquals(3, cms.readAllBackupFileHeaders(source).size()); 110 } 111 cms.lockResource(source); 112 cms.setDateLastModified(source, System.currentTimeMillis(), false); 113 cms.setDateExpired(source, System.currentTimeMillis(), false); 114 cms.setDateReleased(source, System.currentTimeMillis(), false); 115 cms.unlockResource(source); 116 cms.publishResource(source); 117 } 118 } 119 } 120 | Popular Tags |