1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.chukwa.database;
19
20 import junit.framework.TestCase;
21 import java.util.TreeMap;
22 import java.util.ArrayList;
23 import java.util.Date;
24 import java.text.ParseException;
25 import java.text.ParsePosition;
26 import java.text.SimpleDateFormat;
27
28 public class TestMacro extends TestCase {
29
30 public void testPastXIntervals() {
31 Macro m = new Macro(1234567890000L, "select '[past_5_minutes]';");
32 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
33 long time = 0;
34 Date result = null;
35 result = format.parse(m.toString(), new ParsePosition(8));
36 time = result.getTime()+300000L;
37 assertTrue(time<=1234567890000L);
38 m = new Macro(1234567890000L, "select '[past_hour]';");
39 result = format.parse(m.toString(), new ParsePosition(8));
40 time = result.getTime()+3600000L;
41 assertTrue(time<=1234567890000L);
42 m = new Macro(1234567890000L, "select '[start]';");
43 result = format.parse(m.toString(), new ParsePosition(8));
44 time = result.getTime();
45 assertTrue(time==1234567890000L);
46 }
47
48 public void testPartitions() {
49 Macro m = new Macro(1234567890000L, "select from [system_metrics_week];");
50 System.out.println(m.toString());
51 assertTrue(m.toString().intern()=="select from system_metrics_2041_week;".intern());
52 m = new Macro(1234567890000L, "select from [system_metrics_month];");
53 System.out.println(m.toString());
54 assertTrue(m.toString().intern()=="select from system_metrics_476_month;".intern());
55 m = new Macro(1234567890000L, "select from [system_metrics_quarter];");
56 System.out.println(m.toString());
57 assertTrue(m.toString().intern()=="select from system_metrics_156_quarter;".intern());
58 m = new Macro(1234567890000L, "select from [system_metrics_year];");
59 System.out.println(m.toString());
60 assertTrue(m.toString().intern()=="select from system_metrics_39_year;".intern());
61 m = new Macro(1234567890000L, "select from [system_metrics_decade];");
62 System.out.println(m.toString());
63 assertTrue(m.toString().intern()=="select from system_metrics_3_decade;".intern());
64 }
65
66 }