package org.sakaiproject.content.impl.serialize.impl.test; import org.sakaiproject.content.api.GroupAwareEntity.AccessMode; import org.sakaiproject.content.impl.serialize.impl.conversion.SAXSerializableCollectionAccess; import org.sakaiproject.content.impl.serialize.impl.conversion.SAXSerializableResourceAccess; import junit.framework.TestCase; public class SaxSerializerTest extends TestCase { private static final String R_XML_START = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<resource content-length=\"12\" content-type=\"text/plain\" " + " filePath=\"/2007/255/12/9bc0da9e-175c-4e26-9beb-8fbffbadc8f5\" " + "id=\"/private/sampleAccess/mercury/test.txt\" " + " resource-type=\"org.sakaiproject.content.types.fileUpload\" "; private static final String R_XML_END = "sakai:hidden=\"false\"> " + "<properties><property enc=\"BASE64\" name=\"CHEF:creator\" " + " value=\"YWRtaW4=\"/><property enc=\"BASE64\" name=\"CHEF:modifiedby\" " + " value=\"YWRtaW4=\"/><property enc=\"BASE64\" name=\"CHEF:is-collection\" " + " value=\"ZmFsc2U=\"/><property enc=\"BASE64\" name=\"DAV:getlastmodified\" " + " value=\"MjAwNzA5MTIxMjA5MDk1MjQ=\"/><property enc=\"BASE64\" " + " name=\"DAV:getcontentlength\" value=\"MTI=\"/><property enc=\"BASE64\" " + " name=\"DAV:getcontenttype\" value=\"dGV4dC9wbGFpbg==\"/> " + " <property enc=\"BASE64\" name=\"sakai:reference-root\" " + " value=\"L3NhbXBsZUFjY2Vzcw==\"/><property enc=\"BASE64\" " + " name=\"DAV:creationdate\" value=\"MjAwNzA5MTIxMjA5MDk1MjM=\"/>" + " <property enc=\"BASE64\" name=\"DAV:displayname\" value=\"dGVzdC50eHQ=\"/>" + " </properties></resource>"; private static final String C_XML_START = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<collection " + " " + "id=\"/private/sampleAccess/mercury/test.txt\" " + " "; private static final String C_XML_END = "sakai:hidden=\"false\"> " + "<properties><property enc=\"BASE64\" name=\"CHEF:creator\" " + " value=\"YWRtaW4=\"/><property enc=\"BASE64\" name=\"CHEF:modifiedby\" " + " value=\"YWRtaW4=\"/><property enc=\"BASE64\" name=\"CHEF:is-collection\" " + " value=\"ZmFsc2U=\"/><property enc=\"BASE64\" name=\"DAV:getlastmodified\" " + " value=\"MjAwNzA5MTIxMjA5MDk1MjQ=\"/><property enc=\"BASE64\" " + " name=\"DAV:getcontentlength\" value=\"MTI=\"/> " + " <property enc=\"BASE64\" name=\"sakai:reference-root\" " + " value=\"L3NhbXBsZUFjY2Vzcw==\"/><property enc=\"BASE64\" " + " name=\"DAV:creationdate\" value=\"MjAwNzA5MTIxMjA5MDk1MjM=\"/>" + " <property enc=\"BASE64\" name=\"DAV:displayname\" value=\"dGVzdC50eHQ=\"/>" + " </properties></collection>"; private static final String R_TEST_NONE_XML = R_XML_START+" "+R_XML_END; private static final String R_TEST_INHERITED_XML = R_XML_START+" sakai:access_mode=\"inherited\" "+R_XML_END; private static final String R_TEST_SITE_XML = R_XML_START+" sakai:access_mode=\"site\" "+R_XML_END; private static final String R_TEST_GROUPED_XML = R_XML_START+" sakai:access_mode=\"grouped\" "+R_XML_END; private static final String C_TEST_NONE_XML = C_XML_START+" "+C_XML_END; private static final String C_TEST_INHERITED_XML = C_XML_START+" sakai:access_mode=\"inherited\" "+C_XML_END; private static final String C_TEST_SITE_XML = C_XML_START+" sakai:access_mode=\"site\" "+C_XML_END; private static final String C_TEST_GROUPED_XML = C_XML_START+" sakai:access_mode=\"grouped\" "+C_XML_END; public void testResourcesAccess() throws Exception { SAXSerializableResourceAccess sr = new SAXSerializableResourceAccess(); sr.parse(R_TEST_GROUPED_XML); assertEquals(AccessMode.GROUPED, sr.getSerializableAccess()); } public void testResourcesAccessNone() throws Exception { SAXSerializableResourceAccess sr = new SAXSerializableResourceAccess(); sr.parse(R_TEST_NONE_XML); assertEquals(AccessMode.INHERITED, sr.getSerializableAccess()); } public void testResourcesAccessInherited() throws Exception { SAXSerializableResourceAccess sr = new SAXSerializableResourceAccess(); sr.parse(R_TEST_INHERITED_XML); assertEquals(AccessMode.INHERITED, sr.getSerializableAccess()); } public void testResourcesAccessSite() throws Exception { SAXSerializableResourceAccess sr = new SAXSerializableResourceAccess(); sr.parse(R_TEST_SITE_XML); assertEquals(AccessMode.INHERITED, sr.getSerializableAccess()); } public void testCollectionAccess() throws Exception { SAXSerializableCollectionAccess sr = new SAXSerializableCollectionAccess(); sr.parse(C_TEST_GROUPED_XML); assertEquals(AccessMode.GROUPED, sr.getSerializableAccess()); } public void testCollectionAccessNone() throws Exception { SAXSerializableCollectionAccess sr = new SAXSerializableCollectionAccess(); sr.parse(C_TEST_NONE_XML); assertEquals(AccessMode.INHERITED, sr.getSerializableAccess()); } public void testCollectionAccessInherited() throws Exception { SAXSerializableCollectionAccess sr = new SAXSerializableCollectionAccess(); sr.parse(C_TEST_INHERITED_XML); assertEquals(AccessMode.INHERITED, sr.getSerializableAccess()); } public void testCollectionAccessSite() throws Exception { SAXSerializableCollectionAccess sr = new SAXSerializableCollectionAccess(); sr.parse(C_TEST_SITE_XML); assertEquals(AccessMode.INHERITED, sr.getSerializableAccess()); } }