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 } |