@@ -12,8 +12,8 @@ import (
12
12
"github.com/grafana/grafana-plugin-sdk-go/data/sqlutil"
13
13
)
14
14
15
- func TestQuery (t * testing.T ) {
16
- t .Run ("GetQuery " , func (t * testing.T ) {
15
+ func TestGetQuery (t * testing.T ) {
16
+ t .Run ("returns correct query " , func (t * testing.T ) {
17
17
timeRange := backend.TimeRange {From : time .Now ().Add (- time .Hour ), To : time .Now ()}
18
18
dataQuery := backend.DataQuery {
19
19
RefID : "foo" ,
@@ -45,4 +45,23 @@ func TestQuery(t *testing.T) {
45
45
assert .Equal (t , parsedQuery .Table , "y" )
46
46
assert .Equal (t , parsedQuery .Column , "z" )
47
47
})
48
+
49
+ t .Run ("returns error if invalid query" , func (t * testing.T ) {
50
+ timeRange := backend.TimeRange {From : time .Now ().Add (- time .Hour ), To : time .Now ()}
51
+ dataQuery := backend.DataQuery {
52
+ RefID : "foo" ,
53
+ MaxDataPoints : 10 ,
54
+ Interval : time .Second ,
55
+ TimeRange : timeRange ,
56
+ // invalid JSON, rawSql should be a string
57
+ JSON : json .RawMessage (`{
58
+ "rawSql": 1,
59
+ }` ),
60
+ }
61
+
62
+ _ , err := sqlutil .GetQuery (dataQuery )
63
+ assert .Error (t , err )
64
+ assert .ErrorContains (t , err , "error unmarshaling query JSON to the Query Model" )
65
+ assert .True (t , backend .IsDownstreamError (err ))
66
+ })
48
67
}
0 commit comments