| 1 17 18 24 package javax.security.jacc; 25 26 import java.io.ByteArrayOutputStream; 27 import java.io.ObjectOutputStream; 28 import java.io.ByteArrayInputStream; 29 import java.io.ObjectInputStream; 30 import java.io.IOException; 31 32 import junit.framework.TestCase; 33 34 38 public class WebUserDataPermissionTest extends TestCase { 39 40 43 public void testConstructorStringString() { 44 45 WebUserDataPermission permission = new WebUserDataPermission("/foo", "GET,POST:INTEGRAL"); 46 47 assertEquals(permission.getName(), "/foo"); 48 assertEquals(permission.getActions(), "GET,POST:INTEGRAL"); 49 50 permission = new WebUserDataPermission("/foo", "GET,POST,POST,GET:INTEGRAL"); 51 assertEquals(permission.getActions(), "GET,POST:INTEGRAL"); 52 53 try { 55 permission = new WebUserDataPermission("/foo", "GET,POST,BAR:INTEGRAL"); 56 fail("Bad HTTP method"); 57 } catch(IllegalArgumentException iae) { 58 } 59 60 try { 62 permission = new WebUserDataPermission("/foo", "GET,POST,BAR:"); 63 fail("Missing transportType"); 64 } catch(IllegalArgumentException iae) { 65 } 66 } 67 68 public void testSerialization() throws Exception { 69 testSerialization(new WebUserDataPermission("/foo", "GET,POST:INTEGRAL")); 70 testSerialization(new WebUserDataPermission("/foo", "GET,POST:NONE")); 71 testSerialization(new WebUserDataPermission("/foo", "")); 72 testSerialization(new WebUserDataPermission("/foo", ":NONE")); 73 testSerialization(new WebUserDataPermission("/foo", "GET,POST")); 74 } 75 76 private void testSerialization(WebUserDataPermission permission) throws IOException, ClassNotFoundException { 77 ByteArrayOutputStream baos = new ByteArrayOutputStream(); 78 ObjectOutputStream oos = new ObjectOutputStream(baos); 79 oos.writeObject(permission); 80 ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); 81 ObjectInputStream ois = new ObjectInputStream(bais); 82 Object o = ois.readObject(); 83 assertEquals(permission, o); 84 } 85 86 public void testImpliesStringString() { 87 WebUserDataPermission permissionFooGP = new WebUserDataPermission("/foo", "GET,POST:INTEGRAL"); 90 WebUserDataPermission permissionFooE = new WebUserDataPermission("/foo", ""); 91 WebUserDataPermission permissionFooGPN = new WebUserDataPermission("/foo", "GET,POST"); 92 93 assertTrue(permissionFooE.implies(permissionFooGP)); 94 assertTrue(permissionFooE.implies(permissionFooGPN)); 95 assertFalse(permissionFooGP.implies(permissionFooE)); 96 assertFalse(permissionFooGPN.implies(permissionFooE)); 97 98 assertTrue(permissionFooGPN.implies(permissionFooGP)); 99 assertFalse(permissionFooGP.implies(permissionFooGPN)); 100 } 101 102 105 public void testConstructorStringStringArray() { 106 } 107 108 public void testImpliesStringStringArray() { 109 } 110 111 114 public void testConstructorHttpServletRequest() { 115 } 116 117 public void testImpliesHttpServletRequest() { 118 } 119 } 120 121 | Popular Tags |