Skip to content

Commit

Permalink
Cross cluster search functional test with minimun privileges assigned…
Browse files Browse the repository at this point in the history
… 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 <[email protected]>
  • Loading branch information
rashmivkulkarni and elasticmachine authored Jun 29, 2020
1 parent 9175981 commit d79a688
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -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');

Expand Down
14 changes: 14 additions & 0 deletions x-pack/test/functional/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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: {
Expand Down
4 changes: 4 additions & 0 deletions x-pack/test/functional/page_objects/security_page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand All @@ -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()),
Expand Down

0 comments on commit d79a688

Please sign in to comment.