1 8 9 package test.javax.management; 10 11 import java.io.ByteArrayInputStream ; 12 import java.io.ByteArrayOutputStream ; 13 import java.io.ObjectInputStream ; 14 import java.io.ObjectOutputStream ; 15 16 import javax.management.MBeanServerPermission ; 17 18 21 public class MBeanServerPermissionTest extends PermissionTestCase 22 { 23 public MBeanServerPermissionTest(String s) 24 { 25 super(s); 26 } 27 28 public void testInvalid() throws Exception 29 { 30 try 31 { 32 new MBeanServerPermission (null); 33 fail("Invalid MBeanServerPermission"); 34 } 35 catch (NullPointerException ignored) 36 { 37 } 38 39 try 40 { 41 new MBeanServerPermission (""); 42 fail("Invalid MBeanServerPermission"); 43 } 44 catch (IllegalArgumentException ignored) 45 { 46 } 47 48 try 49 { 50 new MBeanServerPermission (" "); 51 fail("Invalid MBeanServerPermission"); 52 } 53 catch (IllegalArgumentException ignored) 54 { 55 } 56 57 try 58 { 59 new MBeanServerPermission (" , "); 60 fail("Invalid MBeanServerPermission"); 61 } 62 catch (IllegalArgumentException ignored) 63 { 64 } 65 66 try 67 { 68 new MBeanServerPermission ("invalid"); 69 fail("Invalid MBeanServerPermission"); 70 } 71 catch (IllegalArgumentException ignored) 72 { 73 } 74 75 try 76 { 77 new MBeanServerPermission ("*", "invalid"); 78 fail("Invalid MBeanServerPermission"); 79 } 80 catch (IllegalArgumentException ignored) 81 { 82 } 83 } 84 85 public void testValid() throws Exception 86 { 87 new MBeanServerPermission ("*"); 88 new MBeanServerPermission ("*", ""); 89 new MBeanServerPermission ("createMBeanServer"); 90 new MBeanServerPermission ("releaseMBeanServer, findMBeanServer"); 91 new MBeanServerPermission ("newMBeanServer, *"); 92 } 93 94 public void testShuffledAreEquals() throws Exception 95 { 96 MBeanServerPermission mbsp1 = new MBeanServerPermission ("createMBeanServer, releaseMBeanServer"); 97 MBeanServerPermission mbsp2 = new MBeanServerPermission ("releaseMBeanServer, createMBeanServer"); 98 99 shouldBeEqual(mbsp1, mbsp2); 100 101 MBeanServerPermission mbsp3 = new MBeanServerPermission ("*"); 102 MBeanServerPermission mbsp4 = new MBeanServerPermission ("releaseMBeanServer, *"); 103 104 shouldBeEqual(mbsp3, mbsp4); 105 } 106 107 public void testCreateImpliesNew() throws Exception 108 { 109 shouldImply(new MBeanServerPermission ("createMBeanServer"), new MBeanServerPermission ("newMBeanServer")); 110 } 111 112 public void testImplies() throws Exception 113 { 114 shouldImply(new MBeanServerPermission ("*"), new MBeanServerPermission ("createMBeanServer")); 115 shouldImply(new MBeanServerPermission ("*"), new MBeanServerPermission ("newMBeanServer")); 116 shouldImply(new MBeanServerPermission ("*"), new MBeanServerPermission ("findMBeanServer")); 117 shouldImply(new MBeanServerPermission ("*"), new MBeanServerPermission ("releaseMBeanServer")); 118 shouldImply(new MBeanServerPermission ("*"), new MBeanServerPermission ("createMBeanServer, releaseMBeanServer")); 119 shouldImply(new MBeanServerPermission ("createMBeanServer, releaseMBeanServer"), new MBeanServerPermission ("createMBeanServer")); 120 shouldImply(new MBeanServerPermission ("createMBeanServer, releaseMBeanServer"), new MBeanServerPermission ("releaseMBeanServer")); 121 } 122 123 public void testNotImplies() 124 { 125 shouldNotImply(new MBeanServerPermission ("createMBeanServer"), new MBeanServerPermission ("releaseMBeanServer")); 126 shouldNotImply(new MBeanServerPermission ("createMBeanServer"), new MBeanServerPermission ("newMBeanServer, releaseMBeanServer")); 127 } 128 129 public void testSerializationDeserialization() throws Exception 130 { 131 MBeanServerPermission permission = new MBeanServerPermission ("newMBeanServer, *"); 132 133 ByteArrayOutputStream baos = new ByteArrayOutputStream (); 134 ObjectOutputStream oos = new ObjectOutputStream (baos); 135 oos.writeObject(permission); 136 oos.close(); 137 138 ByteArrayInputStream bais = new ByteArrayInputStream (baos.toByteArray()); 139 ObjectInputStream ois = new ObjectInputStream (bais); 140 MBeanServerPermission deserialized = (MBeanServerPermission )ois.readObject(); 141 ois.close(); 142 143 if (!(deserialized.equals(permission))) fail("Serialization/Deserialization failed"); 144 } 145 } 146 | Popular Tags |