mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
71 lines
1.7 KiB
Go
71 lines
1.7 KiB
Go
package cloudwatch
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/aws/aws-sdk-go/aws"
|
|
"github.com/aws/aws-sdk-go/service/cloudwatch"
|
|
cwapi "github.com/grafana/grafana/pkg/api/cloudwatch"
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func TestCloudWatchMetrics(t *testing.T) {
|
|
|
|
Convey("When calling getMetricsForCustomMetrics", t, func() {
|
|
dsInfo := &cwapi.DatasourceInfo{
|
|
Region: "us-east-1",
|
|
Namespace: "Foo",
|
|
Profile: "default",
|
|
AssumeRoleArn: "",
|
|
}
|
|
f := func(dsInfo *cwapi.DatasourceInfo) (cloudwatch.ListMetricsOutput, error) {
|
|
return cloudwatch.ListMetricsOutput{
|
|
Metrics: []*cloudwatch.Metric{
|
|
{
|
|
MetricName: aws.String("Test_MetricName"),
|
|
Dimensions: []*cloudwatch.Dimension{
|
|
{
|
|
Name: aws.String("Test_DimensionName"),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}, nil
|
|
}
|
|
metrics, _ := getMetricsForCustomMetrics(dsInfo, f)
|
|
|
|
Convey("Should contain Test_MetricName", func() {
|
|
So(metrics, ShouldContain, "Test_MetricName")
|
|
})
|
|
})
|
|
|
|
Convey("When calling getDimensionsForCustomMetrics", t, func() {
|
|
dsInfo := &cwapi.DatasourceInfo{
|
|
Region: "us-east-1",
|
|
Namespace: "Foo",
|
|
Profile: "default",
|
|
AssumeRoleArn: "",
|
|
}
|
|
f := func(dsInfo *cwapi.DatasourceInfo) (cloudwatch.ListMetricsOutput, error) {
|
|
return cloudwatch.ListMetricsOutput{
|
|
Metrics: []*cloudwatch.Metric{
|
|
{
|
|
MetricName: aws.String("Test_MetricName"),
|
|
Dimensions: []*cloudwatch.Dimension{
|
|
{
|
|
Name: aws.String("Test_DimensionName"),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}, nil
|
|
}
|
|
dimensionKeys, _ := getDimensionsForCustomMetrics(dsInfo, f)
|
|
|
|
Convey("Should contain Test_DimensionName", func() {
|
|
So(dimensionKeys, ShouldContain, "Test_DimensionName")
|
|
})
|
|
})
|
|
|
|
}
|