kibana/x-pack/test/ui_capabilities
Pierre Gayvallet 99c6396fd5
Migrate Capabilities to new platform (#51438)
* create service skeleton

* move registerCapabilitiesModifier to capabilities service and rename to registerCapabilitiesSwitcher

* starts to move capabilities logic to CapabilitiesService

* move capabilities route to service

* add initial integration test for capabilities route

* capabilitiesMixin now delegates to capability service

* use server-side Capabilities import in server code

* update generated doc

* remove capabilities from injectedMetadatas

* use applications sent from client instead of server-registered navLinks

* disable authRequired for capabilities route

* (temp) exposes two endpoints for capabilities

* Add fetch-mock on capabilities call for karma tests

* adapt xpack Capabilities test - first attempt

* adapt x-pack ui_capabilities test

* add '/status' to the list of anonymous pages

* Add documentation on Capabilities APIs

* move Capabilities to core/types

* update generated docs

* add service tests

* protecting resolveCapabilities against added/removed capabilities

* update generated docs

* adapt mocks due to rebase

* add forgotten exports

* improve capabilities routes registering

* name capabilities registering methods

* resolve conflicts due to merge

* address review issues

* add comment about reason for exposing two routes

* extract createHttpServer test helper

* fix merge conflicts

* improve documentation

* remove `/status` anon registration as now done in NP status plugin

* fix merge conflicts
2019-12-03 09:34:49 +01:00
..
common Migrate Capabilities to new platform (#51438) 2019-12-03 09:34:49 +01:00
security_and_spaces Migrate Capabilities to new platform (#51438) 2019-12-03 09:34:49 +01:00
security_only Migrate Capabilities to new platform (#51438) 2019-12-03 09:34:49 +01:00
spaces_only Re-split ciGroups after pipeline rollout (#46375) 2019-09-25 15:18:37 -07:00
README.md Feature Controls (#31652) 2019-04-12 09:16:13 -07:00

UI Capability Tests

These tests give us the most coverage to ensure that spaces and security work independently and cooperatively. They each cover different situations, and are supplemented by functional UI tests to ensure that security and spaces independently are able to disable the UI elements. These tests are using a "foo" plugin to ensure that its UI capabilities are adjusted appropriately. We aren't using actual plugins/apps for these tests, as they are prone to change and that's not the point of these tests. These tests are to ensure that the primary UI capabilities are adjusted appropriately by both the security and spaces plugins.

Security and Spaces

We want to test for all combinations of the following users at the following spaces. The goal of these tests is to ensure that ui capabilities can be disabled by either the privileges at a specific space, or the space disabling the features.

Users

user with no kibana privileges superuser legacy all legacy read dual privileges all dual privileges read global read global all everything_space read everything_space all nothing_space read nothing_space all

Spaces

everything_space - all features enabled nothing_space - no features enabled

Security

The security tests focus on more permutations of user's privileges, and focus primarily on privileges granted globally (at all spaces).

Users

no kibana privileges superuser legacy all dual privileges all dual privileges read global read global all foo read foo all

Spaces

The Space tests focus on the result of disabling certain feature(s).

Spaces

everything enabled nothing enabled foo disabled