|
|
|
@ -46,6 +46,65 @@ describe('CloudWatchDatasource', () => { |
|
|
|
|
jest.clearAllMocks(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
describe('When getting log groups', () => { |
|
|
|
|
beforeEach(() => { |
|
|
|
|
datasourceRequestMock.mockImplementation(() => |
|
|
|
|
Promise.resolve({ |
|
|
|
|
data: { |
|
|
|
|
results: { |
|
|
|
|
A: { |
|
|
|
|
dataframes: [ |
|
|
|
|
'QVJST1cxAAD/////GAEAABAAAAAAAAoADgAMAAsABAAKAAAAFAAAAAAAAAEDAAoADAAAAAgABAAKAAAACAAAAFgAAAACAAAAKAAAAAQAAAB8////CAAAAAwAAAAAAAAAAAAAAAUAAAByZWZJZAAAAJz///8IAAAAFAAAAAkAAABsb2dHcm91cHMAAAAEAAAAbmFtZQAAAAABAAAAGAAAAAAAEgAYABQAEwASAAwAAAAIAAQAEgAAABQAAABMAAAAUAAAAAAABQFMAAAAAQAAAAwAAAAIAAwACAAEAAgAAAAIAAAAGAAAAAwAAABsb2dHcm91cE5hbWUAAAAABAAAAG5hbWUAAAAAAAAAAAQABAAEAAAADAAAAGxvZ0dyb3VwTmFtZQAAAAD/////mAAAABQAAAAAAAAADAAWABQAEwAMAAQADAAAAGAGAAAAAAAAFAAAAAAAAAMDAAoAGAAMAAgABAAKAAAAFAAAAEgAAAAhAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAAAAAACIAAAAAAAAANgFAAAAAAAAAAAAAAEAAAAhAAAAAAAAAAAAAAAAAAAAAAAAADIAAABiAAAAkQAAALwAAADuAAAAHwEAAFQBAACHAQAAtQEAAOoBAAAbAgAASgIAAHQCAAClAgAA1QIAABADAABEAwAAdgMAAKMDAADXAwAACQQAAEAEAAB3BAAAlwQAAK0EAAC8BAAA+wQAAEIFAABhBQAAeAUAAJIFAAC0BQAA1gUAAC9hd3MvY29udGFpbmVyaW5zaWdodHMvZGV2MzAzLXdvcmtzaG9wL2FwcGxpY2F0aW9uL2F3cy9jb250YWluZXJpbnNpZ2h0cy9kZXYzMDMtd29ya3Nob3AvZGF0YXBsYW5lL2F3cy9jb250YWluZXJpbnNpZ2h0cy9kZXYzMDMtd29ya3Nob3AvZmxvd2xvZ3MvYXdzL2NvbnRhaW5lcmluc2lnaHRzL2RldjMwMy13b3Jrc2hvcC9ob3N0L2F3cy9jb250YWluZXJpbnNpZ2h0cy9kZXYzMDMtd29ya3Nob3AvcGVyZm9ybWFuY2UvYXdzL2NvbnRhaW5lcmluc2lnaHRzL2RldjMwMy13b3Jrc2hvcC9wcm9tZXRoZXVzL2F3cy9jb250YWluZXJpbnNpZ2h0cy9lY29tbWVyY2Utc29ja3Nob3AvYXBwbGljYXRpb24vYXdzL2NvbnRhaW5lcmluc2lnaHRzL2Vjb21tZXJjZS1zb2Nrc2hvcC9kYXRhcGxhbmUvYXdzL2NvbnRhaW5lcmluc2lnaHRzL2Vjb21tZXJjZS1zb2Nrc2hvcC9ob3N0L2F3cy9jb250YWluZXJpbnNpZ2h0cy9lY29tbWVyY2Utc29ja3Nob3AvcGVyZm9ybWFuY2UvYXdzL2NvbnRhaW5lcmluc2lnaHRzL3dhdGNoZGVtby1wZXJmL2FwcGxpY2F0aW9uL2F3cy9jb250YWluZXJpbnNpZ2h0cy93YXRjaGRlbW8tcGVyZi9kYXRhcGxhbmUvYXdzL2NvbnRhaW5lcmluc2lnaHRzL3dhdGNoZGVtby1wZXJmL2hvc3QvYXdzL2NvbnRhaW5lcmluc2lnaHRzL3dhdGNoZGVtby1wZXJmL3BlcmZvcm1hbmNlL2F3cy9jb250YWluZXJpbnNpZ2h0cy93YXRjaGRlbW8tcGVyZi9wcm9tZXRoZXVzL2F3cy9jb250YWluZXJpbnNpZ2h0cy93YXRjaGRlbW8tcHJvZC11cy1lYXN0LTEvcGVyZm9ybWFuY2UvYXdzL2NvbnRhaW5lcmluc2lnaHRzL3dhdGNoZGVtby1zdGFnaW5nL2FwcGxpY2F0aW9uL2F3cy9jb250YWluZXJpbnNpZ2h0cy93YXRjaGRlbW8tc3RhZ2luZy9kYXRhcGxhbmUvYXdzL2NvbnRhaW5lcmluc2lnaHRzL3dhdGNoZGVtby1zdGFnaW5nL2hvc3QvYXdzL2NvbnRhaW5lcmluc2lnaHRzL3dhdGNoZGVtby1zdGFnaW5nL3BlcmZvcm1hbmNlL2F3cy9lY3MvY29udGFpbmVyaW5zaWdodHMvYnVnYmFzaC1lYzIvcGVyZm9ybWFuY2UvYXdzL2Vjcy9jb250YWluZXJpbnNpZ2h0cy9lY3MtZGVtb3dvcmtzaG9wL3BlcmZvcm1hbmNlL2F3cy9lY3MvY29udGFpbmVyaW5zaWdodHMvZWNzLXdvcmtzaG9wLWRldi9wZXJmb3JtYW5jZS9hd3MvZWtzL2RldjMwMy13b3Jrc2hvcC9jbHVzdGVyL2F3cy9ldmVudHMvY2xvdWR0cmFpbC9hd3MvZXZlbnRzL2Vjcy9hd3MvbGFtYmRhL2N3c3luLW15Y2FuYXJ5LWZhYzk3ZGVkLWYxMzQtNDk5YS05ZDcxLTRjM2JlMWY2MzE4Mi9hd3MvbGFtYmRhL2N3c3luLXdhdGNoLWxpbmtjaGVja3MtZWY3ZWYyNzMtNWRhMi00NjYzLWFmNTQtZDJmNTJkNTViMDYwL2Vjcy9lY3MtY3dhZ2VudC1kYWVtb24tc2VydmljZS9lY3MvZWNzLWRlbW8tbGltaXRUYXNrQ2xvdWRUcmFpbC9EZWZhdWx0TG9nR3JvdXBjb250YWluZXItaW5zaWdodHMtcHJvbWV0aGV1cy1iZXRhY29udGFpbmVyLWluc2lnaHRzLXByb21ldGhldXMtZGVtbwAAEAAAAAwAFAASAAwACAAEAAwAAAAQAAAALAAAADwAAAAAAAMAAQAAACgBAAAAAAAAoAAAAAAAAABgBgAAAAAAAAAAAAAAAAAAAAAAAAAACgAMAAAACAAEAAoAAAAIAAAAWAAAAAIAAAAoAAAABAAAAHz///8IAAAADAAAAAAAAAAAAAAABQAAAHJlZklkAAAAnP///wgAAAAUAAAACQAAAGxvZ0dyb3VwcwAAAAQAAABuYW1lAAAAAAEAAAAYAAAAAAASABgAFAATABIADAAAAAgABAASAAAAFAAAAEwAAABQAAAAAAAFAUwAAAABAAAADAAAAAgADAAIAAQACAAAAAgAAAAYAAAADAAAAGxvZ0dyb3VwTmFtZQAAAAAEAAAAbmFtZQAAAAAAAAAABAAEAAQAAAAMAAAAbG9nR3JvdXBOYW1lAAAAAEgBAABBUlJPVzE=', |
|
|
|
|
], |
|
|
|
|
refId: 'A', |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should return log groups as an array of strings', async () => { |
|
|
|
|
const logGroups = await ctx.ds.describeLogGroups(); |
|
|
|
|
const expectedLogGroups = [ |
|
|
|
|
'/aws/containerinsights/dev303-workshop/application', |
|
|
|
|
'/aws/containerinsights/dev303-workshop/dataplane', |
|
|
|
|
'/aws/containerinsights/dev303-workshop/flowlogs', |
|
|
|
|
'/aws/containerinsights/dev303-workshop/host', |
|
|
|
|
'/aws/containerinsights/dev303-workshop/performance', |
|
|
|
|
'/aws/containerinsights/dev303-workshop/prometheus', |
|
|
|
|
'/aws/containerinsights/ecommerce-sockshop/application', |
|
|
|
|
'/aws/containerinsights/ecommerce-sockshop/dataplane', |
|
|
|
|
'/aws/containerinsights/ecommerce-sockshop/host', |
|
|
|
|
'/aws/containerinsights/ecommerce-sockshop/performance', |
|
|
|
|
'/aws/containerinsights/watchdemo-perf/application', |
|
|
|
|
'/aws/containerinsights/watchdemo-perf/dataplane', |
|
|
|
|
'/aws/containerinsights/watchdemo-perf/host', |
|
|
|
|
'/aws/containerinsights/watchdemo-perf/performance', |
|
|
|
|
'/aws/containerinsights/watchdemo-perf/prometheus', |
|
|
|
|
'/aws/containerinsights/watchdemo-prod-us-east-1/performance', |
|
|
|
|
'/aws/containerinsights/watchdemo-staging/application', |
|
|
|
|
'/aws/containerinsights/watchdemo-staging/dataplane', |
|
|
|
|
'/aws/containerinsights/watchdemo-staging/host', |
|
|
|
|
'/aws/containerinsights/watchdemo-staging/performance', |
|
|
|
|
'/aws/ecs/containerinsights/bugbash-ec2/performance', |
|
|
|
|
'/aws/ecs/containerinsights/ecs-demoworkshop/performance', |
|
|
|
|
'/aws/ecs/containerinsights/ecs-workshop-dev/performance', |
|
|
|
|
'/aws/eks/dev303-workshop/cluster', |
|
|
|
|
'/aws/events/cloudtrail', |
|
|
|
|
'/aws/events/ecs', |
|
|
|
|
'/aws/lambda/cwsyn-mycanary-fac97ded-f134-499a-9d71-4c3be1f63182', |
|
|
|
|
'/aws/lambda/cwsyn-watch-linkchecks-ef7ef273-5da2-4663-af54-d2f52d55b060', |
|
|
|
|
'/ecs/ecs-cwagent-daemon-service', |
|
|
|
|
'/ecs/ecs-demo-limitTask', |
|
|
|
|
'CloudTrail/DefaultLogGroup', |
|
|
|
|
'container-insights-prometheus-beta', |
|
|
|
|
'container-insights-prometheus-demo', |
|
|
|
|
]; |
|
|
|
|
expect(logGroups).toEqual(expectedLogGroups); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
describe('When performing CloudWatch metrics query', () => { |
|
|
|
|
const query = { |
|
|
|
|
range: defaultTimeRange, |
|
|
|
@ -741,7 +800,6 @@ describe('CloudWatchDatasource', () => { |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should call __GetDimensions and return result', () => { |
|
|
|
|
console.log({ a: scenario.requestResponse.results }); |
|
|
|
|
expect(scenario.result[0].text).toBe('InstanceId'); |
|
|
|
|
expect(scenario.request.queries[0].type).toBe('metricFindQuery'); |
|
|
|
|
expect(scenario.request.queries[0].subtype).toBe('dimension_keys'); |
|
|
|
|