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:
Rashmi Kulkarni 2020-06-29 14:42:49 -07:00 committed by GitHub
parent 917598141f
commit d79a6883bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 1 deletions

View file

@ -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');

View file

@ -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: {

View file

@ -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()),