|
|
@@ -2,8 +2,21 @@ import config from 'app/core/config';
|
|
|
import 'app/features/plugins/datasource_srv';
|
|
|
import { DatasourceSrv } from 'app/features/plugins/datasource_srv';
|
|
|
|
|
|
+// Datasource variable $datasource with current value 'BBB'
|
|
|
+const templateSrv = {
|
|
|
+ variables: [
|
|
|
+ {
|
|
|
+ type: 'datasource',
|
|
|
+ name: 'datasource',
|
|
|
+ current: {
|
|
|
+ value: 'BBB',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+};
|
|
|
+
|
|
|
describe('datasource_srv', function() {
|
|
|
- let _datasourceSrv = new DatasourceSrv({}, {}, {}, {});
|
|
|
+ let _datasourceSrv = new DatasourceSrv({}, {}, {}, templateSrv);
|
|
|
let metricSources;
|
|
|
|
|
|
describe('when loading metric sources', () => {
|
|
|
@@ -35,25 +48,27 @@ describe('datasource_srv', function() {
|
|
|
};
|
|
|
beforeEach(() => {
|
|
|
config.datasources = unsortedDatasources;
|
|
|
- metricSources = _datasourceSrv.getMetricSources({ skipVariables: true });
|
|
|
+ metricSources = _datasourceSrv.getMetricSources({});
|
|
|
+ config.defaultDatasource = 'BBB';
|
|
|
});
|
|
|
|
|
|
it('should return a list of sources sorted case insensitively with builtin sources last', () => {
|
|
|
- expect(metricSources[0].name).toBe('aaa');
|
|
|
- expect(metricSources[1].name).toBe('BBB');
|
|
|
- expect(metricSources[2].name).toBe('mmm');
|
|
|
- expect(metricSources[3].name).toBe('ZZZ');
|
|
|
- expect(metricSources[4].name).toBe('--Grafana--');
|
|
|
- expect(metricSources[5].name).toBe('--Mixed--');
|
|
|
+ expect(metricSources[1].name).toBe('aaa');
|
|
|
+ expect(metricSources[2].name).toBe('BBB');
|
|
|
+ expect(metricSources[3].name).toBe('mmm');
|
|
|
+ expect(metricSources[4].name).toBe('ZZZ');
|
|
|
+ expect(metricSources[5].name).toBe('--Grafana--');
|
|
|
+ expect(metricSources[6].name).toBe('--Mixed--');
|
|
|
});
|
|
|
|
|
|
- beforeEach(() => {
|
|
|
- config.defaultDatasource = 'BBB';
|
|
|
+ it('should set default data source', () => {
|
|
|
+ expect(metricSources[3].name).toBe('default');
|
|
|
+ expect(metricSources[3].sort).toBe('BBB');
|
|
|
});
|
|
|
|
|
|
- it('should set default data source', () => {
|
|
|
- expect(metricSources[2].name).toBe('default');
|
|
|
- expect(metricSources[2].sort).toBe('BBB');
|
|
|
+ it('should set default inject the variable datasources', () => {
|
|
|
+ expect(metricSources[0].name).toBe('$datasource');
|
|
|
+ expect(metricSources[0].sort).toBe('$datasource');
|
|
|
});
|
|
|
});
|
|
|
});
|