mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
CloudWatch: Add tests to query input region in executeLogAlertQuery (#46212)
This commit is contained in:
parent
bdbb9ed54a
commit
438512c7ef
@ -33,7 +33,7 @@ func TestQuery_AnnotationQuery(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -67,7 +67,7 @@ func TestQuery_AnnotationQuery(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
|
@ -2,8 +2,10 @@ package cloudwatch
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
awsrequest "github.com/aws/aws-sdk-go/aws/request"
|
awsrequest "github.com/aws/aws-sdk-go/aws/request"
|
||||||
@ -106,7 +108,7 @@ func Test_CheckHealth(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
|
|
||||||
resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{
|
resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{
|
||||||
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
||||||
@ -128,7 +130,7 @@ func Test_CheckHealth(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
|
|
||||||
resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{
|
resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{
|
||||||
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
||||||
@ -149,7 +151,7 @@ func Test_CheckHealth(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
|
|
||||||
resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{
|
resp, err := executor.CheckHealth(context.Background(), &backend.CheckHealthRequest{
|
||||||
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
||||||
@ -167,7 +169,7 @@ func Test_CheckHealth(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{getSession: func(c awsds.SessionConfig) (*session.Session, error) {
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{getSession: func(c awsds.SessionConfig) (*session.Session, error) {
|
||||||
return nil, fmt.Errorf("some sessions error")
|
return nil, fmt.Errorf("some sessions error")
|
||||||
}})
|
}})
|
||||||
|
|
||||||
@ -182,3 +184,66 @@ func Test_CheckHealth(t *testing.T) {
|
|||||||
}, resp)
|
}, resp)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
func Test_executeLogAlertQuery(t *testing.T) {
|
||||||
|
origNewCWClient := NewCWClient
|
||||||
|
t.Cleanup(func() {
|
||||||
|
NewCWClient = origNewCWClient
|
||||||
|
})
|
||||||
|
|
||||||
|
var cli fakeCWLogsClient
|
||||||
|
NewCWLogsClient = func(sess *session.Session) cloudwatchlogsiface.CloudWatchLogsAPI {
|
||||||
|
return &cli
|
||||||
|
}
|
||||||
|
|
||||||
|
t.Run("getCWLogsClient is called with region from input JSON", func(t *testing.T) {
|
||||||
|
cli = fakeCWLogsClient{queryResults: cloudwatchlogs.GetQueryResultsOutput{Status: aws.String("Complete")}}
|
||||||
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
|
return datasourceInfo{}, nil
|
||||||
|
})
|
||||||
|
sess := fakeSessionCache{}
|
||||||
|
executor := newExecutor(im, newTestConfig(), &sess)
|
||||||
|
|
||||||
|
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
|
Headers: map[string]string{"FromAlert": "some value"},
|
||||||
|
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
||||||
|
Queries: []backend.DataQuery{
|
||||||
|
{
|
||||||
|
TimeRange: backend.TimeRange{From: time.Unix(0, 0), To: time.Unix(1, 0)},
|
||||||
|
JSON: json.RawMessage(`{
|
||||||
|
"queryMode": "Logs",
|
||||||
|
"region": "some region"
|
||||||
|
}`),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, []string{"some region"}, sess.calledRegions)
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("getCWLogsClient is called with region from instance manager when region is default", func(t *testing.T) {
|
||||||
|
cli = fakeCWLogsClient{queryResults: cloudwatchlogs.GetQueryResultsOutput{Status: aws.String("Complete")}}
|
||||||
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
|
return datasourceInfo{region: "instance manager's region"}, nil
|
||||||
|
})
|
||||||
|
sess := fakeSessionCache{}
|
||||||
|
|
||||||
|
executor := newExecutor(im, newTestConfig(), &sess)
|
||||||
|
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
|
Headers: map[string]string{"FromAlert": "some value"},
|
||||||
|
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
||||||
|
Queries: []backend.DataQuery{
|
||||||
|
{
|
||||||
|
TimeRange: backend.TimeRange{From: time.Unix(0, 0), To: time.Unix(1, 0)},
|
||||||
|
JSON: json.RawMessage(`{
|
||||||
|
"queryMode": "Logs",
|
||||||
|
"region": "default"
|
||||||
|
}`),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, []string{"instance manager's region"}, sess.calledRegions)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -52,7 +52,7 @@ func TestQuery_DescribeLogGroups(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -108,7 +108,7 @@ func TestQuery_DescribeLogGroups(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -183,7 +183,7 @@ func TestQuery_GetLogGroupFields(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -264,7 +264,7 @@ func TestQuery_StartQuery(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -317,7 +317,7 @@ func TestQuery_StartQuery(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -374,7 +374,7 @@ func Test_executeStartQuery(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
|
|
||||||
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
||||||
@ -410,7 +410,7 @@ func Test_executeStartQuery(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
|
|
||||||
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
||||||
@ -437,7 +437,7 @@ func Test_executeStartQuery(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
|
|
||||||
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
_, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
PluginContext: backend.PluginContext{DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{}},
|
||||||
@ -499,7 +499,7 @@ func TestQuery_StopQuery(t *testing.T) {
|
|||||||
To: time.Unix(1584700643, 0),
|
To: time.Unix(1584700643, 0),
|
||||||
}
|
}
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -589,7 +589,7 @@ func TestQuery_GetQueryResults(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
func TestMetricDataQueryBuilder(t *testing.T) {
|
func TestMetricDataQueryBuilder(t *testing.T) {
|
||||||
t.Run("buildMetricDataQuery", func(t *testing.T) {
|
t.Run("buildMetricDataQuery", func(t *testing.T) {
|
||||||
t.Run("should use metric stat", func(t *testing.T) {
|
t.Run("should use metric stat", func(t *testing.T) {
|
||||||
executor := newExecutor(nil, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{})
|
||||||
query := getBaseQuery()
|
query := getBaseQuery()
|
||||||
query.MetricEditorMode = MetricEditorModeBuilder
|
query.MetricEditorMode = MetricEditorModeBuilder
|
||||||
query.MetricQueryType = MetricQueryTypeSearch
|
query.MetricQueryType = MetricQueryTypeSearch
|
||||||
@ -22,7 +22,7 @@ func TestMetricDataQueryBuilder(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("should use custom built expression", func(t *testing.T) {
|
t.Run("should use custom built expression", func(t *testing.T) {
|
||||||
executor := newExecutor(nil, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{})
|
||||||
query := getBaseQuery()
|
query := getBaseQuery()
|
||||||
query.MetricEditorMode = MetricEditorModeBuilder
|
query.MetricEditorMode = MetricEditorModeBuilder
|
||||||
query.MetricQueryType = MetricQueryTypeSearch
|
query.MetricQueryType = MetricQueryTypeSearch
|
||||||
@ -34,7 +34,7 @@ func TestMetricDataQueryBuilder(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("should use sql expression", func(t *testing.T) {
|
t.Run("should use sql expression", func(t *testing.T) {
|
||||||
executor := newExecutor(nil, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{})
|
||||||
query := getBaseQuery()
|
query := getBaseQuery()
|
||||||
query.MetricEditorMode = MetricEditorModeRaw
|
query.MetricEditorMode = MetricEditorModeRaw
|
||||||
query.MetricQueryType = MetricQueryTypeQuery
|
query.MetricQueryType = MetricQueryTypeQuery
|
||||||
@ -46,7 +46,7 @@ func TestMetricDataQueryBuilder(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("should use user defined math expression", func(t *testing.T) {
|
t.Run("should use user defined math expression", func(t *testing.T) {
|
||||||
executor := newExecutor(nil, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{})
|
||||||
query := getBaseQuery()
|
query := getBaseQuery()
|
||||||
query.MetricEditorMode = MetricEditorModeRaw
|
query.MetricEditorMode = MetricEditorModeRaw
|
||||||
query.MetricQueryType = MetricQueryTypeSearch
|
query.MetricQueryType = MetricQueryTypeSearch
|
||||||
@ -58,7 +58,7 @@ func TestMetricDataQueryBuilder(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("should set period in user defined expression", func(t *testing.T) {
|
t.Run("should set period in user defined expression", func(t *testing.T) {
|
||||||
executor := newExecutor(nil, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{})
|
||||||
query := getBaseQuery()
|
query := getBaseQuery()
|
||||||
query.MetricEditorMode = MetricEditorModeRaw
|
query.MetricEditorMode = MetricEditorModeRaw
|
||||||
query.MetricQueryType = MetricQueryTypeSearch
|
query.MetricQueryType = MetricQueryTypeSearch
|
||||||
|
@ -53,7 +53,7 @@ func TestQuery_Metrics(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetMetrics(
|
resp, err := executor.handleGetMetrics(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -88,7 +88,7 @@ func TestQuery_Metrics(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetDimensionKeys(
|
resp, err := executor.handleGetDimensionKeys(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -128,7 +128,7 @@ func TestQuery_Regions(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetRegions(
|
resp, err := executor.handleGetRegions(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -201,7 +201,7 @@ func TestQuery_InstanceAttributes(t *testing.T) {
|
|||||||
filterJson, err := json.Marshal(filterMap)
|
filterJson, err := json.Marshal(filterMap)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetEc2InstanceAttribute(
|
resp, err := executor.handleGetEc2InstanceAttribute(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -278,7 +278,7 @@ func TestQuery_EBSVolumeIDs(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetEbsVolumeIds(
|
resp, err := executor.handleGetEbsVolumeIds(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -344,7 +344,7 @@ func TestQuery_ResourceARNs(t *testing.T) {
|
|||||||
tagJson, err := json.Marshal(tagMap)
|
tagJson, err := json.Marshal(tagMap)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetResourceArns(
|
resp, err := executor.handleGetResourceArns(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -374,7 +374,7 @@ func TestQuery_GetAllMetrics(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetAllMetrics(
|
resp, err := executor.handleGetAllMetrics(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -423,7 +423,7 @@ func TestQuery_GetDimensionKeys(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetDimensionKeys(
|
resp, err := executor.handleGetDimensionKeys(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -453,7 +453,7 @@ func TestQuery_GetDimensionKeys(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.handleGetDimensionKeys(
|
resp, err := executor.handleGetDimensionKeys(
|
||||||
backend.PluginContext{
|
backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
@ -548,7 +548,7 @@ func TestQuery_ListMetricsPagination(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, &setting.Cfg{AWSListMetricsPageLimit: 3, AWSAllowedAuthProviders: []string{"default"}, AWSAssumeRoleEnabled: true}, fakeSessionCache{})
|
executor := newExecutor(im, &setting.Cfg{AWSListMetricsPageLimit: 3, AWSAllowedAuthProviders: []string{"default"}, AWSAssumeRoleEnabled: true}, &fakeSessionCache{})
|
||||||
response, err := executor.listMetrics(backend.PluginContext{
|
response, err := executor.listMetrics(backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
}, "default", &cloudwatch.ListMetricsInput{})
|
}, "default", &cloudwatch.ListMetricsInput{})
|
||||||
@ -563,7 +563,7 @@ func TestQuery_ListMetricsPagination(t *testing.T) {
|
|||||||
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
im := datasource.NewInstanceManager(func(s backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
executor := newExecutor(im, &setting.Cfg{AWSListMetricsPageLimit: 1000, AWSAllowedAuthProviders: []string{"default"}, AWSAssumeRoleEnabled: true}, fakeSessionCache{})
|
executor := newExecutor(im, &setting.Cfg{AWSListMetricsPageLimit: 1000, AWSAllowedAuthProviders: []string{"default"}, AWSAssumeRoleEnabled: true}, &fakeSessionCache{})
|
||||||
response, err := executor.listMetrics(backend.PluginContext{
|
response, err := executor.listMetrics(backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
}, "default", &cloudwatch.ListMetricsInput{})
|
}, "default", &cloudwatch.ListMetricsInput{})
|
||||||
|
@ -19,7 +19,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestTimeSeriesQuery(t *testing.T) {
|
func TestTimeSeriesQuery(t *testing.T) {
|
||||||
executor := newExecutor(nil, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(nil, newTestConfig(), &fakeSessionCache{})
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
|
|
||||||
origNewCWClient := NewCWClient
|
origNewCWClient := NewCWClient
|
||||||
@ -54,7 +54,7 @@ func TestTimeSeriesQuery(t *testing.T) {
|
|||||||
return datasourceInfo{}, nil
|
return datasourceInfo{}, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
executor := newExecutor(im, newTestConfig(), fakeSessionCache{})
|
executor := newExecutor(im, newTestConfig(), &fakeSessionCache{})
|
||||||
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
resp, err := executor.QueryData(context.Background(), &backend.QueryDataRequest{
|
||||||
PluginContext: backend.PluginContext{
|
PluginContext: backend.PluginContext{
|
||||||
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
DataSourceInstanceSettings: &backend.DataSourceInstanceSettings{},
|
||||||
|
@ -217,10 +217,13 @@ func newTestConfig() *setting.Cfg {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type fakeSessionCache struct {
|
type fakeSessionCache struct {
|
||||||
getSession func(c awsds.SessionConfig) (*session.Session, error)
|
getSession func(c awsds.SessionConfig) (*session.Session, error)
|
||||||
|
calledRegions []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s fakeSessionCache) GetSession(c awsds.SessionConfig) (*session.Session, error) {
|
func (s *fakeSessionCache) GetSession(c awsds.SessionConfig) (*session.Session, error) {
|
||||||
|
s.calledRegions = append(s.calledRegions, c.Settings.Region)
|
||||||
|
|
||||||
if s.getSession != nil {
|
if s.getSession != nil {
|
||||||
return s.getSession(c)
|
return s.getSession(c)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user