From f37c8c10c54fa73387b6a3ec43871cb120507f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Mon, 29 Mar 2021 14:10:40 +0200 Subject: [PATCH] Variables: Fixes problem with data source variable when default ds is selected (#32384) --- public/app/features/plugins/datasource_srv.ts | 3 +++ public/app/features/plugins/specs/datasource_srv.test.ts | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/public/app/features/plugins/datasource_srv.ts b/public/app/features/plugins/datasource_srv.ts index b2ab9dc919a..c09318c59a6 100644 --- a/public/app/features/plugins/datasource_srv.ts +++ b/public/app/features/plugins/datasource_srv.ts @@ -69,6 +69,9 @@ export class DatasourceSrv implements DataSourceService { // The return name or uid needs preservet string containing the variable const clone = cloneDeep(dsSettings); clone.name = nameOrUid; + // A data source being looked up using a variable should not be considered default + clone.isDefault = false; + return clone; } diff --git a/public/app/features/plugins/specs/datasource_srv.test.ts b/public/app/features/plugins/specs/datasource_srv.test.ts index 1ff4e03af9d..63e19d13a43 100644 --- a/public/app/features/plugins/specs/datasource_srv.test.ts +++ b/public/app/features/plugins/specs/datasource_srv.test.ts @@ -77,6 +77,7 @@ describe('datasource_srv', () => { name: 'BBB', uid: 'uid-code-BBB', meta: { metrics: true }, + isDefault: true, }, Jaeger: { type: 'jaeger-db', @@ -127,6 +128,11 @@ describe('datasource_srv', () => { expect(ds?.uid).toBe('uid-code-BBB'); }); + it('should not set isDefault when being fetched via variable', () => { + const ds = dataSourceSrv.getInstanceSettings('${datasource}'); + expect(ds?.isDefault).toBe(false); + }); + it('should work with variable', () => { const ds = dataSourceSrv.getInstanceSettings('${datasourceDefault}'); expect(ds?.name).toBe('${datasourceDefault}'); @@ -182,6 +188,7 @@ describe('datasource_srv', () => { "uid": "uid-code-aaa", }, Object { + "isDefault": true, "meta": Object { "metrics": true, },