You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2011/04/28 10:07:52 UTC

svn commit: r1097348 - /jackrabbit/trunk/jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/privilege/PrivilegeHandlerTest.java

Author: angela
Date: Thu Apr 28 08:07:51 2011
New Revision: 1097348

URL: http://svn.apache.org/viewvc?rev=1097348&view=rev
Log:
JCR-2952 - PrivilegeHandlerTest fails on Windows

Modified:
    jackrabbit/trunk/jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/privilege/PrivilegeHandlerTest.java

Modified: jackrabbit/trunk/jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/privilege/PrivilegeHandlerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/privilege/PrivilegeHandlerTest.java?rev=1097348&r1=1097347&r2=1097348&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/privilege/PrivilegeHandlerTest.java (original)
+++ jackrabbit/trunk/jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/privilege/PrivilegeHandlerTest.java Thu Apr 28 08:07:51 2011
@@ -18,8 +18,12 @@ package org.apache.jackrabbit.spi.common
 
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.Arrays;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.Map;
 import java.util.Set;
@@ -48,6 +52,7 @@ public class PrivilegeHandlerTest extend
      */
     private static final String TEST_PREFIX = "foo";
     private static final String TEST_URI = "http://www.foo.com/1.0";
+    private static final String CONTENT_TYPE = "text/xml";
 
     private static PrivilegeDefinition DEF_READ = new PrivilegeDefinition(NF.create(TEST_URI,"testRead"), false, null);
     private static PrivilegeDefinition DEF_WRITE = new PrivilegeDefinition(NF.create(TEST_URI,"testWrite"), false, null);
@@ -67,10 +72,10 @@ public class PrivilegeHandlerTest extend
             DEF_ALL
     };
 
-    public void testRead() throws Exception {
+    public void testReadInputStream() throws Exception {
         InputStream in = getClass().getResourceAsStream("readtest.xml");
 
-        PrivilegeDefinitionReader reader = new PrivilegeDefinitionReader(in, "text/xml");
+        PrivilegeDefinitionReader reader = new PrivilegeDefinitionReader(in, CONTENT_TYPE);
 
         Map<Name, PrivilegeDefinition> defs = new HashMap<Name, PrivilegeDefinition>();
         for (PrivilegeDefinition def: reader.getPrivilegeDefinitions()) {
@@ -88,9 +93,30 @@ public class PrivilegeHandlerTest extend
         assertEquals("Namespace included", TEST_URI, fooUri);
     }
 
-    public void testWrite() throws Exception {
+    public void testReadReader() throws Exception {
+        InputStream in = getClass().getResourceAsStream("readtest.xml");
+
+        PrivilegeDefinitionReader reader = new PrivilegeDefinitionReader(new InputStreamReader(in), CONTENT_TYPE);
+
+        Map<Name, PrivilegeDefinition> defs = new HashMap<Name, PrivilegeDefinition>();
+        for (PrivilegeDefinition def: reader.getPrivilegeDefinitions()) {
+            defs.put(def.getName(), def);
+        }
+        for (PrivilegeDefinition def: DEF_EXPECTED) {
+            PrivilegeDefinition e = defs.remove(def.getName());
+            assertNotNull("Definition " + def.getName() + " missing");
+            assertEquals("Definition mismatch.", def,  e);
+        }
+        assertTrue("Not all definitions present", defs.isEmpty());
 
-        PrivilegeDefinitionWriter writer = new PrivilegeDefinitionWriter("text/xml");
+        // check for namespace
+        String fooUri = reader.getNamespaces().get(TEST_PREFIX);
+        assertEquals("Namespace included", TEST_URI, fooUri);
+    }
+
+    public void testWriteOutputStream() throws Exception {
+
+        PrivilegeDefinitionWriter writer = new PrivilegeDefinitionWriter(CONTENT_TYPE);
         Map<String, String> namespaces = new HashMap<String, String>();
         namespaces.put(TEST_PREFIX, TEST_URI);
         ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -98,10 +124,24 @@ public class PrivilegeHandlerTest extend
 
         String result = out.toString("utf-8").trim();
 
-        byte[] buffer = new byte[0x10000];
-        int read = getClass().getResourceAsStream("writetest.xml").read(buffer);
-        String expected = new String(buffer, 0, read, "utf-8").trim();
-        assertEquals("Write", expected, result);
+        PrivilegeDefinitionReader pdr = new PrivilegeDefinitionReader(new StringReader(result), CONTENT_TYPE);
+        PrivilegeDefinition[] definitions = pdr.getPrivilegeDefinitions();
+        assertTrue("Write", Arrays.equals(DEF_EXPECTED, definitions));
+    }
+
+    public void testWriteWriter() throws Exception {
+
+        PrivilegeDefinitionWriter writer = new PrivilegeDefinitionWriter(CONTENT_TYPE);
+        Map<String, String> namespaces = new HashMap<String, String>();
+        namespaces.put(TEST_PREFIX, TEST_URI);
+        Writer w = new StringWriter();
+        writer.writeDefinitions(w, DEF_EXPECTED, namespaces);
+
+        String result = w.toString();
+
+        PrivilegeDefinitionReader pdr = new PrivilegeDefinitionReader(new StringReader(result), CONTENT_TYPE);
+        PrivilegeDefinition[] definitions = pdr.getPrivilegeDefinitions();
+        assertTrue("Write", Arrays.equals(DEF_EXPECTED, definitions));
     }
 
 }