1f3c557dfd
* CloudWatch: Datasource improvements
* Add statistic as template variale
* Add wildcard to list of values
* Template variable intercept dimension key
* Return row specific errors when transformation error occured
* Add meta feedback
* Make it possible to retrieve values without known metrics
* Add curated dashboard for EC2
* Fix broken tests
* Use correct dashboard name
* Display alert in case multi template var is being used for some certain props in the cloudwatch query
* Minor fixes after feedback
* Update dashboard json
* Update snapshot test
* Make sure region default is intercepted in cloudwatch link
* Update dashboards
* Include ec2 dashboard in ds
* Do not include ec2 dashboard in beta1
* Display actual region
(cherry picked from commit 00bef917ee)
29 lines
937 B
Go
29 lines
937 B
Go
package cloudwatch
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/grafana/grafana/pkg/tsdb"
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func TestMetricDataInputBuilder(t *testing.T) {
|
|
Convey("TestMetricDataInputBuilder", t, func() {
|
|
executor := &CloudWatchExecutor{}
|
|
query := make(map[string]*cloudWatchQuery)
|
|
|
|
Convey("Time range is valid", func() {
|
|
Convey("End time before start time should result in error", func() {
|
|
_, err := executor.buildMetricDataInput(&tsdb.TsdbQuery{TimeRange: tsdb.NewTimeRange("now-1h", "now-2h")}, query)
|
|
So(err.Error(), ShouldEqual, "Invalid time range: Start time must be before end time")
|
|
})
|
|
|
|
Convey("End time equals start time should result in error", func() {
|
|
_, err := executor.buildMetricDataInput(&tsdb.TsdbQuery{TimeRange: tsdb.NewTimeRange("now-1h", "now-1h")}, query)
|
|
So(err.Error(), ShouldEqual, "Invalid time range: Start time must be before end time")
|
|
})
|
|
})
|
|
})
|
|
}
|