1 31 32 package org.opencms.file; 33 34 import org.opencms.file.types.CmsResourceTypeFolder; 35 import org.opencms.main.CmsException; 36 import org.opencms.main.OpenCms; 37 import org.opencms.test.OpenCmsTestCase; 38 import org.opencms.test.OpenCmsTestProperties; 39 40 import java.util.Iterator ; 41 import java.util.List ; 42 43 import junit.extensions.TestSetup; 44 import junit.framework.Test; 45 import junit.framework.TestSuite; 46 47 55 public class TestCmsResourceFilter extends OpenCmsTestCase { 56 57 63 public TestCmsResourceFilter(String arg0) { 64 65 super(arg0); 66 } 67 68 74 public static Test suite() { 75 76 OpenCmsTestProperties.initialize(org.opencms.test.AllTests.TEST_PROPERTIES_PATH); 77 78 TestSuite suite = new TestSuite(); 79 suite.setName(TestCmsResourceFilter.class.getName()); 80 81 suite.addTest(new TestCmsResourceFilter("testAddRequireFolder")); 82 83 TestSetup wrapper = new TestSetup(suite) { 84 85 protected void setUp() { 86 87 setupOpenCms("simpletest", "/sites/default/"); 88 } 89 90 protected void tearDown() { 91 92 removeOpenCms(); 93 } 94 }; 95 96 return wrapper; 97 } 98 99 108 public void assertFilterFolderOnly(CmsResourceFilter folderFilter) throws CmsException { 109 110 CmsObject cms = getCmsObject(); 111 List folders = cms.readResources("/", folderFilter); 112 assertNotNull(folders); 113 assertTrue("Zero folders in test system found. ", folders.size() > 0); 114 115 int resourceTypeFolder = CmsResourceTypeFolder.RESOURCE_TYPE_ID; 116 CmsResource resource; 117 Iterator itResources = folders.iterator(); 118 while (itResources.hasNext()) { 119 resource = (CmsResource)itResources.next(); 120 assertTrue("Filter let a resource of type " 121 + OpenCms.getResourceManager().getResourceType(resource.getTypeId()).getTypeName() 122 + " pass: " 123 + resource.getRootPath(), resourceTypeFolder == resource.getTypeId()); 124 } 125 126 } 127 128 135 public void testAddRequireFolder() throws Exception { 136 137 CmsResourceFilter filterFolder = CmsResourceFilter.ALL.addRequireFolder(); 138 139 echo("Testing if only folders pass the resource filter CmsResourceFilter.ALL.addRequireFolder()"); 140 assertFilterFolderOnly(filterFolder); 141 142 filterFolder = CmsResourceFilter.ALL.addRequireFolder().addExcludeState(CmsResource.STATE_DELETED); 143 144 echo("Testing if only folders pass the resource filter CmsResourceFilter.ALL.addRequireFolder().addExcludeState(CmsResource.STATE_DELETED)"); 145 assertFilterFolderOnly(filterFolder); 146 } 147 } | Popular Tags |