java/sql-dk/test/info/globalcode/sql/dk/CLIParserTest.java
branchv_0
changeset 7 a7555ec6eea9
parent 6 c79a5b030e99
child 9 2ec52027b97f
equal deleted inserted replaced
6:c79a5b030e99 7:a7555ec6eea9
     9  *
     9  *
    10  * @author Ing. František Kučera (frantovo.cz)
    10  * @author Ing. František Kučera (frantovo.cz)
    11  */
    11  */
    12 public class CLIParserTest {
    12 public class CLIParserTest {
    13 
    13 
    14 	public static final String DATABASE_NAME_1 = "some database 1";
    14 	private static final String DATABASE_NAME_1 = "some database 1";
    15 	public static final String SQL_1 = "SELECT * FROM table1";
    15 	private static final String SQL_1 = "SELECT * FROM table1";
       
    16 	private static final String DATA_1 = "aaa";
       
    17 	private static final String DATA_2 = "bbb";
       
    18 	private static final String DATA_3 = "ccc";
    16 	private CLIParser parser;
    19 	private CLIParser parser;
    17 
    20 
    18 	@BeforeMethod
    21 	@BeforeMethod
    19 	public void setUpMethod() throws Exception {
    22 	public void setUpMethod() throws Exception {
    20 		parser = new CLIParser();
    23 		parser = new CLIParser();
    21 	}
    24 	}
    22 
    25 
    23 	@Test
    26 	@Test
    24 	public void testParseOptions() throws InvalidOptionsException {
    27 	public void testParseOptions_QueryNow_Numbered() throws InvalidOptionsException {
    25 		String[] args = new String[]{Tokens.DB, DATABASE_NAME_1, Tokens.SQL, SQL_1};
    28 		String[] args = new String[]{Tokens.DB, DATABASE_NAME_1, Tokens.SQL, SQL_1, Tokens.DATA, DATA_1, DATA_2, DATA_3};
    26 		CLIOptions options = parser.parseOptions(args);
    29 		CLIOptions options = parser.parseOptions(args);
    27 		options.validate();
    30 		options.validate();
    28 
    31 
    29 		assertEquals(options.getDatabaseName(), DATABASE_NAME_1);
    32 		assertEquals(options.getDatabaseName(), DATABASE_NAME_1);
    30 		assertEquals(options.getSql(), SQL_1);
    33 		assertEquals(options.getSql(), SQL_1);
       
    34 		assertEquals(options.getMode(), CLIOptions.MODE.QUERY_NOW);
       
    35 		assertEquals(options.getNumberedParameters().size(), 3);
       
    36 		assertEquals(options.getNumberedParameters().get(0).getValue(), DATA_1);
       
    37 		assertEquals(options.getNumberedParameters().get(1).getValue(), DATA_2);
       
    38 		assertEquals(options.getNumberedParameters().get(2).getValue(), DATA_3);
       
    39 		assertEquals(options.getNumberedParameters().get(0).getType(), Parameter.DEFAULT_TYPE);
       
    40 		assertEquals(options.getNumberedParameters().get(1).getType(), Parameter.DEFAULT_TYPE);
       
    41 		assertEquals(options.getNumberedParameters().get(2).getType(), Parameter.DEFAULT_TYPE);
       
    42 	}
       
    43 
       
    44 	@Test
       
    45 	public void testParseOptions_QueryNow_Named() throws InvalidOptionsException {
       
    46 		String[] args = new String[]{Tokens.DB, DATABASE_NAME_1, Tokens.SQL, SQL_1, Tokens.TYPES};
       
    47 		CLIOptions options = parser.parseOptions(args);
       
    48 		options.validate();
       
    49 
       
    50 		assertEquals(options.getDatabaseName(), DATABASE_NAME_1);
       
    51 		assertEquals(options.getSql(), SQL_1);
       
    52 		assertEquals(options.getMode(), CLIOptions.MODE.QUERY_NOW);
       
    53 	}
       
    54 
       
    55 	@Test
       
    56 	public void testParseOptions_PrepareBatch() throws InvalidOptionsException {
       
    57 		String[] args = new String[]{Tokens.BATCH, Tokens.SQL, SQL_1};
       
    58 		CLIOptions options = parser.parseOptions(args);
       
    59 		options.validate();
       
    60 
       
    61 		assertEquals(options.getSql(), SQL_1);
       
    62 		assertEquals(options.getMode(), CLIOptions.MODE.PREPARE_BATCH);
       
    63 	}
       
    64 
       
    65 	@Test
       
    66 	public void testParseOptions_ExecuteBatch() throws InvalidOptionsException {
       
    67 		String[] args = new String[]{Tokens.BATCH, Tokens.DB, DATABASE_NAME_1};
       
    68 		CLIOptions options = parser.parseOptions(args);
       
    69 		options.validate();
       
    70 
       
    71 		assertEquals(options.getDatabaseName(), DATABASE_NAME_1);
       
    72 		assertEquals(options.getMode(), CLIOptions.MODE.EXECUTE_BATCH);
    31 	}
    73 	}
    32 }
    74 }