| 1 17 18 24 package javax.security.jacc; 25 26 import junit.framework.TestCase; 27 28 import java.lang.reflect.Method; 29 30 34 public class EJBMethodPermissionTest extends TestCase { 35 protected Method method; 36 37 public void setUp() { 38 try { 39 method = TestClass.class.getDeclaredMethod("cat", new Class[] { Integer.class, Float.class, Long.class, Double.class }); 40 } catch (NoSuchMethodException e) { 41 e.printStackTrace(); } catch (SecurityException e) { 43 e.printStackTrace(); } 45 } 46 47 50 public void testConstructorStringString() { 51 52 EJBMethodPermission permission = new EJBMethodPermission("foo", null); 54 55 permission = new EJBMethodPermission("foo", ""); 57 permission = new EJBMethodPermission("foo", "cat"); 58 59 permission = new EJBMethodPermission("foo", ",ServiceEndpoint"); 61 permission = new EJBMethodPermission("foo", "cat,ServiceEndpoint"); 62 63 permission = new EJBMethodPermission("foo", ",,"); 65 permission = new EJBMethodPermission("foo", "cat,,"); 66 permission = new EJBMethodPermission("foo", ",Home,"); 67 permission = new EJBMethodPermission("foo", "cat,Home,"); 68 permission = new EJBMethodPermission("foo", ",,a,b,c,d"); 69 permission = new EJBMethodPermission("foo", "cat,,a,b,c,d"); 70 permission = new EJBMethodPermission("foo", ",Home,a,b,c,d"); 71 permission = new EJBMethodPermission("foo", "cat,Home,a,b,c,d"); 72 73 74 permission = new EJBMethodPermission("foo", "cat,Home,a,b,c,d"); 76 permission = new EJBMethodPermission("foo", "cat,LocalHome,a,b,c,d"); 77 permission = new EJBMethodPermission("foo", "cat,Remote,a,b,c,d"); 78 permission = new EJBMethodPermission("foo", "cat,Local,a,b,c,d"); 79 permission = new EJBMethodPermission("foo", "cat,ServiceEndpoint,a,b,c,d"); 80 81 assertEquals(permission.getName(), "foo"); 82 assertEquals(permission.getActions(), "cat,ServiceEndpoint,a,b,c,d"); 83 84 85 try { 87 permission = new EJBMethodPermission("foo", "cat,Interface,a,b,c,d"); 88 fail("Bad method interface"); 89 } catch(IllegalArgumentException iae) { 90 } 91 92 try { 94 permission = new EJBMethodPermission("foo", ","); 95 fail("Empty method interface"); 96 } catch(IllegalArgumentException iae) { 97 } 98 99 try { 101 permission = new EJBMethodPermission("foo", "cat,"); 102 fail("Empty method interface"); 103 } catch(IllegalArgumentException iae) { 104 } 105 106 try { 108 permission = new EJBMethodPermission("foo", ",,,"); 109 fail("Empty method parameter"); 110 } catch(IllegalArgumentException iae) { 111 } 112 113 try { 115 permission = new EJBMethodPermission("foo", ",,,,,,"); 116 fail("Empty method parameter"); 117 } catch(IllegalArgumentException iae) { 118 } 119 } 120 121 public void testImpliesStringString() { 122 EJBMethodPermission permissionFooEEE = new EJBMethodPermission("foo", ""); 123 EJBMethodPermission permissionFooMIP = new EJBMethodPermission("foo", "cat,LocalHome,a,b,c,d"); 124 EJBMethodPermission permissionBarEEE = new EJBMethodPermission("bar", ""); 125 EJBMethodPermission permissionFooEIP = new EJBMethodPermission("foo", ",LocalHome,a,b,c,d"); 126 EJBMethodPermission permissionFooEIE = new EJBMethodPermission("foo", ",LocalHome,"); 127 EJBMethodPermission permissionFooEI = new EJBMethodPermission("foo", ",LocalHome"); 128 129 assertTrue(permissionFooEEE.implies(permissionFooEEE)); 130 assertTrue(permissionFooEEE.implies(permissionFooMIP)); 131 assertTrue(permissionFooEEE.implies(permissionFooEIP)); 132 assertTrue(permissionFooEEE.implies(permissionFooEIE)); 133 assertTrue(permissionFooEEE.implies(permissionFooEI)); 134 assertFalse(permissionFooMIP.implies(permissionFooEEE)); 135 136 assertTrue(permissionFooEEE.equals(permissionFooEEE)); 137 assertFalse(permissionFooEEE.equals(permissionFooMIP)); 138 assertFalse(permissionFooMIP.equals(permissionFooEEE)); 139 140 assertFalse(permissionFooEEE.implies(permissionBarEEE)); 141 assertFalse(permissionBarEEE.implies(permissionFooEEE)); 142 143 assertFalse(permissionFooEEE.equals(permissionBarEEE)); 144 assertFalse(permissionBarEEE.equals(permissionFooEEE)); 145 146 assertTrue(permissionFooEIP.implies(permissionFooMIP)); 147 assertFalse(permissionFooEIE.implies(permissionFooMIP)); 148 assertTrue(permissionFooEI.implies(permissionFooMIP)); 149 assertTrue(permissionFooEI.implies(permissionFooEIP)); 150 assertTrue(permissionFooEI.implies(permissionFooEIE)); 151 152 assertFalse(permissionFooEEE.hashCode() == permissionBarEEE.hashCode()); 153 } 154 155 158 public void testConstructorStringStringStringStringArray() { 159 160 EJBMethodPermission permission = new EJBMethodPermission("foo", null, null, null); 162 163 permission = new EJBMethodPermission("foo", "", "", null); 165 permission = new EJBMethodPermission("foo", "cat", "", null); 166 167 permission = new EJBMethodPermission("foo", "", "ServiceEndpoint", null); 169 permission = new EJBMethodPermission("foo", "cat", "ServiceEndpoint", null); 170 171 permission = new EJBMethodPermission("foo", "", "", new String[]{}); 173 permission = new EJBMethodPermission("foo", "cat", "", new String[]{}); 174 permission = new EJBMethodPermission("foo", "", "Home", new String[]{}); 175 permission = new EJBMethodPermission("foo", "cat", "Home", new String[] {}); 176 permission = new EJBMethodPermission("foo", "", "", new String[] { "a", "b", "c", "d" }); 177 permission = new EJBMethodPermission("foo", "cat", "", new String[] { "a", "b", "c", "d" }); 178 permission = new EJBMethodPermission("foo", "", "Home", new String[] { "a", "b", "c", "d" }); 179 permission = new EJBMethodPermission("foo", "cat", "Home", new String[] { "a", "b", "c", "d" }); 180 181 182 permission = new EJBMethodPermission("foo", "cat", "Home", new String[] { "a", "b", "c", "d" }); 184 permission = new EJBMethodPermission("foo", "cat", "LocalHome", new String[] { "a", "b", "c", "d" }); 185 permission = new EJBMethodPermission("foo", "cat", "Remote", new String[] { "a", "b", "c", "d" }); 186 permission = new EJBMethodPermission("foo", "cat", "Local", new String[] { "a", "b", "c", "d" }); 187 permission = new EJBMethodPermission("foo", "cat", "ServiceEndpoint", new String[] { "a", "b", "c", "d" }); 188 189 assertEquals(permission.getName(), "foo"); 190 assertEquals(permission.getActions(), "cat,ServiceEndpoint,a,b,c,d"); 191 192 193 try { 195 permission = new EJBMethodPermission("foo", "cat", "Interface", new String[] { "a", "b", "c", "d" }); 196 fail("Bad method interface"); 197 } catch(IllegalArgumentException iae) { 198 } 199 } 200 201 public void testImpliesStringStringStringStringArray() { 202 EJBMethodPermission permissionFooEEE = new EJBMethodPermission("foo", "", "", null); 203 EJBMethodPermission permissionFooMIP = new EJBMethodPermission("foo", "cat", "LocalHome", new String[] { "a", "b", "c", "d" }); 204 EJBMethodPermission permissionBarEEE = new EJBMethodPermission("bar", "", "", new String[] {}); 205 EJBMethodPermission permissionFooEIP = new EJBMethodPermission("foo", "", "LocalHome", new String[] { "a", "b", "c", "d" }); 206 EJBMethodPermission permissionFooEIE = new EJBMethodPermission("foo", "", "LocalHome", new String[] {}); 207 EJBMethodPermission permissionFooEI = new EJBMethodPermission("foo", "", "LocalHome", null); 208 209 assertTrue(permissionFooEEE.implies(permissionFooEEE)); 210 assertTrue(permissionFooEEE.implies(permissionFooMIP)); 211 assertTrue(permissionFooEEE.implies(permissionFooEIP)); 212 assertTrue(permissionFooEEE.implies(permissionFooEIE)); 213 assertTrue(permissionFooEEE.implies(permissionFooEI)); 214 assertFalse(permissionFooMIP.implies(permissionFooEEE)); 215 216 assertTrue(permissionFooEEE.equals(permissionFooEEE)); 217 assertFalse(permissionFooEEE.equals(permissionFooMIP)); 218 assertFalse(permissionFooMIP.equals(permissionFooEEE)); 219 220 assertFalse(permissionFooEEE.implies(permissionBarEEE)); 221 assertFalse(permissionBarEEE.implies(permissionFooEEE)); 222 223 assertFalse(permissionFooEEE.equals(permissionBarEEE)); 224 assertFalse(permissionBarEEE.equals(permissionFooEEE)); 225 226 assertTrue(permissionFooEIP.implies(permissionFooMIP)); 227 assertFalse(permissionFooEIE.implies(permissionFooMIP)); 228 assertTrue(permissionFooEI.implies(permissionFooMIP)); 229 assertTrue(permissionFooEI.implies(permissionFooEIP)); 230 assertTrue(permissionFooEI.implies(permissionFooEIE)); 231 232 assertFalse(permissionFooEEE.hashCode() == permissionBarEEE.hashCode()); 233 } 234 235 238 public void testConstructorStringStringMethod() { 239 240 EJBMethodPermission permission = new EJBMethodPermission("foo", "ServiceEndpoint", method); 241 242 permission = new EJBMethodPermission("foo", null, method); 243 permission = new EJBMethodPermission("foo", "", method); 244 245 permission = new EJBMethodPermission("foo", "Home", method); 246 permission = new EJBMethodPermission("foo", "LocalHome", method); 247 permission = new EJBMethodPermission("foo", "Remote", method); 248 permission = new EJBMethodPermission("foo", "Local", method); 249 permission = new EJBMethodPermission("foo", "ServiceEndpoint", method); 250 251 assertEquals(permission.getName(), "foo"); 252 assertEquals(permission.getActions(), "cat,ServiceEndpoint,java.lang.Integer,java.lang.Float,java.lang.Long,java.lang.Double"); 253 254 try { 256 permission = new EJBMethodPermission("foo", "ServiceEndpoint", null); 257 fail("Parameter method must not be null"); 258 } catch(IllegalArgumentException iae) { 259 } 260 } 261 262 public void testImpliesStringStringMethod() { 263 } 264 265 class TestClass { 266 public Object cat(Integer a, Float b, Long c, Double d) { 267 return null; 268 } 269 } 270 } 271 272 | Popular Tags |