1 package org.apache.axis2.phaserule; 2 3 import junit.framework.TestCase; 4 import org.apache.axis2.context.ConfigurationContext; 5 import org.apache.axis2.context.MessageContext; 6 import org.apache.axis2.description.HandlerDescription; 7 import org.apache.axis2.description.PhaseRule; 8 import org.apache.axis2.engine.AxisConfigurationImpl; 9 import org.apache.axis2.engine.AxisFault; 10 import org.apache.axis2.engine.Handler; 11 import org.apache.axis2.engine.Phase; 12 import org.apache.axis2.phaseresolver.PhaseHolder; 13 14 import javax.xml.namespace.QName ; 15 import java.util.ArrayList ; 16 17 34 35 40 public class InvalidPhaselastTest extends TestCase{ 41 42 public void testInvalidPhaseLast() { 43 try { 44 ArrayList phases = new ArrayList (); 45 Phase p1 = new Phase("PhaseA"); 46 phases.add(p1); 47 Phase p2 = new Phase("PhaseB"); 48 phases.add(p2); 49 50 MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl())); 51 52 PhaseHolder ph = new PhaseHolder(phases); 53 HandlerDescription hm = new HandlerDescription(); 54 hm.setClassName("org.apache.axis2.phaserule.PhaseRuleHandlers"); 55 Handler h1 = new PhaseRuleHandlers(); 56 h1.init(hm); 57 ((PhaseRuleHandlers) h1).setName(new QName ("PhaseLast")); 58 hm.setHandler(h1); 59 hm.setName(new QName ("H1")); 60 PhaseRule rule = new PhaseRule(); 61 rule.setPhaseName("PhaseA"); 62 rule.setPhaseLast(true); 63 hm.setRules(rule); 64 ph.addHandler(hm); 65 66 HandlerDescription hm1 = new HandlerDescription(); 67 hm1.setClassName("org.apache.axis2.phaserule.PhaseRuleHandlers"); 68 Handler h2 = new PhaseRuleHandlers(); 69 ((PhaseRuleHandlers) h2).setName(new QName ("Second Handler")); 70 h2.init(hm1); 71 hm1.setHandler(h2); 72 hm1.setName(new QName ("H2")); 73 PhaseRule rule1 = new PhaseRule(); 74 rule1.setPhaseName("PhaseA"); 75 rule1.setPhaseLast(true); 76 hm1.setRules(rule1); 77 ph.addHandler(hm1); 78 fail("This should be faild with Phaselast alredy has been set, cannot have two " + 79 "phaseFirst Handler for same phase "); 80 } catch (AxisFault axisFault) { 81 return; 82 } 83 84 } 85 } 86 | Popular Tags |