|
@@ -1,9 +1,13 @@
|
|
|
package cloudwatch
|
|
package cloudwatch
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
|
+ "context"
|
|
|
"testing"
|
|
"testing"
|
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
|
|
|
+ "github.com/grafana/grafana/pkg/models"
|
|
|
|
|
+ "github.com/grafana/grafana/pkg/tsdb"
|
|
|
|
|
+
|
|
|
"github.com/aws/aws-sdk-go/aws"
|
|
"github.com/aws/aws-sdk-go/aws"
|
|
|
"github.com/aws/aws-sdk-go/service/cloudwatch"
|
|
"github.com/aws/aws-sdk-go/service/cloudwatch"
|
|
|
"github.com/grafana/grafana/pkg/components/null"
|
|
"github.com/grafana/grafana/pkg/components/null"
|
|
@@ -14,6 +18,24 @@ import (
|
|
|
func TestCloudWatch(t *testing.T) {
|
|
func TestCloudWatch(t *testing.T) {
|
|
|
Convey("CloudWatch", t, func() {
|
|
Convey("CloudWatch", t, func() {
|
|
|
|
|
|
|
|
|
|
+ Convey("executeQuery", func() {
|
|
|
|
|
+ e := &CloudWatchExecutor{
|
|
|
|
|
+ DataSource: &models.DataSource{
|
|
|
|
|
+ JsonData: simplejson.New(),
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Convey("End time before start time should result in error", func() {
|
|
|
|
|
+ _, err := e.executeQuery(context.Background(), &CloudWatchQuery{}, &tsdb.TsdbQuery{TimeRange: tsdb.NewTimeRange("now-1h", "now-2h")})
|
|
|
|
|
+ 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 := e.executeQuery(context.Background(), &CloudWatchQuery{}, &tsdb.TsdbQuery{TimeRange: tsdb.NewTimeRange("now-1h", "now-1h")})
|
|
|
|
|
+ So(err.Error(), ShouldEqual, "Invalid time range: Start time must be before end time")
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
Convey("can parse cloudwatch json model", func() {
|
|
Convey("can parse cloudwatch json model", func() {
|
|
|
json := `
|
|
json := `
|
|
|
{
|
|
{
|