| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- import {
- describe,
- beforeEach,
- it,
- expect,
- angularMocks
- } from "test/lib/common";
- import helpers from "test/specs/helpers";
- import OpenTsDatasource from "../datasource";
- describe("opentsdb", function() {
- var ctx = new helpers.ServiceTestContext();
- var instanceSettings = { url: "", jsonData: { tsdbVersion: 1 } };
- beforeEach(angularMocks.module("grafana.core"));
- beforeEach(angularMocks.module("grafana.services"));
- beforeEach(ctx.providePhase(["backendSrv"]));
- beforeEach(
- angularMocks.inject(function($q, $rootScope, $httpBackend, $injector) {
- ctx.$q = $q;
- ctx.$httpBackend = $httpBackend;
- ctx.$rootScope = $rootScope;
- ctx.ds = $injector.instantiate(OpenTsDatasource, {
- instanceSettings: instanceSettings
- });
- $httpBackend.when("GET", /\.html$/).respond("");
- })
- );
- describe("When performing metricFindQuery", function() {
- var results;
- var requestOptions;
- beforeEach(function() {
- ctx.backendSrv.datasourceRequest = function(options) {
- requestOptions = options;
- return ctx.$q.when({
- data: [{ target: "prod1.count", datapoints: [[10, 1], [12, 1]] }]
- });
- };
- });
- it("metrics() should generate api suggest query", function() {
- ctx.ds.metricFindQuery("metrics(pew)").then(function(data) {
- results = data;
- });
- ctx.$rootScope.$apply();
- expect(requestOptions.url).to.be("/api/suggest");
- expect(requestOptions.params.type).to.be("metrics");
- expect(requestOptions.params.q).to.be("pew");
- expect(results).not.to.be(null);
- });
- it("tag_names(cpu) should generate lookup query", function() {
- ctx.ds.metricFindQuery("tag_names(cpu)").then(function(data) {
- results = data;
- });
- ctx.$rootScope.$apply();
- expect(requestOptions.url).to.be("/api/search/lookup");
- expect(requestOptions.params.m).to.be("cpu");
- });
- it("tag_values(cpu, test) should generate lookup query", function() {
- ctx.ds.metricFindQuery("tag_values(cpu, hostname)").then(function(data) {
- results = data;
- });
- ctx.$rootScope.$apply();
- expect(requestOptions.url).to.be("/api/search/lookup");
- expect(requestOptions.params.m).to.be("cpu{hostname=*}");
- });
- it("tag_values(cpu, test) should generate lookup query", function() {
- ctx.ds
- .metricFindQuery("tag_values(cpu, hostname, env=$env)")
- .then(function(data) {
- results = data;
- });
- ctx.$rootScope.$apply();
- expect(requestOptions.url).to.be("/api/search/lookup");
- expect(requestOptions.params.m).to.be("cpu{hostname=*,env=$env}");
- });
- it("tag_values(cpu, test) should generate lookup query", function() {
- ctx.ds
- .metricFindQuery("tag_values(cpu, hostname, env=$env, region=$region)")
- .then(function(data) {
- results = data;
- });
- ctx.$rootScope.$apply();
- expect(requestOptions.url).to.be("/api/search/lookup");
- expect(requestOptions.params.m).to.be(
- "cpu{hostname=*,env=$env,region=$region}"
- );
- });
- it("suggest_tagk() should generate api suggest query", function() {
- ctx.ds.metricFindQuery("suggest_tagk(foo)").then(function(data) {
- results = data;
- });
- ctx.$rootScope.$apply();
- expect(requestOptions.url).to.be("/api/suggest");
- expect(requestOptions.params.type).to.be("tagk");
- expect(requestOptions.params.q).to.be("foo");
- });
- it("suggest_tagv() should generate api suggest query", function() {
- ctx.ds.metricFindQuery("suggest_tagv(bar)").then(function(data) {
- results = data;
- });
- ctx.$rootScope.$apply();
- expect(requestOptions.url).to.be("/api/suggest");
- expect(requestOptions.params.type).to.be("tagv");
- expect(requestOptions.params.q).to.be("bar");
- });
- });
- });
|