blob: 50160b5062739bc7fb234c043cb0a33f5be07000 [file] [log] [blame]
package com.gemstone.gemfire.management.internal.cli;
import java.util.List;
import org.junit.experimental.categories.Category;
import com.gemstone.gemfire.test.junit.categories.UnitTest;
import junit.framework.TestCase;
import static com.gemstone.gemfire.management.internal.cli.shell.MultiCommandHelper.getMultipleCommands;
/**
*
* @author tushark
*
*/
@Category(UnitTest.class)
public class CommandSeparatorEscapeJUnitTest extends TestCase{
//testcases : single command
//testcases : multiple commands with cmdSeparator
//testcases : single command with comma-value
//testcases : multiplecommand with comma-value : first value
//testcases : multiplecommand with comma-value : last value
//testcases : multiplecommand with comma-value : middle value
public void testEmptyCommand(){
String input = ";";
//System.out.println("I >> " + input);
List<String> split = getMultipleCommands(input);
/*for(String s : split){
System.out.println("O >> " + s);
}*/
assertEquals(0,split.size());
}
public void testSingleCommand(){
String input = "stop server";
//System.out.println("I >> " + input);
List<String> split = getMultipleCommands(input);
for(String s : split){
System.out.println("O >> " + s);
}
assertEquals(1,split.size());
assertEquals("stop server", split.get(0));
}
public void testMultiCommand(){
String input = "stop server1 --option1=value1; stop server2;stop server3 ";
//System.out.println("I >> " + input);
List<String> split = getMultipleCommands(input);
/*for(String s : split){
System.out.println("O >> " + s);
}*/
assertEquals(3,split.size());
assertEquals("stop server1 --option1=value1", split.get(0));
assertEquals(" stop server2", split.get(1));
assertEquals("stop server3 ", split.get(2));
}
public void testMultiCommandWithCmdSep(){
String input = "put --region=/region1 --key='key1\\;part' --value='value1\\;part2';put --region=/region1 --key='key2\\;part' --value='value2\\;part2'";
//System.out.println("I >> " + input);
List<String> split = getMultipleCommands(input);
/*for(String s : split){
System.out.println("O >> " + s);
}*/
assertEquals(2,split.size());
assertEquals("put --region=/region1 --key='key1;part' --value='value1;part2'", split.get(0));
assertEquals("put --region=/region1 --key='key2;part' --value='value2;part2'", split.get(1));
}
public void testSingleCommandWithComma(){
String input = "put --region=/region1 --key='key\\;part' --value='value\\;part2'";
//System.out.println("I >> " + input);
List<String> split = getMultipleCommands(input);
/*for(String s : split){
System.out.println("O >> " + s);
}*/
assertEquals(1,split.size());
assertEquals("put --region=/region1 --key='key;part' --value='value;part2'", split.get(0));
}
public void testMultiCmdCommaValueFirst(){
String input = "put --region=/region1 --key='key\\;part' --value='value\\;part2';stop server";
//System.out.println("I >> " + input);
List<String> split = getMultipleCommands(input);
/*for(String s : split){
System.out.println("O >> " + s);
}*/
assertEquals(2,split.size());
assertEquals("put --region=/region1 --key='key;part' --value='value;part2'", split.get(0));
assertEquals("stop server", split.get(1));
}
public void testMultiCmdCommaValueLast(){
String input = "stop server;put --region=/region1 --key='key\\;part' --value='value\\;part2'";
//System.out.println("I >> " + input);
List<String> split = getMultipleCommands(input);
/*for(String s : split){
System.out.println("O >> " + s);
}*/
assertEquals(2,split.size());
assertEquals("stop server", split.get(0));
assertEquals("put --region=/region1 --key='key;part' --value='value;part2'", split.get(1));
}
public void testMultiCmdCommaValueMiddle(){
String input = "stop server1;put --region=/region1 --key='key\\;part' --value='value\\;part2';stop server2;stop server3";
//System.out.println("I >> " + input);
List<String> split = getMultipleCommands(input);
/*for(String s : split){
System.out.println("O >> " + s);
}*/
assertEquals(4,split.size());
assertEquals("stop server1", split.get(0));
assertEquals("put --region=/region1 --key='key;part' --value='value;part2'", split.get(1));
assertEquals("stop server2", split.get(2));
assertEquals("stop server3", split.get(3));
}
}