/*
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
* WSO2 Inc. licenses this file to you 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.
*/
package org.apache.synapse.debug;
import junit.framework.TestCase;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.synapse.MessageContext;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.core.axis2.Axis2SynapseEnvironment;
import org.apache.synapse.core.axis2.MessageContextCreatorForAxis2;
import org.apache.synapse.core.axis2.ProxyService;
import org.apache.synapse.inbound.InboundEndpoint;
import org.apache.synapse.mediators.AbstractMediator;
import org.apache.synapse.mediators.TestMediateHandler;
import org.apache.synapse.mediators.TestMediator;
import org.apache.synapse.mediators.TestUtils;
import org.apache.synapse.mediators.base.SequenceMediator;
import org.apache.synapse.mediators.template.TemplateMediator;
import java.util.HashSet;
public class DebugManagerTest extends TestCase {
private static SynapseConfiguration synConfig;
private static Axis2SynapseEnvironment synEnv;
private static SynapseDebugManager dm;
private StringBuffer result = new StringBuffer();
static {
setupTestEnvironment();
}
public static void setupTestEnvironment() {
synConfig = new SynapseConfiguration();
synEnv = new Axis2SynapseEnvironment(synConfig);
synEnv.setDebugEnabled(true);
dm = SynapseDebugManager.getInstance();
dm.init(synConfig, null, synEnv, false);
synEnv.setDebugEnabled(false);
synEnv.setSynapseDebugManager(dm);
}
public void testDebugManagerProcessCommandSetBreakPointSequence() throws Exception {
TestMediator t1 = new TestMediator();
TestMediator t2 = new TestMediator();
TestMediator t3 = new TestMediator();
SequenceMediator seq = new SequenceMediator();
seq.addChild(t1);
seq.addChild(t2);
seq.addChild(t3);
synConfig.addSequence("test_sequence_1", seq);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_1\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator) seq.getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandClearBreakPointSequence() throws Exception {
TestMediator t1 = new TestMediator();
TestMediator t2 = new TestMediator();
TestMediator t3 = new TestMediator();
SequenceMediator seq = new SequenceMediator();
seq.addChild(t1);
seq.addChild(t2);
seq.addChild(t3);
synConfig.addSequence("test_sequence_2", seq);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_2\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"clear\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_2\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
assertTrue(!((AbstractMediator) seq.getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandSetSkipSequence() throws Exception {
TestMediator t1 = new TestMediator();
TestMediator t2 = new TestMediator();
TestMediator t3 = new TestMediator();
SequenceMediator seq = new SequenceMediator();
seq.addChild(t1);
seq.addChild(t2);
seq.addChild(t3);
synConfig.addSequence("test_sequence_3", seq);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_3\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator) seq.getChild(0)).isSkipEnabled());
}
public void testDebugManagerProcessCommandClearSkipSequence() throws Exception {
TestMediator t1 = new TestMediator();
TestMediator t2 = new TestMediator();
TestMediator t3 = new TestMediator();
SequenceMediator seq = new SequenceMediator();
seq.addChild(t1);
seq.addChild(t2);
seq.addChild(t3);
synConfig.addSequence("test_sequence_4", seq);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_4\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"clear\",\"command-argument\":\"skip\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_4\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
assertTrue(!((AbstractMediator) seq.getChild(0)).isSkipEnabled());
}
public void testSkipSequence() throws Exception {
TestMediator t1 = new TestMediator();
t1.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T1.");
}
});
TestMediator t2 = new TestMediator();
t2.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T2.");
}
});
TestMediator t3 = new TestMediator();
t3.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T3");
}
});
SequenceMediator seq = new SequenceMediator();
seq.addChild(t1);
seq.addChild(t2);
seq.addChild(t3);
synConfig.addSequence("test_sequence_5", seq);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_5\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_5\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"1\"}}";
dm.processDebugCommand(debug_command);
synEnv.setDebugEnabled(true);
MessageContextCreatorForAxis2.setSynConfig(synConfig);
MessageContextCreatorForAxis2.setSynEnv(synEnv);
org.apache.axis2.context.MessageContext mc =
new org.apache.axis2.context.MessageContext();
AxisConfiguration axisConfig = synConfig.getAxisConfiguration();
if (axisConfig == null) {
axisConfig = new AxisConfiguration();
synConfig.setAxisConfiguration(axisConfig);
}
ConfigurationContext cfgCtx = new ConfigurationContext(axisConfig);
mc.setConfigurationContext(cfgCtx);
mc.setEnvelope(TestUtils.getTestContext("<empty/>").getEnvelope());
MessageContext synCtx = MessageContextCreatorForAxis2.getSynapseMessageContext(mc);
seq.mediate(synCtx);
assertTrue("T3".equals(result.toString()));
synEnv.setDebugEnabled(false);
}
public void testBreakPointSequence() throws Exception {
TestMediator t1 = new TestMediator();
t1.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T1.");
}
});
TestMediator t2 = new TestMediator();
t2.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T2.");
}
});
TestMediator t3 = new TestMediator();
t3.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T3");
}
});
SequenceMediator seq = new SequenceMediator();
seq.addChild(t1);
seq.addChild(t2);
seq.addChild(t3);
synConfig.addSequence("test_sequence_6", seq);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_6\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"sequence-key\":\"test_sequence_6\"," +
"\"sequence-type\": \"named\",\"mediator-position\": \"1\"}}";
dm.processDebugCommand(debug_command);
MessageContext synCtx = TestUtils.getTestContext("<empty/>");
seq.mediate(synCtx);
assertTrue("T1.T2.T3".equals(result.toString()));
}
public void testDebugManagerProcessCommandSetBreakPointTemplate() throws Exception {
TestMediator t1 = new TestMediator();
TestMediator t2 = new TestMediator();
TestMediator t3 = new TestMediator();
TemplateMediator temp = new TemplateMediator();
temp.addChild(t1);
temp.addChild(t2);
temp.addChild(t3);
temp.setName("test_sequence_template_1");
synConfig.addSequenceTemplate(temp.getName(), temp);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"template\",\"template\":{\"template-key\":\"test_sequence_template_1\"," +
"\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator) temp.getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandClearBreakPointTemplate() throws Exception {
TestMediator t1 = new TestMediator();
TestMediator t2 = new TestMediator();
TestMediator t3 = new TestMediator();
TemplateMediator temp = new TemplateMediator();
temp.addChild(t1);
temp.addChild(t2);
temp.addChild(t3);
temp.setName("test_sequence_template_2");
synConfig.addSequenceTemplate(temp.getName(), temp);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"template\",\"template\":{\"template-key\":\"test_sequence_template_2\"," +
"\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"clear\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"template\",\"template\":{\"template-key\":\"test_sequence_template_2\"," +
"\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
assertTrue(!((AbstractMediator) temp.getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandSetSkipTemplate() throws Exception {
TestMediator t1 = new TestMediator();
TestMediator t2 = new TestMediator();
TestMediator t3 = new TestMediator();
TemplateMediator temp = new TemplateMediator();
temp.addChild(t1);
temp.addChild(t2);
temp.addChild(t3);
temp.setName("test_sequence_template_3");
synConfig.addSequenceTemplate(temp.getName(), temp);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\"," +
"\"mediation-component\":\"template\",\"template\":{\"template-key\":\"test_sequence_template_3\"," +
"\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator) temp.getChild(0)).isSkipEnabled());
}
public void testDebugManagerProcessCommandClearSkipTemplate() throws Exception {
TestMediator t1 = new TestMediator();
TestMediator t2 = new TestMediator();
TestMediator t3 = new TestMediator();
TemplateMediator temp = new TemplateMediator();
temp.addChild(t1);
temp.addChild(t2);
temp.addChild(t3);
temp.setName("test_sequence_template_4");
synConfig.addSequenceTemplate(temp.getName(), temp);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\"," +
"\"mediation-component\":\"template\",\"template\":{\"template-key\":\"test_sequence_template_4\"," +
"\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"clear\",\"command-argument\":\"skip\",\"mediation-component\":\"template\"," +
"\"template\":{\"template-key\":\"test_sequence_template_4\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
assertTrue(!((AbstractMediator) temp.getChild(0)).isSkipEnabled());
}
public void testSkipTemplate() throws Exception {
TestMediator t1 = new TestMediator();
t1.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T1.");
}
});
TestMediator t2 = new TestMediator();
t2.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T2.");
}
});
TestMediator t3 = new TestMediator();
t3.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T3");
}
});
TemplateMediator temp = new TemplateMediator();
temp.addChild(t1);
temp.addChild(t2);
temp.addChild(t3);
temp.setName("test_sequence_template_5");
temp.setParameters(new HashSet<String>());
synConfig.addSequenceTemplate(temp.getName(), temp);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\",\"mediation-component\":\"template\"," +
"\"template\":{\"template-key\":\"test_sequence_template_5\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\",\"mediation-component\":\"template\"," +
"\"template\":{\"template-key\":\"test_sequence_template_5\",\"mediator-position\": \"1\"}}";
dm.processDebugCommand(debug_command);
synEnv.setDebugEnabled(true);
MessageContextCreatorForAxis2.setSynConfig(synConfig);
MessageContextCreatorForAxis2.setSynEnv(synEnv);
org.apache.axis2.context.MessageContext mc =
new org.apache.axis2.context.MessageContext();
AxisConfiguration axisConfig = synConfig.getAxisConfiguration();
if (axisConfig == null) {
axisConfig = new AxisConfiguration();
synConfig.setAxisConfiguration(axisConfig);
}
ConfigurationContext cfgCtx = new ConfigurationContext(axisConfig);
mc.setConfigurationContext(cfgCtx);
mc.setEnvelope(TestUtils.getTestContext("<empty/>").getEnvelope());
MessageContext synCtx = MessageContextCreatorForAxis2.getSynapseMessageContext(mc);
temp.mediate(synCtx);
assertTrue("T3".equals(result.toString()));
synEnv.setDebugEnabled(false);
}
public void testBreakPointTemplate() throws Exception {
TestMediator t1 = new TestMediator();
t1.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T1.");
}
});
TestMediator t2 = new TestMediator();
t2.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T2.");
}
});
TestMediator t3 = new TestMediator();
t3.setHandler(
new TestMediateHandler() {
public void handle(MessageContext synCtx) {
result.append("T3");
}
});
TemplateMediator temp = new TemplateMediator();
temp.addChild(t1);
temp.addChild(t2);
temp.addChild(t3);
temp.setName("test_sequence_template_6");
temp.setParameters(new HashSet<String>());
synConfig.addSequenceTemplate(temp.getName(), temp);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\",\"mediation-component\":" +
"\"template\",\"template\":{\"template-key\":\"test_sequence_template_6\",\"mediator-position\": \"0\"}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\",\"mediation-component\":\"template\"," +
"\"template\":{\"template-key\":\"test_sequence_template_6\",\"mediator-position\": \"1\"}}";
dm.processDebugCommand(debug_command);
MessageContext synCtx = TestUtils.getTestContext("<empty/>");
synEnv.setDebugEnabled(false);
temp.mediate(synCtx);
assertTrue("T1.T2.T3".equals(result.toString()));
}
public void testDebugManagerProcessCommandSetBreakPointProxyInSequence() throws Exception {
ProxyService ps = new ProxyService("test_proxy_1");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator inSeq = new SequenceMediator();
inSeq.addChild(in1);
inSeq.addChild(in2);
inSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator outSeq = new SequenceMediator();
outSeq.addChild(out1);
outSeq.addChild(out2);
outSeq.addChild(out3);
ps.setTargetInLineInSequence(inSeq);
ps.setTargetInLineOutSequence(inSeq);
synConfig.addProxyService(ps.getName(), ps);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_1\",\"sequence-type\":\"proxy_inseq\",\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator) ps.getTargetInLineInSequence().getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandSetBreakPointProxyOutSequence() throws Exception {
ProxyService ps = new ProxyService("test_proxy_2");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator inSeq = new SequenceMediator();
inSeq.addChild(in1);
inSeq.addChild(in2);
inSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator outSeq = new SequenceMediator();
outSeq.addChild(out1);
outSeq.addChild(out2);
outSeq.addChild(out3);
ps.setTargetInLineInSequence(inSeq);
ps.setTargetInLineOutSequence(inSeq);
synConfig.addProxyService(ps.getName(), ps);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_2\",\"sequence-type\":\"proxy_outseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator) ps.getTargetInLineOutSequence().getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandClearBreakPointProxyInSequence() throws Exception {
ProxyService ps = new ProxyService("test_proxy_3");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator inSeq = new SequenceMediator();
inSeq.addChild(in1);
inSeq.addChild(in2);
inSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator outSeq = new SequenceMediator();
outSeq.addChild(out1);
outSeq.addChild(out2);
outSeq.addChild(out3);
ps.setTargetInLineInSequence(inSeq);
ps.setTargetInLineOutSequence(inSeq);
synConfig.addProxyService(ps.getName(), ps);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\"," +
"\"mediation-component\":\"sequence\",\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_3\"," +
"\"sequence-type\":\"proxy_inseq\",\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"clear\",\"command-argument\":\"breakpoint\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_3\"," +
"\"sequence-type\":\"proxy_inseq\",\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(!((AbstractMediator) ps.getTargetInLineInSequence().getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandClearBreakPointProxyOutSequence() throws Exception {
ProxyService ps = new ProxyService("test_proxy_4");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator inSeq = new SequenceMediator();
inSeq.addChild(in1);
inSeq.addChild(in2);
inSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator outSeq = new SequenceMediator();
outSeq.addChild(out1);
outSeq.addChild(out2);
outSeq.addChild(out3);
ps.setTargetInLineInSequence(inSeq);
ps.setTargetInLineOutSequence(inSeq);
synConfig.addProxyService(ps.getName(), ps);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_4\",\"sequence-type\":\"proxy_outseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"clear\",\"command-argument\":\"breakpoint\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_4\",\"sequence-type\":\"proxy_outseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(!((AbstractMediator) ps.getTargetInLineOutSequence().getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandSetSkipProxyInSequence() throws Exception {
ProxyService ps = new ProxyService("test_proxy_5");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator inSeq = new SequenceMediator();
inSeq.addChild(in1);
inSeq.addChild(in2);
inSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator outSeq = new SequenceMediator();
outSeq.addChild(out1);
outSeq.addChild(out2);
outSeq.addChild(out3);
ps.setTargetInLineInSequence(inSeq);
ps.setTargetInLineOutSequence(inSeq);
synConfig.addProxyService(ps.getName(), ps);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_5\",\"sequence-type\":\"proxy_inseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator) ps.getTargetInLineInSequence().getChild(0)).isSkipEnabled());
}
public void testDebugManagerProcessCommandSetSkipProxyOutSequence() throws Exception {
ProxyService ps = new ProxyService("test_proxy_6");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator inSeq = new SequenceMediator();
inSeq.addChild(in1);
inSeq.addChild(in2);
inSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator outSeq = new SequenceMediator();
outSeq.addChild(out1);
outSeq.addChild(out2);
outSeq.addChild(out3);
ps.setTargetInLineInSequence(inSeq);
ps.setTargetInLineOutSequence(inSeq);
synConfig.addProxyService(ps.getName(), ps);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_6\",\"sequence-type\":\"proxy_outseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator) ps.getTargetInLineOutSequence().getChild(0)).isSkipEnabled());
}
public void testDebugManagerProcessCommandClearSkipProxyInSequence() throws Exception {
ProxyService ps = new ProxyService("test_proxy_7");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator inSeq = new SequenceMediator();
inSeq.addChild(in1);
inSeq.addChild(in2);
inSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator outSeq = new SequenceMediator();
outSeq.addChild(out1);
outSeq.addChild(out2);
outSeq.addChild(out3);
ps.setTargetInLineInSequence(inSeq);
ps.setTargetInLineOutSequence(inSeq);
synConfig.addProxyService(ps.getName(), ps);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_7\",\"sequence-type\":\"proxy_inseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"clear\",\"command-argument\":\"skip\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_7\",\"sequence-type\":\"proxy_inseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(!((AbstractMediator) ps.getTargetInLineInSequence().getChild(0)).isSkipEnabled());
}
public void testDebugManagerProcessCommandClearSkipProxyOutSequence() throws Exception {
ProxyService ps = new ProxyService("test_proxy_8");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator inSeq = new SequenceMediator();
inSeq.addChild(in1);
inSeq.addChild(in2);
inSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator outSeq = new SequenceMediator();
outSeq.addChild(out1);
outSeq.addChild(out2);
outSeq.addChild(out3);
ps.setTargetInLineInSequence(inSeq);
ps.setTargetInLineOutSequence(inSeq);
synConfig.addProxyService(ps.getName(), ps);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_8\",\"sequence-type\":\"proxy_outseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
debug_command = "{\"command\":\"clear\",\"command-argument\":\"skip\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"proxy\":{\"proxy-key\":\"test_proxy_8\",\"sequence-type\":\"proxy_outseq\"," +
"\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(!((AbstractMediator) ps.getTargetInLineOutSequence().getChild(0)).isSkipEnabled());
}
public void testDebugManagerProcessCommandSetBreakPointInboundSequence() throws Exception {
InboundEndpoint inboundEndpoint = new InboundEndpoint();
inboundEndpoint.setName("test_inbound_1");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator dispatchSeq = new SequenceMediator();
dispatchSeq.addChild(in1);
dispatchSeq.addChild(in2);
dispatchSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator errorSeq = new SequenceMediator();
errorSeq.addChild(out1);
errorSeq.addChild(out2);
errorSeq.addChild(out3);
synConfig.addSequence("dispatch", dispatchSeq);
inboundEndpoint.setInjectingSeq("dispatch");
synConfig.addSequence("error", errorSeq);
inboundEndpoint.setOnErrorSeq("error");
synConfig.addInboundEndpoint(inboundEndpoint.getName(),inboundEndpoint);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"inbound\":{\"inbound-key\":\"test_inbound_1\",\"sequence-type\":\"inbound_seq\",\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator)dispatchSeq.getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandSetBreakPointInboundErrorSequence() throws Exception {
InboundEndpoint inboundEndpoint = new InboundEndpoint();
inboundEndpoint.setName("test_inbound_2");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator dispatchSeq = new SequenceMediator();
dispatchSeq.addChild(in1);
dispatchSeq.addChild(in2);
dispatchSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator errorSeq = new SequenceMediator();
errorSeq.addChild(out1);
errorSeq.addChild(out2);
errorSeq.addChild(out3);
synConfig.addSequence("dispatch_1", dispatchSeq);
inboundEndpoint.setInjectingSeq("dispatch_1");
synConfig.addSequence("error_1", errorSeq);
inboundEndpoint.setOnErrorSeq("error_1");
synConfig.addInboundEndpoint(inboundEndpoint.getName(),inboundEndpoint);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"breakpoint\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"inbound\":{\"inbound-key\":\"test_inbound_2\",\"sequence-type\":\"inbound_faultseq\",\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator)errorSeq.getChild(0)).isBreakPoint());
}
public void testDebugManagerProcessCommandSetSkipInboundSequence() throws Exception {
InboundEndpoint inboundEndpoint = new InboundEndpoint();
inboundEndpoint.setName("test_inbound_3");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator dispatchSeq = new SequenceMediator();
dispatchSeq.addChild(in1);
dispatchSeq.addChild(in2);
dispatchSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator errorSeq = new SequenceMediator();
errorSeq.addChild(out1);
errorSeq.addChild(out2);
errorSeq.addChild(out3);
synConfig.addSequence("dispatch_3", dispatchSeq);
inboundEndpoint.setInjectingSeq("dispatch_3");
synConfig.addSequence("error_3", errorSeq);
inboundEndpoint.setOnErrorSeq("error_3");
synConfig.addInboundEndpoint(inboundEndpoint.getName(),inboundEndpoint);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"inbound\":{\"inbound-key\":\"test_inbound_3\",\"sequence-type\":\"inbound_seq\",\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator)dispatchSeq.getChild(0)).isSkipEnabled());
}
public void testDebugManagerProcessCommandSetSkipInboundErrorSequence() throws Exception {
InboundEndpoint inboundEndpoint = new InboundEndpoint();
inboundEndpoint.setName("test_inbound_4");
TestMediator in1 = new TestMediator();
TestMediator in2 = new TestMediator();
TestMediator in3 = new TestMediator();
SequenceMediator dispatchSeq = new SequenceMediator();
dispatchSeq.addChild(in1);
dispatchSeq.addChild(in2);
dispatchSeq.addChild(in3);
TestMediator out1 = new TestMediator();
TestMediator out2 = new TestMediator();
TestMediator out3 = new TestMediator();
SequenceMediator errorSeq = new SequenceMediator();
errorSeq.addChild(out1);
errorSeq.addChild(out2);
errorSeq.addChild(out3);
synConfig.addSequence("dispatch_4", dispatchSeq);
inboundEndpoint.setInjectingSeq("dispatch_4");
synConfig.addSequence("error_4", errorSeq);
inboundEndpoint.setOnErrorSeq("error_4");
synConfig.addInboundEndpoint(inboundEndpoint.getName(),inboundEndpoint);
String debug_command = "{\"command\":\"set\",\"command-argument\":\"skip\",\"mediation-component\":\"sequence\"," +
"\"sequence\":{\"inbound\":{\"inbound-key\":\"test_inbound_4\",\"sequence-type\":\"inbound_faultseq\",\"mediator-position\":\"0\"}}}";
dm.processDebugCommand(debug_command);
assertTrue(((AbstractMediator)errorSeq.getChild(0)).isSkipEnabled());
}
}