mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
Migrated Snapshot and Restore tests to use test user (#126011)
* Migrated Snapshot and Restore tests to use test user. * added another permission to address unauthorized failure. * Added metadata perms for kibana administration. * Testing out different permissions. * Edited test to not refresh page after role is set. Causing errors. * Adjusted perms per documentation. * Addded link to the documentation specifying the permissions needed for snapshot restore. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
f4a13a883b
commit
d746bd4c5f
3 changed files with 26 additions and 3 deletions
|
@ -12,9 +12,11 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
|
|||
const pageObjects = getPageObjects(['common', 'snapshotRestore']);
|
||||
const log = getService('log');
|
||||
const es = getService('es');
|
||||
const security = getService('security');
|
||||
|
||||
describe('Home page', function () {
|
||||
before(async () => {
|
||||
await security.testUser.setRoles(['snapshot_restore_user'], false);
|
||||
await pageObjects.common.navigateToApp('snapshotRestore');
|
||||
});
|
||||
|
||||
|
@ -46,9 +48,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
|
|||
|
||||
it('cleanup repository', async () => {
|
||||
await pageObjects.snapshotRestore.viewRepositoryDetails('my-repository');
|
||||
await pageObjects.common.sleep(25000);
|
||||
const cleanupResponse = await pageObjects.snapshotRestore.performRepositoryCleanup();
|
||||
await pageObjects.common.sleep(25000);
|
||||
expect(cleanupResponse).to.contain('results');
|
||||
expect(cleanupResponse).to.contain('deleted_bytes');
|
||||
expect(cleanupResponse).to.contain('deleted_blobs');
|
||||
|
@ -57,6 +57,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
|
|||
await es.snapshot.deleteRepository({
|
||||
name: 'my-repository',
|
||||
});
|
||||
await security.testUser.restoreDefaults();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -551,6 +551,25 @@ export default async function ({ readConfigFile }) {
|
|||
},
|
||||
],
|
||||
},
|
||||
// https://www.elastic.co/guide/en/elasticsearch/reference/master/snapshots-register-repository.html#snapshot-repo-prereqs
|
||||
snapshot_restore_user: {
|
||||
elasticsearch: {
|
||||
cluster: [
|
||||
'monitor',
|
||||
'manage_slm',
|
||||
'cluster:admin/snapshot',
|
||||
'cluster:admin/repository',
|
||||
],
|
||||
},
|
||||
kibana: [
|
||||
{
|
||||
feature: {
|
||||
advancedSettings: ['read'],
|
||||
},
|
||||
spaces: ['*'],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
ingest_pipelines_user: {
|
||||
elasticsearch: {
|
||||
|
|
|
@ -49,12 +49,15 @@ export function SnapshotRestorePageProvider({ getService }: FtrProviderContext)
|
|||
const repoToView = repos.filter((r) => (r.repoName = name))[0];
|
||||
await repoToView.repoLink.click();
|
||||
}
|
||||
await retry.waitForWithTimeout(`Repo title should be ${name}`, 10000, async () => {
|
||||
await retry.waitForWithTimeout(`Repo title should be ${name}`, 25000, async () => {
|
||||
return (await testSubjects.getVisibleText('title')) === name;
|
||||
});
|
||||
},
|
||||
async performRepositoryCleanup() {
|
||||
await testSubjects.click('cleanupRepositoryButton');
|
||||
await retry.waitForWithTimeout(`wait for code block to be visible`, 25000, async () => {
|
||||
return await testSubjects.isDisplayed('cleanupCodeBlock');
|
||||
});
|
||||
return await testSubjects.getVisibleText('cleanupCodeBlock');
|
||||
},
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue