CloudWatch: move QueryData input parsing types to separate package (#57165)

* CloudWatch: move parse request types separate package

* Move metric query constants, unexport metricDataQuery json decoding type

* Unexport isSearchExpression
This commit is contained in:
Shirley
2022-10-20 11:21:13 +02:00
committed by GitHub
parent ee6ff18122
commit cadc6088db
15 changed files with 280 additions and 267 deletions
+23 -22
View File
@@ -10,6 +10,7 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/cloudwatch"
"github.com/grafana/grafana/pkg/tsdb/cloudwatch/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -148,7 +149,7 @@ func TestCloudWatchResponseParser(t *testing.T) {
},
}
query := &cloudWatchQuery{
query := &models.CloudWatchQuery{
RefId: "refId1",
Region: "us-east-1",
Namespace: "AWS/ApplicationELB",
@@ -160,8 +161,8 @@ func TestCloudWatchResponseParser(t *testing.T) {
Statistic: "Average",
Period: 60,
Alias: "{{LoadBalancer}} Expanded",
MetricQueryType: MetricQueryTypeSearch,
MetricEditorMode: MetricEditorModeBuilder,
MetricQueryType: models.MetricQueryTypeSearch,
MetricEditorMode: models.MetricEditorModeBuilder,
}
frames, err := buildDataFrames(startTime, endTime, *response, query, false)
require.NoError(t, err)
@@ -211,7 +212,7 @@ func TestCloudWatchResponseParser(t *testing.T) {
},
}}
query := &cloudWatchQuery{
query := &models.CloudWatchQuery{
RefId: "refId1",
Region: "us-east-1",
Namespace: "AWS/ApplicationELB",
@@ -223,8 +224,8 @@ func TestCloudWatchResponseParser(t *testing.T) {
Statistic: "Average",
Period: 60,
Alias: "{{LoadBalancer}} Expanded",
MetricQueryType: MetricQueryTypeSearch,
MetricEditorMode: MetricEditorModeBuilder,
MetricQueryType: models.MetricQueryTypeSearch,
MetricEditorMode: models.MetricEditorModeBuilder,
}
frames, err := buildDataFrames(startTime, endTime, *response, query, false)
require.NoError(t, err)
@@ -275,7 +276,7 @@ func TestCloudWatchResponseParser(t *testing.T) {
},
}
query := &cloudWatchQuery{
query := &models.CloudWatchQuery{
RefId: "refId1",
Region: "us-east-1",
Namespace: "AWS/ApplicationELB",
@@ -287,8 +288,8 @@ func TestCloudWatchResponseParser(t *testing.T) {
Statistic: "Average",
Period: 60,
Alias: "{{LoadBalancer}} Expanded",
MetricQueryType: MetricQueryTypeSearch,
MetricEditorMode: MetricEditorModeBuilder,
MetricQueryType: models.MetricQueryTypeSearch,
MetricEditorMode: models.MetricEditorModeBuilder,
}
frames, err := buildDataFrames(startTime, endTime, *response, query, false)
require.NoError(t, err)
@@ -314,7 +315,7 @@ func TestCloudWatchResponseParser(t *testing.T) {
},
},
}
query := &cloudWatchQuery{
query := &models.CloudWatchQuery{
RefId: "refId1",
Region: "us-east-1",
Namespace: "AWS/ApplicationELB",
@@ -325,8 +326,8 @@ func TestCloudWatchResponseParser(t *testing.T) {
Statistic: "Average",
Period: 60,
Alias: "{{LoadBalancer}} Expanded",
MetricQueryType: MetricQueryTypeSearch,
MetricEditorMode: MetricEditorModeBuilder,
MetricQueryType: models.MetricQueryTypeSearch,
MetricEditorMode: models.MetricEditorModeBuilder,
}
frames, err := buildDataFrames(startTime, endTime, *response, query, false)
require.NoError(t, err)
@@ -354,7 +355,7 @@ func TestCloudWatchResponseParser(t *testing.T) {
},
}
query := &cloudWatchQuery{
query := &models.CloudWatchQuery{
RefId: "refId1",
Region: "us-east-1",
Namespace: "AWS/ApplicationELB",
@@ -367,8 +368,8 @@ func TestCloudWatchResponseParser(t *testing.T) {
Statistic: "Average",
Period: 60,
Alias: "{{LoadBalancer}} Expanded {{InstanceType}} - {{Resource}}",
MetricQueryType: MetricQueryTypeSearch,
MetricEditorMode: MetricEditorModeBuilder,
MetricQueryType: models.MetricQueryTypeSearch,
MetricEditorMode: models.MetricEditorModeBuilder,
}
frames, err := buildDataFrames(startTime, endTime, *response, query, false)
require.NoError(t, err)
@@ -394,7 +395,7 @@ func TestCloudWatchResponseParser(t *testing.T) {
},
}
query := &cloudWatchQuery{
query := &models.CloudWatchQuery{
RefId: "refId1",
Region: "us-east-1",
Namespace: "AWS/ApplicationELB",
@@ -407,8 +408,8 @@ func TestCloudWatchResponseParser(t *testing.T) {
Statistic: "Average",
Period: 60,
Alias: "{{LoadBalancer}} {{InstanceType}} {{metric}} {{namespace}} {{stat}} {{region}} {{period}}",
MetricQueryType: MetricQueryTypeQuery,
MetricEditorMode: MetricEditorModeRaw,
MetricQueryType: models.MetricQueryTypeQuery,
MetricEditorMode: models.MetricEditorModeRaw,
}
frames, err := buildDataFrames(startTime, endTime, *response, query, false)
require.NoError(t, err)
@@ -444,7 +445,7 @@ func TestCloudWatchResponseParser(t *testing.T) {
},
}
query := &cloudWatchQuery{
query := &models.CloudWatchQuery{
RefId: "refId1",
Region: "us-east-1",
Namespace: "AWS/ApplicationELB",
@@ -456,8 +457,8 @@ func TestCloudWatchResponseParser(t *testing.T) {
Statistic: "Average",
Period: 60,
Alias: "{{namespace}}_{{metric}}_{{stat}}",
MetricQueryType: MetricQueryTypeSearch,
MetricEditorMode: MetricEditorModeBuilder,
MetricQueryType: models.MetricQueryTypeSearch,
MetricEditorMode: models.MetricEditorModeBuilder,
}
frames, err := buildDataFrames(startTime, endTime, *response, query, false)
require.NoError(t, err)
@@ -485,7 +486,7 @@ func TestCloudWatchResponseParser(t *testing.T) {
},
}
frames, err := buildDataFrames(startTime, endTime, *response, &cloudWatchQuery{}, true)
frames, err := buildDataFrames(startTime, endTime, *response, &models.CloudWatchQuery{}, true)
assert.NoError(t, err)
require.Len(t, frames, 1)