Rollup - Conversion of functional test files to use custom roles and permissions and also convert esArchiver to kbnArchiver (#107818)

* updated the test to use kbnArchiver to load the data and also the test uses minimal set of roles-permissions for the test-user

lint errors

lint errors

* hybrid index pattern - conversion to kbnArchiver and the test user to use specific roles n permissions
This commit is contained in:
Rashmi Kulkarni 2021-08-09 12:50:13 -07:00 committed by GitHub
parent ab43afab88
commit 91366f0221
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 84 additions and 7 deletions

View file

@ -11,8 +11,9 @@ import mockRolledUpData, { mockIndices } from './hybrid_index_helper';
export default function ({ getService, getPageObjects }) {
const es = getService('es');
const esArchiver = getService('esArchiver');
const retry = getService('retry');
const security = getService('security');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['common', 'settings']);
const esDeleteAllIndices = getService('esDeleteAllIndices');
@ -31,6 +32,20 @@ export default function ({ getService, getPageObjects }) {
datemath.parse('now-3d', { forceNow: now }),
];
before(async () => {
// load visualize to have an index pattern ready, otherwise visualize will redirect
await security.testUser.setRoles([
'global_index_pattern_management_all',
'test_rollup_reader',
]);
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/rollup/rollup_hybrid'
);
await kibanaServer.uiSettings.replace({
defaultIndex: 'rollup',
});
});
it('create hybrid index pattern', async () => {
//Create data for rollup job to recognize.
//Index past data to be used in the test.
@ -105,8 +120,9 @@ export default function ({ getService, getPageObjects }) {
`${regularIndexPrefix}*`,
`${rollupSourceIndexPrefix}*`,
]);
await esArchiver.load('x-pack/test/functional/es_archives/empty_kibana');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/rollup/rollup_hybrid'
);
});
});
}

View file

@ -10,8 +10,9 @@ import mockRolledUpData from './hybrid_index_helper';
export default function ({ getService, getPageObjects }) {
const es = getService('es');
const esArchiver = getService('esArchiver');
const retry = getService('retry');
const security = getService('security');
const kibanaServer = getService('kibanaServer');
const esDeleteAllIndices = getService('esDeleteAllIndices');
const PageObjects = getPageObjects([
'common',
@ -26,7 +27,7 @@ export default function ({ getService, getPageObjects }) {
//we add the Date.now() to avoid name collision if you run the tests locally back to back.
const rollupJobName = `tsvb-test-rollup-job-${Date.now()}`;
const rollupSourceIndexName = 'rollup-source-data';
const rollupTargetIndexName = `rollup-target-data`;
const rollupTargetIndexName = 'rollup-target-data';
const pastDates = [
new Date('October 15, 2019 05:35:32'),
new Date('October 15, 2019 05:34:32'),
@ -35,7 +36,13 @@ export default function ({ getService, getPageObjects }) {
before(async () => {
// load visualize to have an index pattern ready, otherwise visualize will redirect
await esArchiver.load('x-pack/test/functional/es_archives/visualize/default');
await security.testUser.setRoles(['global_visualize_all', 'test_rollup_reader']);
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/rollup/rollup.json'
);
await kibanaServer.uiSettings.replace({
defaultIndex: 'rollup',
});
});
it('create rollup tsvb', async () => {
@ -100,7 +107,10 @@ export default function ({ getService, getPageObjects }) {
});
await esDeleteAllIndices([rollupTargetIndexName, rollupSourceIndexName]);
await esArchiver.load('x-pack/test/functional/es_archives/empty_kibana');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/rollup/rollup.json'
);
await security.testUser.restoreDefaults();
});
});
}

View file

@ -465,6 +465,17 @@ export default async function ({ readConfigFile }) {
],
},
test_rollup_reader: {
elasticsearch: {
indices: [
{
names: ['rollup-*'],
privileges: ['read', 'view_index_metadata'],
},
],
},
},
//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

@ -0,0 +1,39 @@
{
"attributes": {
"accessibility:disableAnimations": true,
"buildNum": 9007199254740991,
"dateFormat:tz": "UTC",
"defaultIndex": "rollup",
"visualization:visualize:legacyChartsLibrary": true,
"visualization:visualize:legacyPieChartsLibrary": true
},
"coreMigrationVersion": "7.15.0",
"id": "7.15.0",
"migrationVersion": {
"config": "7.13.0"
},
"references": [],
"type": "config",
"updated_at": "2021-08-04T23:35:47.992Z",
"version": "WzQwLDFd"
}
{
"attributes": {
"fieldAttrs": "{}",
"fields": "[]",
"runtimeFieldMap": "{}",
"timeFieldName": "@timestamp.date_histogram.timestamp",
"title": "rollup*",
"typeMeta": "{}"
},
"coreMigrationVersion": "7.15.0",
"id": "rollup",
"migrationVersion": {
"index-pattern": "7.11.0"
},
"references": [],
"type": "index-pattern",
"updated_at": "2021-08-04T23:22:14.902Z",
"version": "WzIyLDFd"
}

View file

@ -0,0 +1 @@
{"attributes":{"fieldAttrs":"{}","fields":"[]","runtimeFieldMap":"{}","timeFieldName":"@timestamp","title":"regular-index*,rollup-target-data","type":"rollup","typeMeta":"{\"params\":{\"rollup_index\":\"rollup-target-data\"},\"aggs\":{\"date_histogram\":{\"@timestamp\":{\"agg\":\"date_histogram\",\"fixed_interval\":\"1000ms\",\"time_zone\":\"UTC\"}}}}"},"coreMigrationVersion":"8.0.0","id":"b8f05720-f5b0-11eb-a2ec-8d77790684d1","migrationVersion":{"index-pattern":"7.11.0"},"references":[],"type":"index-pattern","updated_at":"2021-08-05T05:48:13.077Z","version":"WzksMl0="}