1 22 package org.jboss.test.aop.jdk15.dynamic.prepareConstructor; 23 24 import org.jboss.test.aop.AOPTestDelegate; 25 import org.jboss.test.aop.AOPTestWithSetup; 26 import org.jboss.test.aop.jdk15.dynamic.common.BindingInterceptor; 27 import org.jboss.test.aop.jdk15.dynamic.common.InstanceInterceptor; 28 import org.jboss.test.aop.jdk15.dynamic.common.InterceptionsCount; 29 import org.jboss.test.aop.jdk15.dynamic.common.POJOWrappingInfo; 30 import org.jboss.test.aop.jdk15.dynamic.common.ScenarioLoader; 31 32 33 39 public class HotSwapDisabledTester extends AOPTestWithSetup 40 { 41 private ScenarioLoader scenarioLoader; 42 43 public HotSwapDisabledTester(String name) 44 { 45 super(name); 46 } 47 48 51 public void setUp() throws Exception 52 { 53 super.setUp(); 54 this.scenarioLoader = new ScenarioLoader(((AOPTestDelegate)getDelegate()).getSystemProperties()); 55 } 56 57 61 private void assertOnlyConstructorWrapped(POJOWrappingInfo[] wrappingInfos) throws Exception 62 { 63 for (int i = 0; i < wrappingInfos.length; i++) 64 { 65 assertTrue(wrappingInfos[i].isConstructorWrapped()); 66 assertFalse(wrappingInfos[i].isFieldReadWrapped()); 67 assertFalse(wrappingInfos[i].isFieldWriteWrapped()); 68 assertFalse(wrappingInfos[i].isMethodWrapped()); 69 } 70 } 71 72 78 public void testPerClassLoadAfterInterception() throws Throwable 79 { 80 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerClassLoadAfter(); 82 if (((AOPTestDelegate)getDelegate()).getSystemProperties().getProperty("java5Agent") != null) 84 { 85 for (int i = 0; i < wrappingInfos.length; i++) 87 { 88 assertTrue(wrappingInfos[i].isConstructorWrapped()); 89 assertTrue(wrappingInfos[i].isFieldReadWrapped()); 90 assertTrue(wrappingInfos[i].isFieldWriteWrapped()); 91 assertTrue(wrappingInfos[i].isMethodWrapped()); 92 } 93 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 95 assertEquals(0, instance.total); 96 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 97 assertEquals(4, binding.total); 98 assertEquals(2, binding.constructor); 99 assertEquals(0, binding.fieldRead); 100 assertEquals(0, binding.fieldWrite); 101 assertEquals(2, binding.method); 102 return; 103 } 104 assertOnlyConstructorWrapped(wrappingInfos); 106 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 108 assertEquals(0, instance.total); 109 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 110 assertEquals(2, binding.total); 111 assertEquals(2, binding.constructor); 112 assertEquals(0, binding.fieldRead); 113 assertEquals(0, binding.fieldWrite); 114 assertEquals(0, binding.method); 115 } 116 117 123 public void testPerClassLoadBeforeInterception() throws Throwable 124 { 125 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerClassLoadBefore(); 127 assertOnlyConstructorWrapped(wrappingInfos); 129 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 131 assertEquals(0, instance.total); 132 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 133 assertEquals(1, binding.total); 134 assertEquals(1, binding.constructor); 135 assertEquals(0, binding.fieldRead); 136 assertEquals(0, binding.fieldWrite); 137 assertEquals(0, binding.method); 138 } 139 140 146 public void testAddAndRemoveBindingTwice() throws Throwable 147 { 148 POJOWrappingInfo[] wrappingInfos = scenarioLoader.addAndRemoveBindingTwice(); 150 assertOnlyConstructorWrapped(wrappingInfos); 152 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 154 assertEquals(0, instance.total); 155 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 156 assertEquals(2, binding.total); 157 assertEquals(2, binding.constructor); 158 assertEquals(0, binding.fieldRead); 159 assertEquals(0, binding.fieldWrite); 160 assertEquals(0, binding.method); 161 } 162 163 169 public void testPerInstanceInterception() throws Throwable 170 { 171 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerInstance(); 173 assertOnlyConstructorWrapped(wrappingInfos); 175 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 177 assertEquals(0, instance.total); 178 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 179 assertEquals(0, binding.total); 180 } 181 182 188 public void testPerInstanceGcInterception() throws Throwable 189 { 190 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerInstanceGC(); 192 assertOnlyConstructorWrapped(wrappingInfos); 194 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 196 assertEquals(0, instance.total); 197 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 198 assertEquals(0, binding.total); 199 } 200 201 207 public void testPerClassPerInstanceInterception() throws Throwable 208 { 209 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerClassPerInstance(); 211 assertOnlyConstructorWrapped(wrappingInfos); 213 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 215 assertEquals(0, instance.total); 216 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 217 assertEquals(1, binding.total); 218 assertEquals(1, binding.constructor); 219 assertEquals(0, binding.fieldRead); 220 assertEquals(0, binding.fieldWrite); 221 assertEquals(0, binding.method); 222 } 223 224 230 public void testPerInstancePerClassInterception() throws Throwable 231 { 232 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerInstancePerClass(); 234 assertOnlyConstructorWrapped(wrappingInfos); 236 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 238 assertEquals(0, instance.total); 239 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 240 assertEquals(1, binding.total); 241 assertEquals(1, binding.constructor); 242 assertEquals(0, binding.fieldRead); 243 assertEquals(0, binding.fieldWrite); 244 assertEquals(0, binding.method); 245 } 246 247 253 public void testAfterBindingRemovalExecution() throws Throwable 254 { 255 POJOWrappingInfo[] wrappingInfos = scenarioLoader.executeAfterBindingRemoval(); 257 assertOnlyConstructorWrapped(wrappingInfos); 259 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 261 assertEquals(0, instance.total); 262 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 263 assertEquals(0, binding.total); 264 } 265 } | Popular Tags |