Skip to content

Commit a9ce0a4

Browse files
committed
[Monitoring] Use a basic monitoring user for tests (#47865)
* Use a basic monitoring user for tests * Rework this a little to fix the issue that the tests aren't working properly * I think this is what we need to fix the tests * Switch this order, since these tests cause a weird login loop in the current order
1 parent a7c6635 commit a9ce0a4

6 files changed

Lines changed: 31 additions & 7 deletions

File tree

x-pack/test/functional/apps/monitoring/_get_lifecycle_methods.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66

77
export const getLifecycleMethods = (getService, getPageObjects) => {
88
const esArchiver = getService('esArchiver');
9-
const PageObjects = getPageObjects(['monitoring', 'timePicker']);
9+
const security = getService('security');
10+
const PageObjects = getPageObjects(['monitoring', 'timePicker', 'security']);
1011
const noData = getService('monitoringNoData');
1112
let _archive;
1213

@@ -33,7 +34,9 @@ export const getLifecycleMethods = (getService, getPageObjects) => {
3334
await PageObjects.timePicker.setAbsoluteRange(from, to);
3435
},
3536

36-
tearDown() {
37+
async tearDown() {
38+
await PageObjects.security.logout();
39+
await security.user.delete('basic_monitoring_user');
3740
return esArchiver.unload(_archive);
3841
}
3942
};

x-pack/test/functional/apps/monitoring/enable_monitoring/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export default function ({ getService, getPageObjects }) {
1717
before(async () => {
1818
const browser = getService('browser');
1919
await browser.setWindowSize(1600, 1000);
20-
await PageObjects.monitoring.navigateTo();
20+
await PageObjects.monitoring.navigateTo(true);
2121
await noData.isOnNoDataPage();
2222
});
2323

x-pack/test/functional/apps/monitoring/feature_controls/monitoring_security.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default function({ getPageObjects, getService }: FtrProviderContext) {
1313
const appsMenu = getService('appsMenu');
1414
const PageObjects = getPageObjects(['common', 'security']);
1515

16-
describe('securty', () => {
16+
describe('security', () => {
1717
before(async () => {
1818
await esArchiver.load('empty_kibana');
1919

x-pack/test/functional/apps/monitoring/feature_controls/monitoring_spaces.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ export default function({ getPageObjects, getService }: FtrProviderContext) {
1919
await esArchiver.load('empty_kibana');
2020
});
2121

22+
after(async () => {
23+
await esArchiver.unload('empty_kibana');
24+
await PageObjects.common.navigateToApp('home');
25+
await PageObjects.security.logout();
26+
});
27+
2228
describe('space with no features disabled', () => {
2329
before(async () => {
2430
await spacesService.create({

x-pack/test/functional/apps/monitoring/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ export default function ({ loadTestFile }) {
1313
loadTestFile(require.resolve('./cluster/list'));
1414
loadTestFile(require.resolve('./cluster/overview'));
1515
loadTestFile(require.resolve('./cluster/alerts'));
16-
loadTestFile(require.resolve('./enable_monitoring'));
1716
// loadTestFile(require.resolve('./cluster/license'));
1817

1918
loadTestFile(require.resolve('./elasticsearch/overview'));
@@ -40,5 +39,6 @@ export default function ({ loadTestFile }) {
4039
loadTestFile(require.resolve('./beats/beat_detail'));
4140

4241
loadTestFile(require.resolve('./time_filter'));
42+
loadTestFile(require.resolve('./enable_monitoring'));
4343
});
4444
}

x-pack/test/functional/page_objects/monitoring_page.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,26 @@
55
*/
66

77
export function MonitoringPageProvider({ getPageObjects, getService }) {
8-
const PageObjects = getPageObjects(['common', 'header']);
8+
const PageObjects = getPageObjects(['common', 'header', 'shield', 'spaceSelector']);
99
const testSubjects = getService('testSubjects');
10+
const security = getService('security');
1011

1112
return new class MonitoringPage {
12-
async navigateTo() {
13+
async navigateTo(useSuperUser = false) {
14+
// always create this because our tear down tries to delete it
15+
await security.user.create('basic_monitoring_user', {
16+
password: 'monitoring_user_password',
17+
roles: ['monitoring_user', 'kibana_user'],
18+
full_name: 'basic monitoring',
19+
});
20+
21+
if (!useSuperUser) {
22+
await PageObjects.common.navigateToApp('login');
23+
await PageObjects.shield.login(
24+
'basic_monitoring_user',
25+
'monitoring_user_password'
26+
);
27+
}
1328
await PageObjects.common.navigateToApp('monitoring');
1429
}
1530

0 commit comments

Comments
 (0)