mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
Cross cluster search functional test with minimun privileges assigned to the test_user (#70007)
* using test_user with limited read permission to search profiler test * gitcheck * search profiler test using test_user * using limited roles and privileges for CCR * changed the global ccr role kibana section to be consistent with other roles with no feature controls * removed canvas role * changes to include pagination for 100 rows Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
parent
917598141f
commit
d79a6883bf
3 changed files with 25 additions and 1 deletions
|
@ -10,14 +10,20 @@ import { FtrProviderContext } from '../../ftr_provider_context';
|
|||
export default ({ getPageObjects, getService }: FtrProviderContext) => {
|
||||
const pageObjects = getPageObjects(['common', 'crossClusterReplication']);
|
||||
const log = getService('log');
|
||||
const security = getService('security');
|
||||
|
||||
describe('Home page', function () {
|
||||
before(async () => {
|
||||
await security.testUser.setRoles(['global_ccr_role']);
|
||||
await pageObjects.common.navigateToApp('crossClusterReplication');
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await security.testUser.restoreDefaults();
|
||||
});
|
||||
|
||||
it('Loads the app', async () => {
|
||||
await log.debug(`Checking for app title to be Cross-Cluster Replication`);
|
||||
log.debug(`Checking for app title to be Cross-Cluster Replication`);
|
||||
const appTitleText = await pageObjects.crossClusterReplication.appTitleText();
|
||||
expect(appTitleText).to.be('Cross-Cluster Replication');
|
||||
|
||||
|
|
|
@ -242,6 +242,20 @@ export default async function ({ readConfigFile }) {
|
|||
],
|
||||
},
|
||||
|
||||
global_ccr_role: {
|
||||
elasticsearch: {
|
||||
cluster: ['manage', 'manage_ccr'],
|
||||
},
|
||||
kibana: [
|
||||
{
|
||||
feature: {
|
||||
discover: ['read'],
|
||||
},
|
||||
spaces: ['*'],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
//Kibana feature privilege isn't specific to advancedSetting. It can be anything. https://github.com/elastic/kibana/issues/35965
|
||||
test_api_keys: {
|
||||
elasticsearch: {
|
||||
|
|
|
@ -315,6 +315,8 @@ export function SecurityPageProvider({ getService, getPageObjects }: FtrProvider
|
|||
|
||||
async getElasticsearchUsers() {
|
||||
const users = [];
|
||||
await testSubjects.click('tablePaginationPopoverButton');
|
||||
await testSubjects.click('tablePagination-100-rows');
|
||||
for (const user of await testSubjects.findAll('userRow')) {
|
||||
const fullnameElement = await user.findByTestSubject('userRowFullName');
|
||||
const usernameElement = await user.findByTestSubject('userRowUserName');
|
||||
|
@ -339,6 +341,8 @@ export function SecurityPageProvider({ getService, getPageObjects }: FtrProvider
|
|||
|
||||
async getElasticsearchRoles() {
|
||||
const roles = [];
|
||||
await testSubjects.click('tablePaginationPopoverButton');
|
||||
await testSubjects.click('tablePagination-100-rows');
|
||||
for (const role of await testSubjects.findAll('roleRow')) {
|
||||
const [rolename, reserved, deprecated] = await Promise.all([
|
||||
role.findByTestSubject('roleRowName').then((el) => el.getVisibleText()),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue