Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
Original file line number Diff line number Diff line change
Expand Up @@ -41,94 +41,84 @@ const getExceptionList1 = () => ({

const EXCEPTION_LIST_NAME = 'Newly created list';

// TODO: https://github.com/elastic/kibana/issues/161539
// FLAKY: https://github.com/elastic/kibana/issues/165640
describe(
'Exception list detail page',
{ tags: ['@ess', '@serverless', '@skipInServerless'] },
() => {
before(() => {
cy.task('esArchiverResetKibana');
login();

// Create exception list associated with a rule
createExceptionList(getExceptionList1(), getExceptionList1().list_id).then((response) =>
createRule(
getNewRule({
exceptions_list: [
{
id: response.body.id,
list_id: getExceptionList1().list_id,
type: getExceptionList1().type,
namespace_type: getExceptionList1().namespace_type,
},
],
})
)
);
createRule(getNewRule({ name: 'Rule to link to shared list' }));
describe('Exception list detail page', { tags: ['@ess', '@serverless'] }, () => {
beforeEach(() => {
login();

// Create exception list associated with a rule
createExceptionList(getExceptionList1(), getExceptionList1().list_id).then((response) =>
createRule(
getNewRule({
exceptions_list: [
{
id: response.body.id,
list_id: getExceptionList1().list_id,
type: getExceptionList1().type,
namespace_type: getExceptionList1().namespace_type,
},
],
})
)
);
createRule(getNewRule({ name: 'Rule to link to shared list' }));
visit(EXCEPTIONS_URL);
});

it('Should edit list details', () => {
visit(exceptionsListDetailsUrl(getExceptionList1().list_id));
waitForExceptionListDetailToBeLoaded();
// Check list details are loaded
cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', LIST_NAME);
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', LIST_DESCRIPTION);

// Update list details in edit modal
editExceptionLisDetails({
name: { original: LIST_NAME, updated: UPDATED_LIST_NAME },
description: { original: LIST_DESCRIPTION, updated: UPDATED_LIST_DESCRIPTION },
});

beforeEach(() => {
login();
visit(EXCEPTIONS_URL);
});
// Ensure that list details were updated
cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', UPDATED_LIST_NAME);
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', UPDATED_LIST_DESCRIPTION);

// Ensure that list details changes persisted
visit(exceptionsListDetailsUrl(getExceptionList1().list_id));
cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', UPDATED_LIST_NAME);
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', UPDATED_LIST_DESCRIPTION);

it('Should edit list details', () => {
visit(exceptionsListDetailsUrl(getExceptionList1().list_id));
waitForExceptionListDetailToBeLoaded();
// Check list details are loaded
cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', LIST_NAME);
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', LIST_DESCRIPTION);

// Update list details in edit modal
editExceptionLisDetails({
name: { original: LIST_NAME, updated: UPDATED_LIST_NAME },
description: { original: LIST_DESCRIPTION, updated: UPDATED_LIST_DESCRIPTION },
});

// Ensure that list details were updated
cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', UPDATED_LIST_NAME);
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', UPDATED_LIST_DESCRIPTION);

// Ensure that list details changes persisted
visit(exceptionsListDetailsUrl(getExceptionList1().list_id));
cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', UPDATED_LIST_NAME);
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', UPDATED_LIST_DESCRIPTION);

// Remove description
editExceptionLisDetails({
description: { original: UPDATED_LIST_DESCRIPTION, updated: null },
});
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', 'Add a description');

// Ensure description removal persisted
visit(exceptionsListDetailsUrl(getExceptionList1().list_id));
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', 'Add a description');
// Remove description
editExceptionLisDetails({
description: { original: UPDATED_LIST_DESCRIPTION, updated: null },
});
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', 'Add a description');

it('Should create a new list and link it to two rules', () => {
createSharedExceptionList(
{ name: 'Newly created list', description: 'This is my list.' },
true
);
// Ensure description removal persisted
visit(exceptionsListDetailsUrl(getExceptionList1().list_id));
cy.get(EXCEPTIONS_LIST_MANAGEMENT_DESCRIPTION).should('have.text', 'Add a description');
});

// After creation - directed to list detail page
cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', EXCEPTION_LIST_NAME);
// TODO: Flaky in ESS and Serverless: https://github.com/elastic/kibana/pull/169182#issuecomment-1792597980
it.skip('Should create a new list and link it to two rules', () => {
createSharedExceptionList(
{ name: 'Newly created list', description: 'This is my list.' },
true
);

// Open Link rules flyout
cy.get(EXCEPTION_LIST_DETAILS_LINK_RULES_BTN).click();
// After creation - directed to list detail page
cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', EXCEPTION_LIST_NAME);

// Link the first two Rules
linkSharedListToRulesFromListDetails(2);
// Open Link rules flyout
cy.get(EXCEPTION_LIST_DETAILS_LINK_RULES_BTN).click();

// Save the 2 linked Rules
saveLinkedRules();
// Link the first two Rules
linkSharedListToRulesFromListDetails(2);

const linkedRulesNames = ['Rule to link to shared list', 'New Rule Test'];
// Save the 2 linked Rules
saveLinkedRules();

// Validate the number of linked rules as well as the Rules' names
validateSharedListLinkedRules(2, linkedRulesNames);
});
}
);
const linkedRulesNames = ['Rule to link to shared list', 'New Rule Test'];

// Validate the number of linked rules as well as the Rules' names
validateSharedListLinkedRules(2, linkedRulesNames);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,7 @@ const getExceptionList2 = () => ({
list_id: 'exception_list_2',
});

// TODO: https://github.com/elastic/kibana/issues/161539
// Flaky in serverless tests
describe('Duplicate List', { tags: ['@ess', '@serverless', '@skipInServerless'] }, () => {
describe('Duplicate List', { tags: ['@ess', '@serverless'] }, () => {
beforeEach(() => {
cy.task('esArchiverResetKibana');
login();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ const getExceptionList2 = () => ({
list_id: 'exception_list_2',
});

// TODO: https://github.com/elastic/kibana/issues/161539
describe('Filter Lists', { tags: ['@ess', '@serverless', '@skipInServerless'] }, () => {
describe('Filter Lists', { tags: ['@ess', '@serverless'] }, () => {
beforeEach(() => {
cy.task('esArchiverResetKibana');
login();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ import { login } from '../../../../tasks/login';
import { visit } from '../../../../tasks/navigation';
import { EXCEPTIONS_URL } from '../../../../urls/navigation';

// TODO: https://github.com/elastic/kibana/issues/161539
// Flaky in serverless
describe('Import Lists', { tags: ['@ess', '@serverless', '@skipInServerless'] }, () => {
const LIST_TO_IMPORT_FILENAME = 'cypress/fixtures/7_16_exception_list.ndjson';
before(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,9 @@ const getExceptionList2 = () => ({

let exceptionListResponse: Cypress.Response<ExceptionListSchema>;

// TODO: https://github.com/elastic/kibana/issues/161539
// FLAKY: https://github.com/elastic/kibana/issues/165690
describe(
'Manage lists from "Shared Exception Lists" page',
{ tags: ['@ess', '@serverless', '@skipInServerless'] },
{ tags: ['@ess', '@serverless'] },
() => {
describe('Create/Export/Delete List', () => {
before(() => {
Expand Down