@@ -2,6 +2,9 @@ package tsplot
2
2
3
3
import (
4
4
"testing"
5
+ "time"
6
+
7
+ monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3"
5
8
)
6
9
7
10
func TestMetricQuery_BuildRequest (t * testing.T ) {
@@ -36,3 +39,60 @@ func TestMetricQuery_BuildRequest(t *testing.T) {
36
39
}
37
40
}
38
41
}
42
+
43
+ func TestMetricQuery_SetQueryFilter (t * testing.T ) {
44
+ expectedFilter := "some advanced query"
45
+ st := time .Now ().Add (- 1 * time .Hour )
46
+ et := time .Now ()
47
+ query := NewMetricQuery ("bitly-gcp-prod" , "" , & st , & et )
48
+ query .SetQueryFilter (expectedFilter )
49
+
50
+ tsr , err := query .request ()
51
+ if err != nil {
52
+ t .Error (err )
53
+ }
54
+
55
+ filter := tsr .GetFilter ()
56
+ if filter != expectedFilter {
57
+ t .Fatalf ("query filter not overriden. got: %s, expected: %s" , filter , expectedFilter )
58
+ }
59
+ }
60
+
61
+ func TestMetricQuery_SetAlignmentPeriod (t * testing.T ) {
62
+ expectedAlignmentPeriod := time .Minute * 10
63
+ st := time .Now ().Add (- 1 * time .Hour )
64
+ et := time .Now ()
65
+ query := NewMetricQuery ("bitly-gcp-prod" , "some metric" , & st , & et )
66
+ query .SetAlignmentPeriod (expectedAlignmentPeriod )
67
+
68
+ req , err := query .request ()
69
+ if err != nil {
70
+ t .Error (err )
71
+ }
72
+
73
+ alignmentPeriod := req .GetAggregation ().GetAlignmentPeriod ().GetSeconds ()
74
+ if req .GetAggregation ().GetAlignmentPeriod ().GetSeconds () != int64 (expectedAlignmentPeriod .Seconds ()) {
75
+ t .Fatalf ("alignment period not overriden. got %d, expected: %s" , alignmentPeriod , expectedAlignmentPeriod )
76
+ }
77
+ }
78
+
79
+ func TestMetricQuery_AggregationOptions (t * testing.T ) {
80
+ st := time .Now ().Add (- 1 * time .Hour )
81
+ et := time .Now ()
82
+ query := NewMetricQuery ("bitly-gcp-prod" , "some metric" , & st , & et )
83
+ query .Set_ALIGN_NONE ()
84
+ query .Set_REDUCE_NONE ()
85
+
86
+ req , err := query .request ()
87
+ if err != nil {
88
+ t .Error (err )
89
+ }
90
+
91
+ aggregation := req .GetAggregation ()
92
+ if aggregation .GetPerSeriesAligner () != monitoringpb .Aggregation_ALIGN_NONE {
93
+ t .Fatal ("aligner not overridden" )
94
+ }
95
+ if aggregation .GetCrossSeriesReducer () != monitoringpb .Aggregation_REDUCE_NONE {
96
+ t .Fatal ("reducer not overridden" )
97
+ }
98
+ }
0 commit comments