Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions test/functional/services/test_subjects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ export function TestSubjectsProvider({ getService }: FtrProviderContext) {
const WAIT_FOR_EXISTS_TIME = config.get('timeouts.waitForExists');

class TestSubjects {
findByCssSelector(arg0: string) {
throw new Error('Method not implemented.');
}
Comment thread
rashmivkulkarni marked this conversation as resolved.
Outdated
public async exists(selector: string, options: ExistsOptions = {}): Promise<boolean> {
const { timeout = WAIT_FOR_EXISTS_TIME, allowHidden = false } = options;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,12 @@ export class ReportDeleteButton extends PureComponent<Props, State> {

return (
<Fragment>
<EuiButton onClick={() => this.showConfirm()} iconType="trash" color={'danger'}>
<EuiButton
onClick={() => this.showConfirm()}
iconType="trash"
color={'danger'}
data-test-subj="deleteReportButton"
>
{intl.formatMessage(
{
id: 'xpack.reporting.listing.table.deleteReportButton',
Expand Down
14 changes: 14 additions & 0 deletions x-pack/test/functional/apps/reporting_management/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

import { FtrProviderContext } from '../../ftr_provider_context';

export default ({ loadTestFile }: FtrProviderContext) => {
describe('reporting management app', function() {
this.tags('ciGroup7');
loadTestFile(require.resolve('./report_delete_pagination'));
});
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

import expect from '@kbn/expect';
import { FtrProviderContext } from '../../ftr_provider_context';

export default ({ getPageObjects, getService }: FtrProviderContext) => {
const pageObjects = getPageObjects(['common', 'reporting']);
const log = getService('log');
const retry = getService('retry');
const security = getService('security');

const testSubjects = getService('testSubjects');
const esArchiver = getService('esArchiver');

describe('Delete reports', function() {
before(async () => {
await security.testUser.setRoles(['global_discover_read', 'reporting_user']);
await esArchiver.load('empty_kibana');
await esArchiver.load('reporting/archived_reports');
await pageObjects.common.navigateToApp('reporting');
Comment thread
rashmivkulkarni marked this conversation as resolved.
Outdated
await testSubjects.existOrFail('reportJobListing', { timeout: 200000 });
});

after(async () => {
await esArchiver.unload('empty_kibana');
await esArchiver.unload('reporting/archived_reports');
await security.testUser.restoreDefaults();
});

it('Confirm single report deletion works', async () => {
log.debug('Checking for reports.');
await retry.try(async () => {
await testSubjects.click('checkboxSelectRow-k9a9xlwl0gpe1457b10rraq3');
Comment thread
rashmivkulkarni marked this conversation as resolved.
});
const deleteButton = await testSubjects.find('deleteReportButton');
await retry.waitFor('delete button to become enabled', async () => {
return await deleteButton.isEnabled();
});
await deleteButton.click();
await testSubjects.exists('confirmModalBodyText');
await testSubjects.click('confirmModalConfirmButton');
await retry.try(async () => {
await testSubjects.waitForDeleted('checkboxSelectRow-k9a9xlwl0gpe1457b10rraq3');
});
});

// functional test for report pagination: https://github.com/elastic/kibana/pull/62881
it('Report pagination', async () => {
const previousButton = await testSubjects.find('pagination-button-previous');
expect(await previousButton.getAttribute('disabled')).to.be('true');
await testSubjects.click('pagination-button-1');
expect(await previousButton.getAttribute('disabled')).to.be(null);
Comment thread
rashmivkulkarni marked this conversation as resolved.
});
});
};
16 changes: 16 additions & 0 deletions x-pack/test/functional/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ export default async function({ readConfigFile }) {
resolve(__dirname, './apps/cross_cluster_replication'),
resolve(__dirname, './apps/remote_clusters'),
resolve(__dirname, './apps/transform'),
resolve(__dirname, './apps/reporting_management'),
// This license_management file must be last because it is destructive.
resolve(__dirname, './apps/license_management'),
],
Expand Down Expand Up @@ -196,6 +197,10 @@ export default async function({ readConfigFile }) {
pathname: '/app/kibana/',
hash: '/management/elasticsearch/transform',
},
reporting: {
Comment thread
rashmivkulkarni marked this conversation as resolved.
pathname: '/app/kibana/',
hash: '/management/kibana/reporting',
},
},

// choose where esArchiver should load archives from
Expand Down Expand Up @@ -228,6 +233,17 @@ export default async function({ readConfigFile }) {
kibana: [],
},

global_discover_read: {
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
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
{
"type": "index",
"value": {
"aliases": {
},
"index": ".reporting-2020.04.19",
"mappings": {
"properties": {
"attempts": {
"type": "short"
},
"browser_type": {
"type": "keyword"
},
"completed_at": {
"type": "date"
},
"created_at": {
"type": "date"
},
"created_by": {
"type": "keyword"
},
"jobtype": {
"type": "keyword"
},
"kibana_id": {
"type": "keyword"
},
"kibana_name": {
"type": "keyword"
},
"max_attempts": {
"type": "short"
},
"meta": {
"properties": {
"layout": {
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
},
"type": "text"
},
"objectType": {
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
},
"type": "text"
}
}
},
"output": {
"properties": {
"content": {
"enabled": false,
"type": "object"
},
"content_type": {
"type": "keyword"
},
"csv_contains_formulas": {
"type": "boolean"
},
"max_size_reached": {
"type": "boolean"
},
"size": {
"type": "long"
}
}
},
"payload": {
"enabled": false,
"type": "object"
},
"priority": {
"type": "byte"
},
"process_expiration": {
"type": "date"
},
"started_at": {
"type": "date"
},
"status": {
"type": "keyword"
},
"timeout": {
"type": "long"
}
}
},
"settings": {
"index": {
"auto_expand_replicas": "0-1",
"number_of_replicas": "0",
"number_of_shards": "1",
"prefer_v2_templates": "false"
}
}
}
}
1 change: 0 additions & 1 deletion x-pack/test/functional/page_objects/reporting_page.js
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,5 @@ export function ReportingPageProvider({ getService, getPageObjects }) {
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
}
}

return new ReportingPage();
}