Public Dashboards Bug: Permissions error on panel when using mixed datasource with Enterprise (#51930)

Fixes pubdash bug for enterprise when pubdash panel uses a mixed datasource
This commit is contained in:
owensmallwood
2022-07-07 15:58:11 -06:00
committed by GitHub
parent e1d36754a1
commit 2aff83d4e1
4 changed files with 139 additions and 5 deletions

View File

@@ -7,6 +7,7 @@ import {
PUBLIC_DATASOURCE,
PublicDashboardDataSource,
} from '../../../../public/app/features/dashboard/services/PublicDashboardDataSource';
import { MIXED_DATASOURCE_NAME } from '../../../../public/app/plugins/datasource/mixed/MixedDataSource';
import { DataSourceWithBackend } from './DataSourceWithBackend';
@@ -75,4 +76,26 @@ describe('PublicDashboardDatasource', () => {
let ds = new PublicDashboardDataSource(datasource);
expect(ds.uid).toBe('abc123');
});
test('isMixedDatasource returns true when datasource is mixed', () => {
const datasource = new DataSourceWithBackend({ id: 1, uid: MIXED_DATASOURCE_NAME } as DataSourceInstanceSettings);
let ds = new PublicDashboardDataSource(datasource);
expect(ds.meta.mixed).toBeTruthy();
});
test('isMixedDatasource returns false when datasource is not mixed', () => {
const datasource = new DataSourceWithBackend({ id: 1, uid: 'abc123' } as DataSourceInstanceSettings);
let ds = new PublicDashboardDataSource(datasource);
expect(ds.meta.mixed).toBeFalsy();
});
test('isMixedDatasource returns false when datasource is a string', () => {
let ds = new PublicDashboardDataSource('abc123');
expect(ds.meta.mixed).toBeFalsy();
});
test('isMixedDatasource returns false when datasource is null', () => {
let ds = new PublicDashboardDataSource(null);
expect(ds.meta.mixed).toBeFalsy();
});
});