From 2f6080211a63fcc07958a604dc7b49cee494f1c3 Mon Sep 17 00:00:00 2001 From: "grafana-delivery-bot[bot]" <132647405+grafana-delivery-bot[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 08:58:04 +0200 Subject: [PATCH] [v11.0.x] DashboardDataSource: Fixes issue where sometimes untransformed data could be returned (#87484) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DashboardDataSource: Fixes issue where sometimes untransformed data could be returned (#87433) * DashboardDataSource: always return a result key * Update * Update (cherry picked from commit e7c39f18bef193e94c11d4a3ecf654e843944bb8) Co-authored-by: Torkel Ödegaard --- .../plugins/datasource/dashboard/datasource.test.ts | 10 ++++++++++ public/app/plugins/datasource/dashboard/datasource.ts | 1 + 2 files changed, 11 insertions(+) diff --git a/public/app/plugins/datasource/dashboard/datasource.test.ts b/public/app/plugins/datasource/dashboard/datasource.test.ts index 58edb8dc8dd..b5e6b99cb77 100644 --- a/public/app/plugins/datasource/dashboard/datasource.test.ts +++ b/public/app/plugins/datasource/dashboard/datasource.test.ts @@ -26,6 +26,16 @@ describe('DashboardDatasource', () => { expect(rsp?.data[0].fields[0].values).toEqual([1, 2, 3]); }); + it('should always set response key', async () => { + const { observable } = setup({ refId: 'A', panelId: 1 }); + + let rsp: DataQueryResponse | undefined; + + observable.subscribe({ next: (data) => (rsp = data) }); + + expect(rsp?.key).toEqual('source-ds-provider'); + }); + it('Can subscribe to panel data + transforms', async () => { const { observable } = setup({ refId: 'A', panelId: 1, withTransforms: true }); diff --git a/public/app/plugins/datasource/dashboard/datasource.ts b/public/app/plugins/datasource/dashboard/datasource.ts index 439e573dd47..487475cc8ff 100644 --- a/public/app/plugins/datasource/dashboard/datasource.ts +++ b/public/app/plugins/datasource/dashboard/datasource.ts @@ -76,6 +76,7 @@ export class DashboardDatasource extends DataSourceApi { state: result.data.state, errors: result.data.errors, error: result.data.error, + key: 'source-ds-provider', }; }), finalize(cleanUp)