You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by de...@apache.org on 2005/05/20 11:28:56 UTC
svn commit: r171087 -
/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule
Author: deepal
Date: Fri May 20 02:28:54 2005
New Revision: 171087
URL: http://svn.apache.org/viewcvs?rev=171087&view=rev
Log:
adding new test cases for PhaseRule testing
Added:
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeAfterTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeWithNoFirstHandlerTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstRulesTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseLastRuleTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaselastTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseFirstTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseLastTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/SingleHandlerPhaseTest.java
Modified:
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseRuleTest.java
webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseRuleHandlers.java
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeAfterTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeAfterTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeAfterTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeAfterTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,137 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.engine.Phase;
+import org.apache.axis.phaseresolver.PhaseHolder;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*
+*/
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 3:05:50 PM
+ */
+public class BeforeAfterTest extends TestCase {
+
+ public void testBeforeAfter() {
+ try {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("First"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Forth"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+
+
+ HandlerDescription hm3 = new HandlerDescription();
+ hm3.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h3 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h3).setName(new QName("Second"));
+ h3.init(hm3);
+ hm3.setHandler(h3);
+ hm3.setName(new QName("H3"));
+ PhaseRule rule3 = new PhaseRule();
+ rule3.setPhaseName("PhaseA");
+ rule3.setAfter("H1");
+ hm3.setRules(rule3);
+ ph.addHandler(hm3);
+
+ HandlerDescription hm4 = new HandlerDescription();
+ hm4.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h4 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h4).setName(new QName("Third"));
+ h4.init(hm4);
+ hm4.setHandler(h4);
+ hm4.setName(new QName("H4"));
+ PhaseRule rule4 = new PhaseRule();
+ rule4.setPhaseName("PhaseA");
+ rule4.setAfter("H1");
+ rule4.setBefore("H2");
+ hm4.setRules(rule4);
+ ph.addHandler(hm4);
+
+ ArrayList handlers = p1.getHandlers();
+
+ for (int i = 0; i < handlers.size(); i++) {
+ Handler handler = (Handler) handlers.get(i);
+ System.out.println("handler = " + handler.getName());
+ }
+
+ Handler handler = (Handler) handlers.get(0);
+ if(!handler.getName().equals(new QName("First"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ handler = (Handler) handlers.get(1);
+ if(!handler.getName().equals(new QName("Third"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ handler = (Handler) handlers.get(2);
+ if(!handler.getName().equals(new QName("Second"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+
+ handler = (Handler) handlers.get(3);
+ if(!handler.getName().equals(new QName("Forth"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+
+ } catch (AxisFault axisFault) {
+ return;
+ }
+
+ }
+}
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,91 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.Phase;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.phaseresolver.PhaseHolder;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 3:00:54 PM
+ */
+public class BeforeTest extends TestCase{
+
+ public void testBefore() throws AxisFault {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("First"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ rule1.setBefore("H1");
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+
+ ArrayList handlers = p1.getHandlers();
+ Handler handler = (Handler) handlers.get(0);
+ if(!handler.getName().equals(new QName("Second"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ handler = (Handler) handlers.get(1);
+ if(!handler.getName().equals(new QName("First"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ p1.invoke(msg);
+ }
+
+}
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeWithNoFirstHandlerTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeWithNoFirstHandlerTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeWithNoFirstHandlerTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/BeforeWithNoFirstHandlerTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,91 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.Phase;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.phaseresolver.PhaseHolder;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 3:04:42 PM
+ */
+public class BeforeWithNoFirstHandlerTest extends TestCase{
+ public void testBeforewithNoFirst() throws AxisFault {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ rule1.setBefore("H1");
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("First"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ ArrayList handlers = p1.getHandlers();
+ Handler handler = (Handler) handlers.get(0);
+ if(!handler.getName().equals(new QName("Second"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ handler = (Handler) handlers.get(1);
+ if(!handler.getName().equals(new QName("First"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ p1.invoke(msg);
+ }
+}
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstRulesTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstRulesTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstRulesTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstRulesTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,86 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.Phase;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.phaseresolver.PhaseHolder;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 2:43:27 PM
+ */
+public class InvalidPhaseFirstRulesTest extends TestCase{
+
+ public void testInvalidPhaseFirst1() {
+ try {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("PhaseFirstHnadler"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ rule.setPhaseFirst(true);
+ rule.setBefore("H2");
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second Handler"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+ fail("Handler with PhaseFirst can not have any before or after proprty error in ");
+ } catch (AxisFault axisFault) {
+ return;
+ }
+
+ }
+}
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseFirstTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,88 @@
+package org.apache.axis.phaserule;
+
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.Phase;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.phaseresolver.PhaseHolder;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+
+import junit.framework.TestCase;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 2:40:30 PM
+ */
+public class InvalidPhaseFirstTest extends TestCase{
+
+ public void testInvalidPhaseFirst1() {
+ try {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("PhaseFirstHnadler"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ rule.setPhaseFirst(true);
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second Handler"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ rule1.setPhaseFirst(true);
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+ fail("This should be faild with PhaseFirst alredy has been set, cannot have two " +
+ "phaseFirst Handler for same phase ");
+ } catch (AxisFault axisFault) {
+ return;
+ }
+
+ }
+}
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseLastRuleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseLastRuleTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseLastRuleTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseLastRuleTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,88 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+
+import java.util.ArrayList;
+
+import org.apache.axis.engine.Phase;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.phaseresolver.PhaseHolder;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+
+import javax.xml.namespace.QName;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 2:54:50 PM
+ */
+public class InvalidPhaseLastRuleTest extends TestCase{
+
+ public void testInvalidPhaseLast() {
+ try {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("PhaseFirstHnadler"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ rule.setPhaseLast(true);
+ rule.setBefore("H2");
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second Handler"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+ fail("Handler with PhaseFirst can not have any before or after proprty error in ");
+ } catch (AxisFault axisFault) {
+ return;
+ }
+
+ }
+}
Modified: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseRuleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseRuleTest.java?rev=171087&r1=171086&r2=171087&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseRuleTest.java (original)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaseRuleTest.java Fri May 20 02:28:54 2005
@@ -82,13 +82,6 @@
rule3.setPhaseName("Logging");
hm3.setRules(rule3);
ph.addHandler(hm3);
-
-
- /* ArrayList oh = ph.getOrderHandler();
- for (int i = 0; i < oh.size(); i++) {
- HandlerDescription metadata = (HandlerDescription) oh.get(i);
- System.out.println("Name:" + metadata.getName().getLocalPart());
- }*/
fail("this must failed gracefully with PhaseException ");
} catch (Exception e) {
e.printStackTrace();
@@ -99,7 +92,7 @@
public void testInvalidPhaseRule2() {
try {
super.setUp();
- //TODO Fix me
+
phaserul = new InvalidPhaseRuleTest("");
axisSytem = new AxisConfigurationImpl();
ArrayList inPhase = axisSytem.getInPhasesUptoAndIncludingPostDispatch();
@@ -135,11 +128,6 @@
hm1.setRules(rule1);
ph.addHandler(hm1);
- /* ArrayList oh = ph.getOrderHandler();
- for (int i = 0; i < oh.size(); i++) {
- HandlerDescription metadata = (HandlerDescription) oh.get(i);
- System.out.println("Name:" + metadata.getName().getLocalPart());
- }*/
fail("this must failed gracefully with PhaseException ");
} catch (Exception e) {
e.printStackTrace();
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaselastTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaselastTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaselastTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/InvalidPhaselastTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,89 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+
+import java.util.ArrayList;
+
+import org.apache.axis.engine.Phase;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.phaseresolver.PhaseHolder;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+
+import javax.xml.namespace.QName;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 2:53:05 PM
+ */
+public class InvalidPhaselastTest extends TestCase{
+
+ public void testInvalidPhaseLast() {
+ try {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("PhaseLast"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ rule.setPhaseLast(true);
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second Handler"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ rule1.setPhaseLast(true);
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+ fail("This should be faild with Phaselast alredy has been set, cannot have two " +
+ "phaseFirst Handler for same phase ");
+ } catch (AxisFault axisFault) {
+ return;
+ }
+
+ }
+}
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseFirstTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseFirstTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseFirstTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseFirstTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,92 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.engine.Phase;
+import org.apache.axis.phaseresolver.PhaseHolder;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 1:57:35 PM
+ */
+public class PhaseFirstTest extends TestCase {
+
+ public void testPhaseFirst() throws AxisFault {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("PhaseFirstHnadler"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ rule.setPhaseFirst(true);
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second Handler"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ rule1.setAfter("H1");
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+
+ ArrayList handlers = p1.getHandlers();
+ Handler handler = (Handler) handlers.get(0);
+ if(!handler.getName().equals(new QName("PhaseFirstHnadler"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ handler = (Handler) handlers.get(1);
+ if(!handler.getName().equals(new QName("Second Handler"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ p1.invoke(msg);
+ }
+
+}
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseLastTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseLastTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseLastTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseLastTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,92 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.Phase;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.phaseresolver.PhaseHolder;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 2:50:44 PM
+ */
+public class PhaseLastTest extends TestCase{
+
+ public void testPhaseLast() throws AxisFault {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("PhaseLast"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ rule.setPhaseLast(true);
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second Handler"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ rule1.setAfter("H1");
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+
+ ArrayList handlers = p1.getHandlers();
+ Handler handler = (Handler) handlers.get(0);
+ if(!handler.getName().equals(new QName("Second Handler"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+ handler = (Handler) handlers.get(1);
+ if(!handler.getName().equals(new QName("PhaseLast"))){
+ fail("Computed Hnadler order is wrong ");
+ }
+
+ p1.invoke(msg);
+ }
+}
Modified: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseRuleHandlers.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseRuleHandlers.java?rev=171087&r1=171086&r2=171087&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseRuleHandlers.java (original)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/PhaseRuleHandlers.java Fri May 20 02:28:54 2005
@@ -47,11 +47,12 @@
}
public void invoke(MessageContext msgContext) throws AxisFault {
- log.info("I am " + message + " Handler Running :)");
+ System.out.println("I am " + name + " Handler Running :)");
+ log.info("I am " + name + " Handler Running :)");
}
public void revoke(MessageContext msgContext) {
- log.info("I am " + message + " Handler Running :)");
+ log.info("I am " + name + " Handler Running :)");
}
public void setName(QName name) {
Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/SingleHandlerPhaseTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/SingleHandlerPhaseTest.java?rev=171087&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/SingleHandlerPhaseTest.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/phaserule/SingleHandlerPhaseTest.java Fri May 20 02:28:54 2005
@@ -0,0 +1,88 @@
+package org.apache.axis.phaserule;
+
+import junit.framework.TestCase;
+import org.apache.axis.addressing.MessageInformationHeadersCollection;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.description.HandlerDescription;
+import org.apache.axis.description.PhaseRule;
+import org.apache.axis.engine.AxisConfigurationImpl;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.Handler;
+import org.apache.axis.engine.Phase;
+import org.apache.axis.phaseresolver.PhaseHolder;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+/**
+ * Author : Deepal Jayasinghe
+ * Date: May 20, 2005
+ * Time: 2:57:21 PM
+ */
+public class SingleHandlerPhaseTest extends TestCase {
+
+ public void testSingleHandler() {
+ try {
+ ArrayList phases = new ArrayList();
+ Phase p1 = new Phase("PhaseA");
+ phases.add(p1);
+ Phase p2 = new Phase("PhaseB");
+ phases.add(p2);
+
+ MessageContext msg = new MessageContext(new ConfigurationContext(new AxisConfigurationImpl()),
+ new MessageInformationHeadersCollection());
+
+ PhaseHolder ph = new PhaseHolder(phases);
+ HandlerDescription hm = new HandlerDescription();
+ hm.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h1 = new PhaseRuleHandlers();
+ h1.init(hm);
+ ((PhaseRuleHandlers) h1).setName(new QName("PhaseFirstHnadler"));
+ hm.setHandler(h1);
+ hm.setName(new QName("H1"));
+ PhaseRule rule = new PhaseRule();
+ rule.setPhaseName("PhaseA");
+ rule.setPhaseFirst(true);
+ rule.setPhaseLast(true);
+ hm.setRules(rule);
+ ph.addHandler(hm);
+
+ HandlerDescription hm1 = new HandlerDescription();
+ hm1.setClassName("org.apache.axis.phaserule.PhaseRuleHandlers");
+ Handler h2 = new PhaseRuleHandlers();
+ ((PhaseRuleHandlers) h2).setName(new QName("Second Handler"));
+ h2.init(hm1);
+ hm1.setHandler(h2);
+ hm1.setName(new QName("H2"));
+ PhaseRule rule1 = new PhaseRule();
+ rule1.setPhaseName("PhaseA");
+ rule1.setAfter("H1");
+ hm1.setRules(rule1);
+ ph.addHandler(hm1);
+ p1.invoke(msg);
+ fail("This should fail with : can only have one handler, since there is a " +
+ "handler with both phaseFirst and PhaseLast true ");
+ } catch (AxisFault axisFault) {
+ return;
+ }
+ }
+}