| 1 17 18 24 package javax.security.jacc; 25 26 import java.security.Permission; 27 import java.io.ByteArrayOutputStream; 28 import java.io.ObjectOutputStream; 29 import java.io.ByteArrayInputStream; 30 import java.io.ObjectInputStream; 31 32 import junit.framework.TestCase; 33 34 38 public class WebResourcePermissionTest extends TestCase { 39 40 public void testSerialization() throws Exception { 41 WebResourcePermission permission = new WebResourcePermission("/bar/*:/bar/stool", "GET,POST"); 42 ByteArrayOutputStream baos = new ByteArrayOutputStream(); 43 ObjectOutputStream oos = new ObjectOutputStream(baos); 44 oos.writeObject(permission); 45 ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); 46 ObjectInputStream ois = new ObjectInputStream(bais); 47 Object o = ois.readObject(); 48 assertEquals(permission, o); 49 } 50 51 54 public void testConstructorStringString() { 55 56 WebResourcePermission permission = new WebResourcePermission("/foo", "GET,POST"); 57 58 assertTrue(permission.equals(permission)); 59 assertEquals(permission.getName(), "/foo"); 60 assertEquals(permission.getActions(), "GET,POST"); 61 62 permission = new WebResourcePermission("/foo", "GET,POST,POST,GET"); 63 assertEquals(permission.getActions(), "GET,POST"); 64 65 permission = new WebResourcePermission("/", "GET,POST"); 66 permission = new WebResourcePermission("/:/foo", "GET,POST"); 67 permission = new WebResourcePermission("/:*.asp", "GET,POST"); 68 permission = new WebResourcePermission("/:/foo:*.asp", "GET,POST"); 69 permission = new WebResourcePermission("/bar/*", "GET,POST"); 70 permission = new WebResourcePermission("", "GET,POST"); 71 permission = new WebResourcePermission("/*", "GET,POST"); 72 permission = new WebResourcePermission("/*:/bar/stool", "GET,POST"); 73 permission = new WebResourcePermission("/bar/*:/bar/stool", "GET,POST"); 74 75 try { 77 permission = new WebResourcePermission("/foo", "GET,POST,BAR"); 78 fail("Bad HTTP method"); 79 } catch(IllegalArgumentException iae) { 80 } 81 82 try { 84 permission = new WebResourcePermission("/foo", "GET,POST:INTEGRAL"); 85 } catch(IllegalArgumentException iae) { 86 } 87 88 try { 90 permission = new WebResourcePermission(null, "GET,POST"); 91 fail("null URLPatternSpec for a WebResourcePermission"); 92 } catch(IllegalArgumentException iae) { 93 } 94 95 try { 97 permission = new WebResourcePermission("/foo:", "GET,POST"); 98 fail("/foo:"); 99 } catch(IllegalArgumentException iae) { 100 } 101 102 try { 104 permission = new WebResourcePermission("/foo:/foo/bar", "GET,POST"); 105 fail("/foo:/foo/bar"); 106 } catch(IllegalArgumentException iae) { 107 } 108 109 try { 110 permission = new WebResourcePermission("/foo/*:*.asp", "GET,POST"); 111 fail("/foo/*:*.asp"); 112 } catch(IllegalArgumentException iae) { 113 } 114 115 try { 116 permission = new WebResourcePermission("/foo:/", "GET,POST"); 117 fail("/foo:/"); 118 } catch(IllegalArgumentException iae) { 119 } 120 121 try { 122 permission = new WebResourcePermission("/bar/*:/cat/stool/*", "GET,POST"); 123 fail("/bar/*:/cat/stool/*"); 124 } catch(IllegalArgumentException iae) { 125 } 126 127 try { 128 permission = new WebResourcePermission("/bar/*:/*", "GET,POST"); 129 fail("/bar/*:/"); 130 } catch(IllegalArgumentException iae) { 131 } 132 133 try { 134 permission = new WebResourcePermission("/bar/stool/*:/bar", "GET,POST"); 135 fail("/bar/stool/*:/bar"); 136 } catch(IllegalArgumentException iae) { 137 } 138 139 } 140 141 public void testImpliesStringString() { 142 143 Permission pA = new WebResourcePermission("/foo", ""); 145 Permission pB = new WebUserDataPermission("/foo", ""); 146 147 assertFalse(pA.implies(pB)); 148 assertFalse(pB.implies(pA)); 149 150 pA = new WebResourcePermission("/foo", ""); 151 pB = new WebResourcePermission("/foo", "GET,POST"); 152 153 assertTrue(pA.implies(pB)); 154 assertFalse(pB.implies(pA)); 155 156 pA = new WebResourcePermission("/foo/*:/foo/bar", ""); 157 pB = new WebResourcePermission("/foo/bar", ""); 158 159 assertFalse(pA.implies(pB)); 160 assertFalse(pB.implies(pA)); 161 162 pA = new WebResourcePermission("/foo/bar/*:/foo/bar/cat/dog", ""); 163 pB = new WebResourcePermission("/foo/bar/*:/foo/bar/cat/*", ""); 164 165 assertTrue(pA.implies(pB)); 166 assertFalse(pB.implies(pA)); 167 168 pA = new WebResourcePermission("/:/a.jsp:/b.jsp:/c.jsp", "GET,POST,PUT,DELETE,HEAD,OPTIONS,TRACE"); 169 pB = new WebResourcePermission("/:/a.jsp:/c.jsp:/b.jsp", (String) null); 170 171 assertTrue(pA.implies(pB)); 172 assertTrue(pB.implies(pA)); 173 } 174 175 178 public void testConstructorStringStringArray() { 179 } 180 181 public void testImpliesStringStringArray() { 182 } 183 184 187 public void testConstructorHttpServletRequest() { 188 } 189 190 public void testImpliesHttpServletRequest() { 191 } 192 193 public static void main(String[] args) { 194 WebResourcePermissionTest test = new WebResourcePermissionTest(); 195 test.testConstructorStringString(); 196 test.testImpliesStringString(); 197 test.testConstructorStringStringArray(); 198 test.testImpliesStringStringArray(); 199 test.testConstructorHttpServletRequest(); 200 test.testImpliesHttpServletRequest(); 201 } 202 } 203 204 | Popular Tags |