1 31 32 package org.opencms.file; 33 34 import org.opencms.main.CmsException; 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 48 public class TestReadResource extends OpenCmsTestCase { 49 50 55 public TestReadResource(String arg0) { 56 super(arg0); 57 } 58 59 64 public static Test suite() { 65 OpenCmsTestProperties.initialize(org.opencms.test.AllTests.TEST_PROPERTIES_PATH); 66 67 TestSuite suite = new TestSuite(); 68 suite.setName(TestReadResource.class.getName()); 69 70 suite.addTest(new TestReadResource("testReadBeforeReleaseDate")); 71 suite.addTest(new TestReadResource("testReadInValidTimeRange")); 72 suite.addTest(new TestReadResource("testReadAfterExpirationDate")); 73 suite.addTest(new TestReadResource("testReadBeforeReleaseDateIgnore")); 74 suite.addTest(new TestReadResource("testReadInValidTimeRangeIgnore")); 75 suite.addTest(new TestReadResource("testReadAfterExpirationDateIgnore")); 76 77 TestSetup wrapper = new TestSetup(suite) { 78 79 protected void setUp() { 80 setupOpenCms("simpletest", "/sites/default/"); 81 } 82 83 protected void tearDown() { 84 removeOpenCms(); 85 } 86 }; 87 88 return wrapper; 89 } 90 91 100 public static void readBeforeReleaseDate(OpenCmsTestCase tc, CmsObject cms, String resource1, CmsResourceFilter filter) throws Throwable { 101 102 tc.storeResources(cms, resource1); 103 104 CmsFile preperationRes = cms.readFile(resource1, CmsResourceFilter.ALL); 106 preperationRes .setDateReleased(System.currentTimeMillis() + (60 * 60 *1000)); 108 109 cms.lockResource(resource1); 110 cms.writeFile(preperationRes); 111 cms.unlockResource(resource1); 112 113 try { 115 cms.readResource(resource1, filter); 116 if (!filter.includeDeleted()) { 117 fail("Resource "+ resource1+ " could be read before release date"); 119 } 120 } catch (CmsException e) { 121 if (filter.includeDeleted()) { 122 fail("Resource "+ resource1+ " could not be read"); 123 } 124 } 125 } 126 127 136 public static void readAfterExpirationDate(OpenCmsTestCase tc, CmsObject cms, String resource1, CmsResourceFilter filter) throws Throwable { 137 138 tc.storeResources(cms, resource1); 139 140 CmsFile preperationRes = cms.readFile(resource1, CmsResourceFilter.ALL); 142 preperationRes.setDateExpired(System.currentTimeMillis() - (60 * 60 *1000)); 144 145 cms.lockResource(resource1); 146 cms.writeFile(preperationRes); 147 cms.unlockResource(resource1); 148 149 try { 151 cms.readResource(resource1, filter); 152 if (!filter.includeDeleted()) { 153 fail("Resource "+ resource1+ " could be read after the expiration date"); 155 } 156 } catch (CmsException e) { 157 if (filter.includeDeleted()) { 158 fail("Resource "+ resource1+ " could not be read"); 159 } 160 } 161 } 162 163 172 public static void readInValidTimeRange(OpenCmsTestCase tc, CmsObject cms, String resource1, CmsResourceFilter filter) throws Throwable { 173 174 tc.storeResources(cms, resource1); 175 176 CmsFile preperationRes = cms.readFile(resource1, CmsResourceFilter.ALL); 178 preperationRes.setDateReleased(System.currentTimeMillis()- (60 * 60 *1000)); 180 preperationRes.setDateExpired(System.currentTimeMillis() + (60 * 60 *1000)); 182 183 cms.lockResource(resource1); 184 cms.writeFile(preperationRes); 185 cms.unlockResource(resource1); 186 187 try { 189 cms.readResource(resource1, filter); 190 } catch (CmsException e) { 191 fail("Resource "+ resource1+ " could not be read"); 192 } 193 } 194 195 200 public void testReadBeforeReleaseDate() throws Throwable { 201 202 CmsObject cms = getCmsObject(); 203 echo("Testing readFileHeader of a file before the release date"); 204 readBeforeReleaseDate(this, cms, "/folder1/page1.html", CmsResourceFilter.DEFAULT); 205 } 206 207 212 public void testReadAfterExpirationDate() throws Throwable { 213 214 CmsObject cms = getCmsObject(); 215 echo("Testing readFileHeader of a file after the expiration date"); 216 readAfterExpirationDate(this, cms, "/folder1/page2.html", CmsResourceFilter.DEFAULT); 217 } 218 219 224 public void testReadInValidTimeRange() throws Throwable { 225 226 CmsObject cms = getCmsObject(); 227 echo("Testing readFileHeader of a file in its valid time range"); 228 readInValidTimeRange(this, cms, "/folder1/page3.html", CmsResourceFilter.DEFAULT); 229 } 230 231 237 public void testReadBeforeReleaseDateIgnore() throws Throwable { 238 239 CmsObject cms = getCmsObject(); 240 echo("Testing readFileHeader of a file before the release date, ignoring valid timerange"); 241 readBeforeReleaseDate(this, cms, "/folder1/page1.html", CmsResourceFilter.ALL); 242 } 243 244 250 public void testReadAfterExpirationDateIgnore() throws Throwable { 251 252 CmsObject cms = getCmsObject(); 253 echo("Testing readFileHeader of a file after the expiration date, ignoring valid timerange"); 254 readAfterExpirationDate(this, cms, "/folder1/page2.html", CmsResourceFilter.ALL); 255 } 256 257 263 public void testReadInValidTimeRangeIgnore() throws Throwable { 264 265 CmsObject cms = getCmsObject(); 266 echo("Testing readFileHeader of a file in its valid time range, ignoring valid timerange"); 267 readInValidTimeRange(this, cms, "/folder1/page3.html", CmsResourceFilter.ALL); 268 } 269 270 } 271 | Popular Tags |