mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[7.x] Feature Controls - Allow telemetry to be toggled with advancedSettings feature privilege (#35250) (#35596)
* Allow telemetry to be toggled with feature privileges
This commit is contained in:
parent
0f586ed4c6
commit
6e62eeb95d
24 changed files with 689 additions and 122 deletions
|
@ -61,7 +61,7 @@ export default function (kibana) {
|
|||
api: [],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: ['show'],
|
||||
},
|
||||
|
@ -69,7 +69,7 @@ export default function (kibana) {
|
|||
api: [],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: ['show'],
|
||||
},
|
||||
|
|
|
@ -578,6 +578,7 @@ exports[`AdvancedSettings should render normally 1`] = `
|
|||
showNoResultsMessage={true}
|
||||
/>
|
||||
<advanced_settings_page_footer
|
||||
enableSaving={true}
|
||||
onQueryMatchChange={[Function]}
|
||||
query={
|
||||
Query {
|
||||
|
@ -738,6 +739,7 @@ exports[`AdvancedSettings should render read-only when saving is disabled 1`] =
|
|||
showNoResultsMessage={true}
|
||||
/>
|
||||
<advanced_settings_page_footer
|
||||
enableSaving={false}
|
||||
onQueryMatchChange={[Function]}
|
||||
query={
|
||||
Query {
|
||||
|
@ -916,6 +918,7 @@ exports[`AdvancedSettings should render specific setting if given setting key 1`
|
|||
showNoResultsMessage={true}
|
||||
/>
|
||||
<advanced_settings_page_footer
|
||||
enableSaving={true}
|
||||
onQueryMatchChange={[Function]}
|
||||
query={
|
||||
Query {
|
||||
|
|
|
@ -188,7 +188,7 @@ export class AdvancedSettings extends Component {
|
|||
showNoResultsMessage={!footerQueryMatched}
|
||||
enableSaving={this.props.enableSaving}
|
||||
/>
|
||||
<PageFooter query={query} onQueryMatchChange={this.onFooterQueryMatchChange} />
|
||||
<PageFooter query={query} onQueryMatchChange={this.onFooterQueryMatchChange} enableSaving={this.props.enableSaving} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ export function apm(kibana: any) {
|
|||
catalogue: ['apm'],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config']
|
||||
read: []
|
||||
},
|
||||
ui: ['show']
|
||||
},
|
||||
|
@ -94,7 +94,7 @@ export function apm(kibana: any) {
|
|||
catalogue: ['apm'],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config']
|
||||
read: []
|
||||
},
|
||||
ui: ['show']
|
||||
}
|
||||
|
|
|
@ -46,14 +46,14 @@ export default async function(server /*options*/) {
|
|||
all: {
|
||||
savedObject: {
|
||||
all: ['canvas-workpad'],
|
||||
read: ['config', 'index-pattern'],
|
||||
read: ['index-pattern'],
|
||||
},
|
||||
ui: ['save'],
|
||||
},
|
||||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config', 'index-pattern', 'canvas-workpad'],
|
||||
read: ['index-pattern', 'canvas-workpad'],
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
|
|
@ -62,14 +62,14 @@ export function graph(kibana) {
|
|||
all: {
|
||||
savedObject: {
|
||||
all: ['graph-workspace'],
|
||||
read: ['config', 'index-pattern'],
|
||||
read: ['index-pattern'],
|
||||
},
|
||||
ui: ['save', 'delete'],
|
||||
},
|
||||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config', 'index-pattern', 'graph-workspace'],
|
||||
read: ['index-pattern', 'graph-workspace'],
|
||||
},
|
||||
ui: [],
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ export const initServerWithKibana = (kbnServer: KbnServer) => {
|
|||
api: ['infra'],
|
||||
savedObject: {
|
||||
all: ['infrastructure-ui-source'],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: ['show', 'configureSource'],
|
||||
},
|
||||
|
@ -45,7 +45,7 @@ export const initServerWithKibana = (kbnServer: KbnServer) => {
|
|||
api: ['infra'],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config', 'infrastructure-ui-source'],
|
||||
read: ['infrastructure-ui-source'],
|
||||
},
|
||||
ui: ['show'],
|
||||
},
|
||||
|
@ -66,7 +66,7 @@ export const initServerWithKibana = (kbnServer: KbnServer) => {
|
|||
api: ['infra'],
|
||||
savedObject: {
|
||||
all: ['infrastructure-ui-source'],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: ['show', 'configureSource'],
|
||||
},
|
||||
|
@ -74,7 +74,7 @@ export const initServerWithKibana = (kbnServer: KbnServer) => {
|
|||
api: ['infra'],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config', 'infrastructure-ui-source'],
|
||||
read: ['infrastructure-ui-source'],
|
||||
},
|
||||
ui: ['show'],
|
||||
},
|
||||
|
|
|
@ -16,7 +16,7 @@ import { watchStatusAndLicenseToInitialize } from
|
|||
'../../server/lib/watch_status_and_license_to_initialize';
|
||||
import { initTelemetryCollection } from './server/maps_telemetry';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { APP_ID, APP_ICON, createMapPath } from './common/constants';
|
||||
import { APP_ID, APP_ICON, createMapPath } from './common/constants';
|
||||
import { getAppTitle } from './common/i18n_getters';
|
||||
|
||||
export function maps(kibana) {
|
||||
|
@ -92,14 +92,14 @@ export function maps(kibana) {
|
|||
all: {
|
||||
savedObject: {
|
||||
all: ['map'],
|
||||
read: ['config', 'index-pattern']
|
||||
read: ['index-pattern']
|
||||
},
|
||||
ui: ['save'],
|
||||
},
|
||||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['map', 'config', 'index-pattern']
|
||||
read: ['map', 'index-pattern']
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
|
|
@ -94,7 +94,7 @@ export const ml = (kibana) => {
|
|||
privilege: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config']
|
||||
read: []
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
|
|
@ -69,7 +69,7 @@ export const init = (monitoringPlugin, server) => {
|
|||
privilege: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config']
|
||||
read: []
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
|
|
@ -41,7 +41,7 @@ export const initServerWithKibana = (server: KibanaServer) => {
|
|||
api: ['uptime'],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
@ -49,7 +49,7 @@ export const initServerWithKibana = (server: KibanaServer) => {
|
|||
api: ['uptime'],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
|
|
@ -30,6 +30,7 @@ exports[`TelemetryForm renders as expected 1`] = `
|
|||
/>
|
||||
<InjectIntl(FieldUI)
|
||||
clear={[Function]}
|
||||
enableSaving={true}
|
||||
save={[Function]}
|
||||
setting={
|
||||
Object {
|
||||
|
|
|
@ -30,6 +30,7 @@ export class TelemetryForm extends Component {
|
|||
onQueryMatchChange: PropTypes.func.isRequired,
|
||||
spacesEnabled: PropTypes.bool.isRequired,
|
||||
activeSpace: PropTypes.object,
|
||||
enableSaving: PropTypes.bool.isRequired,
|
||||
};
|
||||
|
||||
state = {
|
||||
|
@ -100,6 +101,7 @@ export class TelemetryForm extends Component {
|
|||
}}
|
||||
save={this.toggleOptIn}
|
||||
clear={this.toggleOptIn}
|
||||
enableSaving={this.props.enableSaving}
|
||||
/>
|
||||
</EuiForm>
|
||||
</EuiPanel>
|
||||
|
|
|
@ -46,6 +46,7 @@ describe('TelemetryForm', () => {
|
|||
query={{ text: '' }}
|
||||
onQueryMatchChange={jest.fn()}
|
||||
telemetryOptInProvider={buildTelemetryOptInProvider()}
|
||||
enableSaving={true}
|
||||
/>)
|
||||
).toMatchSnapshot();
|
||||
});
|
||||
|
|
|
@ -47,8 +47,8 @@ describe('FeatureRegistry', () => {
|
|||
},
|
||||
app: ['app1'],
|
||||
savedObject: {
|
||||
all: ['config', 'space', 'etc'],
|
||||
read: ['canvas'],
|
||||
all: ['space', 'etc', 'telemetry'],
|
||||
read: ['canvas', 'config'],
|
||||
},
|
||||
api: ['someApiEndpointTag', 'anotherEndpointTag'],
|
||||
ui: ['allowsFoo', 'showBar', 'showBaz'],
|
||||
|
@ -63,8 +63,8 @@ describe('FeatureRegistry', () => {
|
|||
},
|
||||
app: ['app1'],
|
||||
savedObject: {
|
||||
all: ['config', 'space', 'etc'],
|
||||
read: ['canvas'],
|
||||
all: ['space', 'etc', 'telemetry'],
|
||||
read: ['canvas', 'config'],
|
||||
},
|
||||
api: ['someApiEndpointTag', 'anotherEndpointTag'],
|
||||
ui: ['allowsFoo', 'showBar', 'showBaz'],
|
||||
|
@ -83,6 +83,124 @@ describe('FeatureRegistry', () => {
|
|||
expect(result[0]).toEqual(feature);
|
||||
});
|
||||
|
||||
it(`automatically grants 'all' access to telemetry saved objects for the 'all' privilege`, () => {
|
||||
const feature: Feature = {
|
||||
id: 'test-feature',
|
||||
name: 'Test Feature',
|
||||
app: [],
|
||||
privileges: {
|
||||
all: {
|
||||
ui: [],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: [],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const featureRegistry = new FeatureRegistry();
|
||||
featureRegistry.register(feature);
|
||||
const result = featureRegistry.getAll();
|
||||
|
||||
const allPrivilege = result[0].privileges.all;
|
||||
expect(allPrivilege.savedObject.all).toEqual(['telemetry']);
|
||||
});
|
||||
|
||||
it(`automatically grants 'read' access to config saved objects for both privileges`, () => {
|
||||
const feature: Feature = {
|
||||
id: 'test-feature',
|
||||
name: 'Test Feature',
|
||||
app: [],
|
||||
privileges: {
|
||||
all: {
|
||||
ui: [],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: [],
|
||||
},
|
||||
},
|
||||
read: {
|
||||
ui: [],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: [],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const featureRegistry = new FeatureRegistry();
|
||||
featureRegistry.register(feature);
|
||||
const result = featureRegistry.getAll();
|
||||
|
||||
const allPrivilege = result[0].privileges.all;
|
||||
const readPrivilege = result[0].privileges.read;
|
||||
expect(allPrivilege.savedObject.read).toEqual(['config']);
|
||||
expect(readPrivilege.savedObject.read).toEqual(['config']);
|
||||
});
|
||||
|
||||
it(`automatically grants 'all' access to telemetry and 'read' to config saved objects for the reserved privilege`, () => {
|
||||
const feature: Feature = {
|
||||
id: 'test-feature',
|
||||
name: 'Test Feature',
|
||||
app: [],
|
||||
privileges: {},
|
||||
reserved: {
|
||||
description: 'foo',
|
||||
privilege: {
|
||||
ui: [],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: [],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const featureRegistry = new FeatureRegistry();
|
||||
featureRegistry.register(feature);
|
||||
const result = featureRegistry.getAll();
|
||||
|
||||
const reservedPrivilege = result[0]!.reserved!.privilege;
|
||||
expect(reservedPrivilege.savedObject.all).toEqual(['telemetry']);
|
||||
expect(reservedPrivilege.savedObject.read).toEqual(['config']);
|
||||
});
|
||||
|
||||
it(`does not duplicate the automatic grants if specified on the incoming feature`, () => {
|
||||
const feature: Feature = {
|
||||
id: 'test-feature',
|
||||
name: 'Test Feature',
|
||||
app: [],
|
||||
privileges: {
|
||||
all: {
|
||||
ui: [],
|
||||
savedObject: {
|
||||
all: ['telemetry'],
|
||||
read: ['config'],
|
||||
},
|
||||
},
|
||||
read: {
|
||||
ui: [],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config'],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const featureRegistry = new FeatureRegistry();
|
||||
featureRegistry.register(feature);
|
||||
const result = featureRegistry.getAll();
|
||||
|
||||
const allPrivilege = result[0].privileges.all;
|
||||
const readPrivilege = result[0].privileges.read;
|
||||
expect(allPrivilege.savedObject.all).toEqual(['telemetry']);
|
||||
expect(allPrivilege.savedObject.read).toEqual(['config']);
|
||||
expect(readPrivilege.savedObject.read).toEqual(['config']);
|
||||
});
|
||||
|
||||
it(`does not allow duplicate features to be registered`, () => {
|
||||
const feature: Feature = {
|
||||
id: 'test-feature',
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
import Joi from 'joi';
|
||||
import { cloneDeep, difference } from 'lodash';
|
||||
import { cloneDeep, difference, uniq } from 'lodash';
|
||||
import { UICapabilities } from 'ui/capabilities';
|
||||
|
||||
export interface FeatureKibanaPrivileges {
|
||||
|
@ -124,7 +124,9 @@ export class FeatureRegistry {
|
|||
throw new Error(`Feature with id ${feature.id} is already registered.`);
|
||||
}
|
||||
|
||||
this.features[feature.id] = feature as Feature;
|
||||
const featureCopy: Feature = cloneDeep(feature as Feature);
|
||||
|
||||
this.features[feature.id] = applyAutomaticPrivilegeGrants(featureCopy as Feature);
|
||||
}
|
||||
|
||||
public getAll(): Feature[] {
|
||||
|
@ -194,3 +196,32 @@ function validateFeature(feature: FeatureWithAllOrReadPrivileges) {
|
|||
);
|
||||
});
|
||||
}
|
||||
|
||||
function applyAutomaticPrivilegeGrants(feature: Feature): Feature {
|
||||
const { all: allPrivilege, read: readPrivilege } = feature.privileges;
|
||||
const reservedPrivilege = feature.reserved ? feature.reserved.privilege : null;
|
||||
|
||||
applyAutomaticAllPrivilegeGrants(allPrivilege, reservedPrivilege);
|
||||
applyAutomaticReadPrivilegeGrants(readPrivilege);
|
||||
|
||||
return feature;
|
||||
}
|
||||
|
||||
function applyAutomaticAllPrivilegeGrants(...allPrivileges: Array<FeatureKibanaPrivileges | null>) {
|
||||
allPrivileges.forEach(allPrivilege => {
|
||||
if (allPrivilege) {
|
||||
allPrivilege.savedObject.all = uniq([...allPrivilege.savedObject.all, 'telemetry']);
|
||||
allPrivilege.savedObject.read = uniq([...allPrivilege.savedObject.read, 'config']);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function applyAutomaticReadPrivilegeGrants(
|
||||
...readPrivileges: Array<FeatureKibanaPrivileges | null>
|
||||
) {
|
||||
readPrivileges.forEach(readPrivilege => {
|
||||
if (readPrivilege) {
|
||||
readPrivilege.savedObject.read = uniq([...readPrivilege.savedObject.read, 'config']);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -20,14 +20,14 @@ const kibanaFeatures: Feature[] = [
|
|||
all: {
|
||||
savedObject: {
|
||||
all: ['search', 'url'],
|
||||
read: ['config', 'index-pattern'],
|
||||
read: ['index-pattern'],
|
||||
},
|
||||
ui: ['show', 'createShortUrl', 'save'],
|
||||
},
|
||||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config', 'index-pattern', 'search', 'url'],
|
||||
read: ['index-pattern', 'search', 'url'],
|
||||
},
|
||||
ui: ['show'],
|
||||
},
|
||||
|
@ -46,14 +46,14 @@ const kibanaFeatures: Feature[] = [
|
|||
all: {
|
||||
savedObject: {
|
||||
all: ['visualization', 'url'],
|
||||
read: ['config', 'index-pattern', 'search'],
|
||||
read: ['index-pattern', 'search'],
|
||||
},
|
||||
ui: ['show', 'createShortUrl', 'delete', 'save'],
|
||||
},
|
||||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config', 'index-pattern', 'search', 'visualization'],
|
||||
read: ['index-pattern', 'search', 'visualization'],
|
||||
},
|
||||
ui: ['show'],
|
||||
},
|
||||
|
@ -73,7 +73,6 @@ const kibanaFeatures: Feature[] = [
|
|||
savedObject: {
|
||||
all: ['dashboard', 'url'],
|
||||
read: [
|
||||
'config',
|
||||
'index-pattern',
|
||||
'search',
|
||||
'visualization',
|
||||
|
@ -88,7 +87,6 @@ const kibanaFeatures: Feature[] = [
|
|||
savedObject: {
|
||||
all: [],
|
||||
read: [
|
||||
'config',
|
||||
'index-pattern',
|
||||
'search',
|
||||
'visualization',
|
||||
|
@ -116,7 +114,7 @@ const kibanaFeatures: Feature[] = [
|
|||
api: ['console'],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: ['show'],
|
||||
},
|
||||
|
@ -124,7 +122,7 @@ const kibanaFeatures: Feature[] = [
|
|||
api: ['console'],
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: ['show'],
|
||||
},
|
||||
|
@ -156,7 +154,7 @@ const kibanaFeatures: Feature[] = [
|
|||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
@ -177,14 +175,14 @@ const kibanaFeatures: Feature[] = [
|
|||
all: {
|
||||
savedObject: {
|
||||
all: ['index-pattern'],
|
||||
read: ['config'],
|
||||
read: [],
|
||||
},
|
||||
ui: ['createNew'],
|
||||
},
|
||||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['index-pattern', 'config'],
|
||||
read: ['index-pattern'],
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
@ -204,14 +202,14 @@ const timelionFeatures: Feature[] = [
|
|||
all: {
|
||||
savedObject: {
|
||||
all: ['timelion-sheet'],
|
||||
read: ['config', 'index-pattern'],
|
||||
read: ['index-pattern'],
|
||||
},
|
||||
ui: ['save'],
|
||||
},
|
||||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['config', 'index-pattern', 'timelion-sheet'],
|
||||
read: ['index-pattern', 'timelion-sheet'],
|
||||
},
|
||||
ui: [],
|
||||
},
|
||||
|
|
|
@ -0,0 +1,206 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License;
|
||||
* you may not use this file except in compliance with the Elastic License.
|
||||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { SuperTest } from 'supertest';
|
||||
import { SecurityService, SpacesService } from '../../../../common/services';
|
||||
import { KibanaFunctionalTestDefaultProviders } from '../../../../types/providers';
|
||||
|
||||
// eslint-disable-next-line import/no-default-export
|
||||
export default function featureControlsTests({ getService }: KibanaFunctionalTestDefaultProviders) {
|
||||
const supertest: SuperTest<any> = getService('supertestWithoutAuth');
|
||||
const security: SecurityService = getService('security');
|
||||
const spaces: SpacesService = getService('spaces');
|
||||
|
||||
const expect403 = (result: any) => {
|
||||
expect(result.error).to.be(undefined);
|
||||
expect(result.response).not.to.be(undefined);
|
||||
expect(result.response).to.have.property('statusCode', 403);
|
||||
};
|
||||
|
||||
const expectResponse = (result: any) => {
|
||||
expect(result.error).to.be(undefined);
|
||||
expect(result.response).not.to.be(undefined);
|
||||
expect(result.response).to.have.property('statusCode', 200);
|
||||
};
|
||||
|
||||
async function saveAdvancedSetting(username: string, password: string, spaceId?: string) {
|
||||
const basePath = spaceId ? `/s/${spaceId}` : '';
|
||||
|
||||
return await supertest
|
||||
.post(`${basePath}/api/kibana/settings`)
|
||||
.auth(username, password)
|
||||
.set('kbn-xsrf', 'foo')
|
||||
.send({ changes: { 'csv:quoteValues': null } })
|
||||
.then((response: any) => ({ error: undefined, response }))
|
||||
.catch((error: any) => ({ error, response: undefined }));
|
||||
}
|
||||
|
||||
async function saveTelemetrySetting(username: string, password: string, spaceId?: string) {
|
||||
const basePath = spaceId ? `/s/${spaceId}` : '';
|
||||
|
||||
return await supertest
|
||||
.post(`${basePath}/api/telemetry/v1/optIn`)
|
||||
.auth(username, password)
|
||||
.set('kbn-xsrf', 'foo')
|
||||
.send({ enabled: true })
|
||||
.then((response: any) => ({ error: undefined, response }))
|
||||
.catch((error: any) => ({ error, response: undefined }));
|
||||
}
|
||||
|
||||
describe('feature controls', () => {
|
||||
it(`settings can be saved with the advancedSettings: ["all"] feature privilege`, async () => {
|
||||
const username = 'settings_all';
|
||||
const roleName = 'settings_all';
|
||||
const password = `${username}-password`;
|
||||
try {
|
||||
await security.role.create(roleName, {
|
||||
kibana: [
|
||||
{
|
||||
feature: {
|
||||
advancedSettings: ['all'],
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
await security.user.create(username, {
|
||||
password,
|
||||
roles: [roleName],
|
||||
full_name: 'a kibana user',
|
||||
});
|
||||
|
||||
const regularSettingResult = await saveAdvancedSetting(username, password);
|
||||
expectResponse(regularSettingResult);
|
||||
|
||||
const telemetryResult = await saveTelemetrySetting(username, password);
|
||||
expectResponse(telemetryResult);
|
||||
} finally {
|
||||
await security.role.delete(roleName);
|
||||
await security.user.delete(username);
|
||||
}
|
||||
});
|
||||
|
||||
it(`settings cannot be saved with the advancedSettings: ["read"] feature privilege`, async () => {
|
||||
const username = 'settings_read';
|
||||
const roleName = 'settings_read';
|
||||
const password = `${username}-password`;
|
||||
try {
|
||||
await security.role.create(roleName, {
|
||||
kibana: [
|
||||
{
|
||||
feature: {
|
||||
advancedSettings: ['read'],
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
await security.user.create(username, {
|
||||
password,
|
||||
roles: [roleName],
|
||||
full_name: 'a kibana user',
|
||||
});
|
||||
|
||||
const regularSettingResult = await saveAdvancedSetting(username, password);
|
||||
expect403(regularSettingResult);
|
||||
|
||||
const telemetryResult = await saveTelemetrySetting(username, password);
|
||||
expect403(telemetryResult);
|
||||
} finally {
|
||||
await security.role.delete(roleName);
|
||||
await security.user.delete(username);
|
||||
}
|
||||
});
|
||||
|
||||
describe('spaces', () => {
|
||||
// the following tests create a user_1 which has dashboard all access to space_1 and dashboard read access to space_2
|
||||
const space1Id = 'space_1';
|
||||
const space2Id = 'space_2';
|
||||
const space3Id = 'space_3';
|
||||
|
||||
const roleName = 'user_1';
|
||||
const username = 'user_1';
|
||||
const password = 'user_1-password';
|
||||
|
||||
before(async () => {
|
||||
await spaces.create({
|
||||
id: space1Id,
|
||||
name: space1Id,
|
||||
disabledFeatures: [],
|
||||
});
|
||||
await spaces.create({
|
||||
id: space2Id,
|
||||
name: space2Id,
|
||||
disabledFeatures: [],
|
||||
});
|
||||
await spaces.create({
|
||||
id: space3Id,
|
||||
name: space3Id,
|
||||
disabledFeatures: [],
|
||||
});
|
||||
await security.role.create(roleName, {
|
||||
kibana: [
|
||||
{
|
||||
feature: {
|
||||
advancedSettings: ['all'],
|
||||
},
|
||||
spaces: [space1Id],
|
||||
},
|
||||
{
|
||||
feature: {
|
||||
dashboard: ['all'],
|
||||
},
|
||||
spaces: [space2Id],
|
||||
},
|
||||
{
|
||||
feature: {
|
||||
dashboard: ['read'],
|
||||
},
|
||||
spaces: [space3Id],
|
||||
},
|
||||
],
|
||||
});
|
||||
await security.user.create(username, {
|
||||
password,
|
||||
roles: [roleName],
|
||||
});
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await spaces.delete(space1Id);
|
||||
await spaces.delete(space2Id);
|
||||
await spaces.delete(space3Id);
|
||||
await security.role.delete(roleName);
|
||||
await security.user.delete(username);
|
||||
});
|
||||
|
||||
it('user_1 can save settings and telemetry in space_1', async () => {
|
||||
const regularSettingResult = await saveAdvancedSetting(username, password, space1Id);
|
||||
expectResponse(regularSettingResult);
|
||||
|
||||
const telemetryResult = await saveTelemetrySetting(username, password, space1Id);
|
||||
expectResponse(telemetryResult);
|
||||
});
|
||||
|
||||
it(`user_1 can only save telemetry in space_2`, async () => {
|
||||
const regularSettingResult = await saveAdvancedSetting(username, password, space2Id);
|
||||
expect403(regularSettingResult);
|
||||
|
||||
const telemetryResult = await saveTelemetrySetting(username, password, space2Id);
|
||||
expectResponse(telemetryResult);
|
||||
});
|
||||
|
||||
it(`user_1 can't save either settings or telemetry in space_3`, async () => {
|
||||
const regularSettingResult = await saveAdvancedSetting(username, password, space3Id);
|
||||
expect403(regularSettingResult);
|
||||
|
||||
const telemetryResult = await saveTelemetrySetting(username, password, space3Id);
|
||||
expect403(telemetryResult);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License;
|
||||
* you may not use this file except in compliance with the Elastic License.
|
||||
*/
|
||||
|
||||
import { KibanaFunctionalTestDefaultProviders } from '../../../../types/providers';
|
||||
|
||||
// eslint-disable-next-line import/no-default-export
|
||||
export default function({ loadTestFile }: KibanaFunctionalTestDefaultProviders) {
|
||||
describe('advanced settings', () => {
|
||||
loadTestFile(require.resolve('./feature_controls'));
|
||||
});
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
export default function ({ loadTestFile }) {
|
||||
describe('management', () => {
|
||||
loadTestFile(require.resolve('./advanced_settings'));
|
||||
loadTestFile(require.resolve('./cross_cluster_replication'));
|
||||
loadTestFile(require.resolve('./remote_clusters'));
|
||||
loadTestFile(require.resolve('./rollup'));
|
||||
|
|
|
@ -54,20 +54,30 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:url/bulk_create`,
|
||||
`saved_object:${version}:url/update`,
|
||||
`saved_object:${version}:url/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/search/delete`,
|
||||
`ui:${version}:savedObjectsManagement/search/edit`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/url/delete`,
|
||||
`ui:${version}:savedObjectsManagement/url/edit`,
|
||||
`ui:${version}:savedObjectsManagement/url/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:discover/show`,
|
||||
`ui:${version}:discover/createShortUrl`,
|
||||
`ui:${version}:discover/save`,
|
||||
|
@ -79,9 +89,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/discover`,
|
||||
`ui:${version}:navLinks/kibana:discover`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
|
@ -91,10 +98,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:url/bulk_get`,
|
||||
`saved_object:${version}:url/get`,
|
||||
`saved_object:${version}:url/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/url/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:discover/show`,
|
||||
],
|
||||
},
|
||||
|
@ -119,24 +129,34 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:url/bulk_create`,
|
||||
`saved_object:${version}:url/update`,
|
||||
`saved_object:${version}:url/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:search/bulk_get`,
|
||||
`saved_object:${version}:search/get`,
|
||||
`saved_object:${version}:search/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/visualization/delete`,
|
||||
`ui:${version}:savedObjectsManagement/visualization/edit`,
|
||||
`ui:${version}:savedObjectsManagement/visualization/read`,
|
||||
`ui:${version}:savedObjectsManagement/url/delete`,
|
||||
`ui:${version}:savedObjectsManagement/url/edit`,
|
||||
`ui:${version}:savedObjectsManagement/url/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:visualize/show`,
|
||||
`ui:${version}:visualize/createShortUrl`,
|
||||
`ui:${version}:visualize/delete`,
|
||||
|
@ -149,9 +169,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/visualize`,
|
||||
`ui:${version}:navLinks/kibana:visualize`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
|
@ -161,10 +178,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:visualization/bulk_get`,
|
||||
`saved_object:${version}:visualization/get`,
|
||||
`saved_object:${version}:visualization/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/visualization/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:visualize/show`,
|
||||
],
|
||||
},
|
||||
|
@ -189,9 +209,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:url/bulk_create`,
|
||||
`saved_object:${version}:url/update`,
|
||||
`saved_object:${version}:url/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
|
@ -210,19 +234,25 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:map/bulk_get`,
|
||||
`saved_object:${version}:map/get`,
|
||||
`saved_object:${version}:map/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/dashboard/delete`,
|
||||
`ui:${version}:savedObjectsManagement/dashboard/edit`,
|
||||
`ui:${version}:savedObjectsManagement/dashboard/read`,
|
||||
`ui:${version}:savedObjectsManagement/url/delete`,
|
||||
`ui:${version}:savedObjectsManagement/url/edit`,
|
||||
`ui:${version}:savedObjectsManagement/url/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/visualization/read`,
|
||||
`ui:${version}:savedObjectsManagement/timelion-sheet/read`,
|
||||
`ui:${version}:savedObjectsManagement/canvas-workpad/read`,
|
||||
`ui:${version}:savedObjectsManagement/map/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:dashboard/createNew`,
|
||||
`ui:${version}:dashboard/show`,
|
||||
`ui:${version}:dashboard/showWriteControls`,
|
||||
|
@ -234,9 +264,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/dashboard`,
|
||||
`ui:${version}:navLinks/kibana:dashboard`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
|
@ -258,7 +285,9 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:dashboard/bulk_get`,
|
||||
`saved_object:${version}:dashboard/get`,
|
||||
`saved_object:${version}:dashboard/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/visualization/read`,
|
||||
|
@ -266,6 +295,7 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`ui:${version}:savedObjectsManagement/canvas-workpad/read`,
|
||||
`ui:${version}:savedObjectsManagement/map/read`,
|
||||
`ui:${version}:savedObjectsManagement/dashboard/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:dashboard/show`,
|
||||
],
|
||||
},
|
||||
|
@ -279,9 +309,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`ui:${version}:catalogue/searchprofiler`,
|
||||
`ui:${version}:catalogue/grokdebugger`,
|
||||
`ui:${version}:navLinks/kibana:dev_tools`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:dev_tools/show`,
|
||||
'allHack:',
|
||||
|
@ -316,9 +356,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:config/bulk_create`,
|
||||
`saved_object:${version}:config/update`,
|
||||
`saved_object:${version}:config/delete`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/config/delete`,
|
||||
`ui:${version}:savedObjectsManagement/config/edit`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:advancedSettings/save`,
|
||||
'allHack:',
|
||||
],
|
||||
|
@ -348,12 +398,22 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:index-pattern/bulk_create`,
|
||||
`saved_object:${version}:index-pattern/update`,
|
||||
`saved_object:${version}:index-pattern/delete`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/delete`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/edit`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:indexPatterns/createNew`,
|
||||
'allHack:',
|
||||
|
@ -389,17 +449,27 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:timelion-sheet/bulk_create`,
|
||||
`saved_object:${version}:timelion-sheet/update`,
|
||||
`saved_object:${version}:timelion-sheet/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/timelion-sheet/delete`,
|
||||
`ui:${version}:savedObjectsManagement/timelion-sheet/edit`,
|
||||
`ui:${version}:savedObjectsManagement/timelion-sheet/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:timelion/save`,
|
||||
'allHack:',
|
||||
],
|
||||
|
@ -410,18 +480,18 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/timelion`,
|
||||
`ui:${version}:navLinks/timelion`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:timelion-sheet/bulk_get`,
|
||||
`saved_object:${version}:timelion-sheet/get`,
|
||||
`saved_object:${version}:timelion-sheet/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/timelion-sheet/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
],
|
||||
},
|
||||
graph: {
|
||||
|
@ -439,17 +509,27 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:graph-workspace/bulk_create`,
|
||||
`saved_object:${version}:graph-workspace/update`,
|
||||
`saved_object:${version}:graph-workspace/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/graph-workspace/delete`,
|
||||
`ui:${version}:savedObjectsManagement/graph-workspace/edit`,
|
||||
`ui:${version}:savedObjectsManagement/graph-workspace/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:graph/save`,
|
||||
`ui:${version}:graph/delete`,
|
||||
'allHack:',
|
||||
|
@ -461,18 +541,18 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/graph`,
|
||||
`ui:${version}:navLinks/graph`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:graph-workspace/bulk_get`,
|
||||
`saved_object:${version}:graph-workspace/get`,
|
||||
`saved_object:${version}:graph-workspace/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/graph-workspace/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
],
|
||||
},
|
||||
apm: {
|
||||
|
@ -484,9 +564,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/apm`,
|
||||
`ui:${version}:navLinks/apm`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:apm/show`,
|
||||
'allHack:',
|
||||
|
@ -515,9 +605,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:code`,
|
||||
`app:${version}:kibana`,
|
||||
`ui:${version}:navLinks/code`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:code/show`,
|
||||
`ui:${version}:code/user`,
|
||||
|
@ -554,17 +654,27 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:map/bulk_create`,
|
||||
`saved_object:${version}:map/update`,
|
||||
`saved_object:${version}:map/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/map/delete`,
|
||||
`ui:${version}:savedObjectsManagement/map/edit`,
|
||||
`ui:${version}:savedObjectsManagement/map/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:maps/save`,
|
||||
'allHack:',
|
||||
],
|
||||
|
@ -578,15 +688,15 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:map/bulk_get`,
|
||||
`saved_object:${version}:map/get`,
|
||||
`saved_object:${version}:map/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/map/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
],
|
||||
},
|
||||
canvas: {
|
||||
|
@ -604,17 +714,27 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:canvas-workpad/bulk_create`,
|
||||
`saved_object:${version}:canvas-workpad/update`,
|
||||
`saved_object:${version}:canvas-workpad/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/canvas-workpad/delete`,
|
||||
`ui:${version}:savedObjectsManagement/canvas-workpad/edit`,
|
||||
`ui:${version}:savedObjectsManagement/canvas-workpad/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:canvas/save`,
|
||||
'allHack:',
|
||||
],
|
||||
|
@ -625,18 +745,18 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/canvas`,
|
||||
`ui:${version}:navLinks/canvas`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:canvas-workpad/bulk_get`,
|
||||
`saved_object:${version}:canvas-workpad/get`,
|
||||
`saved_object:${version}:canvas-workpad/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/canvas-workpad/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
],
|
||||
},
|
||||
infrastructure: {
|
||||
|
@ -655,12 +775,22 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:infrastructure-ui-source/bulk_create`,
|
||||
`saved_object:${version}:infrastructure-ui-source/update`,
|
||||
`saved_object:${version}:infrastructure-ui-source/delete`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/delete`,
|
||||
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/edit`,
|
||||
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:infrastructure/show`,
|
||||
`ui:${version}:infrastructure/configureSource`,
|
||||
|
@ -674,14 +804,14 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/infraops`,
|
||||
`ui:${version}:navLinks/infra:home`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:infrastructure-ui-source/bulk_get`,
|
||||
`saved_object:${version}:infrastructure-ui-source/get`,
|
||||
`saved_object:${version}:infrastructure-ui-source/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:infrastructure/show`,
|
||||
],
|
||||
},
|
||||
|
@ -701,12 +831,22 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:infrastructure-ui-source/bulk_create`,
|
||||
`saved_object:${version}:infrastructure-ui-source/update`,
|
||||
`saved_object:${version}:infrastructure-ui-source/delete`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/delete`,
|
||||
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/edit`,
|
||||
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:logs/show`,
|
||||
`ui:${version}:logs/configureSource`,
|
||||
|
@ -720,14 +860,14 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/infralogging`,
|
||||
`ui:${version}:navLinks/infra:logs`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:infrastructure-ui-source/bulk_get`,
|
||||
`saved_object:${version}:infrastructure-ui-source/get`,
|
||||
`saved_object:${version}:infrastructure-ui-source/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:logs/show`,
|
||||
],
|
||||
},
|
||||
|
@ -740,9 +880,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/uptime`,
|
||||
`ui:${version}:navLinks/uptime`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
'allHack:',
|
||||
],
|
||||
|
@ -784,20 +934,30 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:url/bulk_create`,
|
||||
`saved_object:${version}:url/update`,
|
||||
`saved_object:${version}:url/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/search/delete`,
|
||||
`ui:${version}:savedObjectsManagement/search/edit`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/url/delete`,
|
||||
`ui:${version}:savedObjectsManagement/url/edit`,
|
||||
`ui:${version}:savedObjectsManagement/url/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:discover/show`,
|
||||
`ui:${version}:discover/createShortUrl`,
|
||||
`ui:${version}:discover/save`,
|
||||
|
@ -957,9 +1117,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/discover`,
|
||||
`ui:${version}:navLinks/kibana:discover`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
|
@ -969,10 +1126,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:url/bulk_get`,
|
||||
`saved_object:${version}:url/get`,
|
||||
`saved_object:${version}:url/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/url/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:discover/show`,
|
||||
`ui:${version}:catalogue/visualize`,
|
||||
`ui:${version}:navLinks/kibana:visualize`,
|
||||
|
@ -1075,20 +1235,30 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:url/bulk_create`,
|
||||
`saved_object:${version}:url/update`,
|
||||
`saved_object:${version}:url/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/search/delete`,
|
||||
`ui:${version}:savedObjectsManagement/search/edit`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/url/delete`,
|
||||
`ui:${version}:savedObjectsManagement/url/edit`,
|
||||
`ui:${version}:savedObjectsManagement/url/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:discover/show`,
|
||||
`ui:${version}:discover/createShortUrl`,
|
||||
`ui:${version}:discover/save`,
|
||||
|
@ -1248,9 +1418,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/discover`,
|
||||
`ui:${version}:navLinks/kibana:discover`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`saved_object:${version}:index-pattern/bulk_get`,
|
||||
`saved_object:${version}:index-pattern/get`,
|
||||
`saved_object:${version}:index-pattern/find`,
|
||||
|
@ -1260,10 +1427,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`saved_object:${version}:url/bulk_get`,
|
||||
`saved_object:${version}:url/get`,
|
||||
`saved_object:${version}:url/find`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/index-pattern/read`,
|
||||
`ui:${version}:savedObjectsManagement/search/read`,
|
||||
`ui:${version}:savedObjectsManagement/url/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
`ui:${version}:discover/show`,
|
||||
`ui:${version}:catalogue/visualize`,
|
||||
`ui:${version}:navLinks/kibana:visualize`,
|
||||
|
@ -1352,9 +1522,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/monitoring`,
|
||||
`ui:${version}:navLinks/monitoring`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
],
|
||||
ml: [
|
||||
|
@ -1363,9 +1543,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
|
|||
`app:${version}:kibana`,
|
||||
`ui:${version}:catalogue/ml`,
|
||||
`ui:${version}:navLinks/ml`,
|
||||
`saved_object:${version}:telemetry/bulk_get`,
|
||||
`saved_object:${version}:telemetry/get`,
|
||||
`saved_object:${version}:telemetry/find`,
|
||||
`saved_object:${version}:telemetry/create`,
|
||||
`saved_object:${version}:telemetry/bulk_create`,
|
||||
`saved_object:${version}:telemetry/update`,
|
||||
`saved_object:${version}:telemetry/delete`,
|
||||
`saved_object:${version}:config/bulk_get`,
|
||||
`saved_object:${version}:config/get`,
|
||||
`saved_object:${version}:config/find`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/delete`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/edit`,
|
||||
`ui:${version}:savedObjectsManagement/telemetry/read`,
|
||||
`ui:${version}:savedObjectsManagement/config/read`,
|
||||
],
|
||||
},
|
||||
|
|
|
@ -30,14 +30,14 @@ export default function (kibana) {
|
|||
all: {
|
||||
savedObject: {
|
||||
all: ['foo'],
|
||||
read: ['index-pattern', 'config'],
|
||||
read: ['index-pattern'],
|
||||
},
|
||||
ui: ['create', 'edit', 'delete', 'show'],
|
||||
},
|
||||
read: {
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: ['foo', 'index-pattern', 'config'],
|
||||
read: ['foo', 'index-pattern'],
|
||||
},
|
||||
ui: ['show'],
|
||||
}
|
||||
|
|
|
@ -59,6 +59,7 @@ export default function savedObjectsManagementTests({
|
|||
'visualization',
|
||||
'search',
|
||||
'dashboard',
|
||||
'telemetry',
|
||||
'timelion-sheet',
|
||||
'url',
|
||||
'infrastructure-ui-source',
|
||||
|
|
|
@ -53,6 +53,7 @@ export default function savedObjectsManagementTests({
|
|||
'visualization',
|
||||
'search',
|
||||
'dashboard',
|
||||
'telemetry',
|
||||
'timelion-sheet',
|
||||
'url',
|
||||
'infrastructure-ui-source',
|
||||
|
@ -87,7 +88,7 @@ export default function savedObjectsManagementTests({
|
|||
expect(uiCapabilities.value).to.have.property('savedObjectsManagement');
|
||||
expect(uiCapabilities.value!.savedObjectsManagement).to.eql(
|
||||
savedObjectsManagementBuilder.build({
|
||||
all: ['foo'],
|
||||
all: ['foo', 'telemetry'],
|
||||
read: ['index-pattern', 'config'],
|
||||
})
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue