@@ -14,6 +14,7 @@ def now():
14
14
return int (time .time ()) * 1000
15
15
16
16
table = 'prom_remote_query_test' + str (now ())
17
+ table2 = 'PROM_REMOTE_QUERY_TEST' + str (now ())
17
18
18
19
def execute_sql (sql ):
19
20
r = requests .post ('{}/sql' .format (api_root ), json = {'query' : sql }, headers = headers )
@@ -25,7 +26,8 @@ def execute_pql(pql):
25
26
return r .json ()
26
27
27
28
def prepare_data (ts ):
28
- execute_sql ("""
29
+ for t in [table , table2 ]:
30
+ execute_sql ("""
29
31
CREATE TABLE if not exists `{}` (
30
32
`t` timestamp NOT NULL,
31
33
`tag1` string TAG,
@@ -34,7 +36,7 @@ def prepare_data(ts):
34
36
`VALUE2` double NOT NULL,
35
37
timestamp KEY (t)
36
38
);
37
- """ .format (table ))
39
+ """ .format (table ))
38
40
39
41
execute_sql ("""
40
42
insert into {}(t, tag1, tag2, value, VALUE2)
@@ -44,6 +46,14 @@ def prepare_data(ts):
44
46
;
45
47
""" .format (table , ts - 5000 , ts ))
46
48
49
+ execute_sql ("""
50
+ insert into {}(t, tag1, tag2, value, VALUE2)
51
+ values
52
+ ({}, "v1", "v2", 10, 20),
53
+ ({}, "v1", "v2", 110, 220)
54
+ ;
55
+ """ .format (table2 , ts - 5000 , ts ))
56
+
47
57
48
58
def remote_query (ts ):
49
59
ts = ts / 1000 # prom return seconds
@@ -64,10 +74,16 @@ def remote_query(ts):
64
74
result = r ['data' ]['result' ]
65
75
assert result == []
66
76
77
+ # uppercase field
67
78
r = execute_pql (table + '{tag1="v1",__ceresdb_field__="VALUE2"}[5m]' )
68
79
result = r ['data' ]['result' ]
69
80
assert result == [{'metric' : {'__name__' : table , 'tag1' : 'v1' , 'tag2' : 'v2' }, 'values' : [[ts - 5 , '2' ], [ts , '22' ]]}]
70
81
82
+ # uppercase table
83
+ r = execute_pql (table2 + '{tag1="v1"}[5m]' )
84
+ result = r ['data' ]['result' ]
85
+ assert result == [{'metric' : {'__name__' : table2 , 'tag1' : 'v1' , 'tag2' : 'v2' }, 'values' : [[ts - 5 , '1' ], [ts , '11' ]]}]
86
+
71
87
def main ():
72
88
ts = now ()
73
89
prepare_data (ts )
0 commit comments