mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
* [Maps] fix users without access to Maps should not have the option to create them * fix test message * wrap add geo field trigger in show capabilities check Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
f9bce39ad8
commit
a0d9f75f02
2 changed files with 62 additions and 30 deletions
|
@ -160,11 +160,19 @@ export class MapsPlugin
|
|||
|
||||
public start(core: CoreStart, plugins: MapsPluginStartDependencies): MapsStartApi {
|
||||
setLicensingPluginStart(plugins.licensing);
|
||||
plugins.uiActions.addTriggerAction(VISUALIZE_GEO_FIELD_TRIGGER, visualizeGeoFieldAction);
|
||||
setStartServices(core, plugins);
|
||||
|
||||
// unregisters the OSS alias
|
||||
plugins.visualizations.unRegisterAlias(PLUGIN_ID_OSS);
|
||||
|
||||
if (core.application.capabilities.maps.show) {
|
||||
plugins.uiActions.addTriggerAction(VISUALIZE_GEO_FIELD_TRIGGER, visualizeGeoFieldAction);
|
||||
}
|
||||
|
||||
if (!core.application.capabilities.maps.save) {
|
||||
plugins.visualizations.unRegisterAlias(APP_ID);
|
||||
}
|
||||
|
||||
return {
|
||||
createLayerDescriptors,
|
||||
registerLayerWizard,
|
||||
|
|
|
@ -12,42 +12,66 @@ export default function ({ getService, getPageObjects }) {
|
|||
const security = getService('security');
|
||||
|
||||
describe('visualize create menu', () => {
|
||||
before(async () => {
|
||||
await security.testUser.setRoles(
|
||||
['test_logstash_reader', 'global_maps_all', 'geoshape_data_reader', 'global_visualize_all'],
|
||||
false
|
||||
);
|
||||
describe('maps visualize alias', () => {
|
||||
describe('with write permission', () => {
|
||||
before(async () => {
|
||||
await security.testUser.setRoles(['global_maps_all', 'global_visualize_all'], false);
|
||||
|
||||
await PageObjects.visualize.navigateToNewVisualization();
|
||||
await PageObjects.visualize.navigateToNewVisualization();
|
||||
});
|
||||
|
||||
it('should show maps application in create menu', async () => {
|
||||
const hasMapsApp = await PageObjects.visualize.hasMapsApp();
|
||||
expect(hasMapsApp).to.equal(true);
|
||||
});
|
||||
|
||||
it('should take users to Maps application when Maps is clicked', async () => {
|
||||
await PageObjects.visualize.clickMapsApp();
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await PageObjects.maps.waitForLayersToLoad();
|
||||
const doesLayerExist = await PageObjects.maps.doesLayerExist('Road map');
|
||||
expect(doesLayerExist).to.equal(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('without write permission', () => {
|
||||
before(async () => {
|
||||
await security.testUser.setRoles(['global_maps_read', 'global_visualize_all'], false);
|
||||
|
||||
await PageObjects.visualize.navigateToNewVisualization();
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await security.testUser.restoreDefaults();
|
||||
});
|
||||
|
||||
it('should not show maps application in create menu', async () => {
|
||||
const hasMapsApp = await PageObjects.visualize.hasMapsApp();
|
||||
expect(hasMapsApp).to.equal(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await security.testUser.restoreDefaults();
|
||||
});
|
||||
describe('aggregion based visualizations', () => {
|
||||
before(async () => {
|
||||
await security.testUser.setRoles(['global_visualize_all'], false);
|
||||
|
||||
it('should show maps application in create menu', async () => {
|
||||
const hasMapsApp = await PageObjects.visualize.hasMapsApp();
|
||||
expect(hasMapsApp).to.equal(true);
|
||||
});
|
||||
await PageObjects.visualize.navigateToNewAggBasedVisualization();
|
||||
});
|
||||
|
||||
it('should not show legacy region map visualizion in create menu', async () => {
|
||||
await PageObjects.visualize.clickAggBasedVisualizations();
|
||||
const hasLegecyViz = await PageObjects.visualize.hasRegionMap();
|
||||
expect(hasLegecyViz).to.equal(false);
|
||||
});
|
||||
after(async () => {
|
||||
await security.testUser.restoreDefaults();
|
||||
});
|
||||
|
||||
it('should not show legacy tilemap map visualizion in create menu', async () => {
|
||||
const hasLegecyViz = await PageObjects.visualize.hasTileMap();
|
||||
expect(hasLegecyViz).to.equal(false);
|
||||
});
|
||||
it('should not show legacy region map visualizion in create menu', async () => {
|
||||
const hasLegecyViz = await PageObjects.visualize.hasRegionMap();
|
||||
expect(hasLegecyViz).to.equal(false);
|
||||
});
|
||||
|
||||
it('should take users to Maps application when Maps is clicked', async () => {
|
||||
await PageObjects.visualize.goBackToGroups();
|
||||
await PageObjects.visualize.clickMapsApp();
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await PageObjects.maps.waitForLayersToLoad();
|
||||
const doesLayerExist = await PageObjects.maps.doesLayerExist('Road map');
|
||||
expect(doesLayerExist).to.equal(true);
|
||||
it('should not show legacy tilemap map visualizion in create menu', async () => {
|
||||
const hasLegecyViz = await PageObjects.visualize.hasTileMap();
|
||||
expect(hasLegecyViz).to.equal(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue