ソースを参照

reactivate cloudwatch test

Mitsuhiro Tanda 10 年 前
コミット
1a63d9eb3b
1 ファイル変更155 行追加155 行削除
  1. 155 155
      public/test/specs/cloudwatch-datasource-specs.js

+ 155 - 155
public/test/specs/cloudwatch-datasource-specs.js

@@ -1,155 +1,155 @@
-// define([
-//   './helpers',
-//   'app/plugins/datasource/cloudwatch/datasource',
-//   'aws-sdk',
-// ], function(helpers) {
-//   'use strict';
-//
-//   describe('CloudWatchDatasource', function() {
-//     var ctx = new helpers.ServiceTestContext();
-//
-//     beforeEach(module('grafana.services'));
-//     beforeEach(module('grafana.controllers'));
-//     beforeEach(ctx.providePhase(['templateSrv']));
-//     beforeEach(ctx.createService('CloudWatchDatasource'));
-//     beforeEach(function() {
-//       ctx.ds = new ctx.service({
-//         jsonData: {
-//           defaultRegion: 'us-east-1',
-//           access: 'proxy'
-//         }
-//       });
-//     });
-//
-//     describe('When performing CloudWatch query', function() {
-//       var requestParams;
-//
-//       var query = {
-//         range: { from: 'now-1h', to: 'now' },
-//         targets: [
-//           {
-//             region: 'us-east-1',
-//             namespace: 'AWS/EC2',
-//             metricName: 'CPUUtilization',
-//             dimensions: {
-//               InstanceId: 'i-12345678'
-//             },
-//             statistics: {
-//               Average: true
-//             },
-//             period: 300
-//           }
-//         ]
-//       };
-//
-//       var response = {
-//         Datapoints: [
-//           {
-//             Average: 1,
-//             Timestamp: 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)'
-//           }
-//         ],
-//         Label: 'CPUUtilization'
-//       };
-//
-//       beforeEach(function() {
-//         ctx.ds.getCloudWatchClient = function() {
-//           return {
-//             getMetricStatistics: function(params, callback) {
-//               setTimeout(function() {
-//                 requestParams = params;
-//                 callback(null, response);
-//               }, 0);
-//             }
-//           };
-//         };
-//       });
-//
-//       it('should generate the correct query', function() {
-//         ctx.ds.query(query).then(function() {
-//           expect(requestParams.Namespace).to.be(query.targets[0].namespace);
-//           expect(requestParams.MetricName).to.be(query.targets[0].metricName);
-//           expect(requestParams.Dimensions[0].Name).to.be(Object.keys(query.targets[0].dimensions)[0]);
-//           expect(requestParams.Dimensions[0].Value).to.be(query.targets[0].dimensions[Object.keys(query.targets[0].dimensions)[0]]);
-//           expect(requestParams.Statistics).to.eql(Object.keys(query.targets[0].statistics));
-//           expect(requestParams.Period).to.be(query.targets[0].period);
-//         });
-//       });
-//
-//       it('should return series list', function() {
-//         ctx.ds.query(query).then(function(result) {
-//           var s = Object.keys(query.targets[0].statistics)[0];
-//           expect(result.data[0].target).to.be(response.Label + s);
-//           expect(result.data[0].datapoints[0][0]).to.be(response.Datapoints[0][s]);
-//         });
-//       });
-//     });
-//
-//     describe('When performing CloudWatch metricFindQuery', function() {
-//       var requestParams;
-//
-//       var response = {
-//         Metrics: [
-//           {
-//             Namespace: 'AWS/EC2',
-//             MetricName: 'CPUUtilization',
-//             Dimensions: [
-//               {
-//                 Name: 'InstanceId',
-//                 Value: 'i-12345678'
-//               }
-//             ]
-//           }
-//         ]
-//       };
-//
-//       beforeEach(function() {
-//         ctx.ds.getCloudWatchClient = function() {
-//           return {
-//             listMetrics: function(params, callback) {
-//               setTimeout(function() {
-//                 requestParams = params;
-//                 callback(null, response);
-//               }, 0);
-//             }
-//           };
-//         };
-//       });
-//
-//       it('should return suggest list for region()', function() {
-//         var query = 'region()';
-//         ctx.ds.metricFindQuery(query).then(function(result) {
-//           expect(result).to.contain('us-east-1');
-//         });
-//       });
-//
-//       it('should return suggest list for namespace()', function() {
-//         var query = 'namespace()';
-//         ctx.ds.metricFindQuery(query).then(function(result) {
-//           expect(result).to.contain('AWS/EC2');
-//         });
-//       });
-//
-//       it('should return suggest list for metrics()', function() {
-//         var query = 'metrics(AWS/EC2)';
-//         ctx.ds.metricFindQuery(query).then(function(result) {
-//           expect(result).to.contain('CPUUtilization');
-//         });
-//       });
-//
-//       it('should return suggest list for dimension_keys()', function() {
-//         var query = 'dimension_keys(AWS/EC2)';
-//         ctx.ds.metricFindQuery(query).then(function(result) {
-//           expect(result).to.contain('InstanceId');
-//         });
-//       });
-//
-//       it('should return suggest list for dimension_values()', function() {
-//         var query = 'dimension_values(us-east-1,AWS/EC2,CPUUtilization)';
-//         ctx.ds.metricFindQuery(query).then(function(result) {
-//           expect(result).to.contain('InstanceId');
-//         });
-//       });
-//     });
-//   });
-// });
+define([
+  './helpers',
+  'app/plugins/datasource/cloudwatch/datasource',
+  'aws-sdk',
+], function(helpers) {
+  'use strict';
+
+  describe('CloudWatchDatasource', function() {
+    var ctx = new helpers.ServiceTestContext();
+
+    beforeEach(module('grafana.services'));
+    beforeEach(module('grafana.controllers'));
+    beforeEach(ctx.providePhase(['templateSrv']));
+    beforeEach(ctx.createService('CloudWatchDatasource'));
+    beforeEach(function() {
+      ctx.ds = new ctx.service({
+        jsonData: {
+          defaultRegion: 'us-east-1',
+          access: 'proxy'
+        }
+      });
+    });
+
+    describe('When performing CloudWatch query', function() {
+      var requestParams;
+
+      var query = {
+        range: { from: 'now-1h', to: 'now' },
+        targets: [
+          {
+            region: 'us-east-1',
+            namespace: 'AWS/EC2',
+            metricName: 'CPUUtilization',
+            dimensions: {
+              InstanceId: 'i-12345678'
+            },
+            statistics: {
+              Average: true
+            },
+            period: 300
+          }
+        ]
+      };
+
+      var response = {
+        Datapoints: [
+          {
+            Average: 1,
+            Timestamp: 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)'
+          }
+        ],
+        Label: 'CPUUtilization'
+      };
+
+      beforeEach(function() {
+        ctx.ds.getCloudWatchClient = function() {
+          return {
+            getMetricStatistics: function(params, callback) {
+              setTimeout(function() {
+                requestParams = params;
+                callback(null, response);
+              }, 0);
+            }
+          };
+        };
+      });
+
+      it('should generate the correct query', function() {
+        ctx.ds.query(query).then(function() {
+          expect(requestParams.Namespace).to.be(query.targets[0].namespace);
+          expect(requestParams.MetricName).to.be(query.targets[0].metricName);
+          expect(requestParams.Dimensions[0].Name).to.be(Object.keys(query.targets[0].dimensions)[0]);
+          expect(requestParams.Dimensions[0].Value).to.be(query.targets[0].dimensions[Object.keys(query.targets[0].dimensions)[0]]);
+          expect(requestParams.Statistics).to.eql(Object.keys(query.targets[0].statistics));
+          expect(requestParams.Period).to.be(query.targets[0].period);
+        });
+      });
+
+      it('should return series list', function() {
+        ctx.ds.query(query).then(function(result) {
+          var s = Object.keys(query.targets[0].statistics)[0];
+          expect(result.data[0].target).to.be(response.Label + s);
+          expect(result.data[0].datapoints[0][0]).to.be(response.Datapoints[0][s]);
+        });
+      });
+    });
+
+    describe('When performing CloudWatch metricFindQuery', function() {
+      var requestParams;
+
+      var response = {
+        Metrics: [
+          {
+            Namespace: 'AWS/EC2',
+            MetricName: 'CPUUtilization',
+            Dimensions: [
+              {
+                Name: 'InstanceId',
+                Value: 'i-12345678'
+              }
+            ]
+          }
+        ]
+      };
+
+      beforeEach(function() {
+        ctx.ds.getCloudWatchClient = function() {
+          return {
+            listMetrics: function(params, callback) {
+              setTimeout(function() {
+                requestParams = params;
+                callback(null, response);
+              }, 0);
+            }
+          };
+        };
+      });
+
+      it('should return suggest list for region()', function() {
+        var query = 'region()';
+        ctx.ds.metricFindQuery(query).then(function(result) {
+          expect(result).to.contain('us-east-1');
+        });
+      });
+
+      it('should return suggest list for namespace()', function() {
+        var query = 'namespace()';
+        ctx.ds.metricFindQuery(query).then(function(result) {
+          expect(result).to.contain('AWS/EC2');
+        });
+      });
+
+      it('should return suggest list for metrics()', function() {
+        var query = 'metrics(AWS/EC2)';
+        ctx.ds.metricFindQuery(query).then(function(result) {
+          expect(result).to.contain('CPUUtilization');
+        });
+      });
+
+      it('should return suggest list for dimension_keys()', function() {
+        var query = 'dimension_keys(AWS/EC2)';
+        ctx.ds.metricFindQuery(query).then(function(result) {
+          expect(result).to.contain('InstanceId');
+        });
+      });
+
+      it('should return suggest list for dimension_values()', function() {
+        var query = 'dimension_values(us-east-1,AWS/EC2,CPUUtilization)';
+        ctx.ds.metricFindQuery(query).then(function(result) {
+          expect(result).to.contain('InstanceId');
+        });
+      });
+    });
+  });
+});