diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/list_detail_page/list_details.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/list_detail_page/list_details.cy.ts index fb656c08ee449..1226b3bf77244 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/list_detail_page/list_details.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/list_detail_page/list_details.cy.ts @@ -41,93 +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(() => { - 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); + }); +}); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts index b0060ec5b1a05..eba0c3a64570f 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/manage_exceptions.cy.ts @@ -44,166 +44,160 @@ import { visitRuleDetailsPage } from '../../../tasks/rule_details'; import { deleteEndpointExceptionList, deleteExceptionLists } from '../../../tasks/common'; import { closeErrorToast } from '../../../tasks/alerts_detection_rules'; -// TODO: https://github.com/elastic/kibana/issues/161539 -// FLAKY: https://github.com/elastic/kibana/issues/165795 -describe( - 'Add, edit and delete exception', - { tags: ['@ess', '@serverless', '@skipInServerless'] }, - () => { - beforeEach(() => { - login(); - deleteExceptionLists(); - deleteEndpointExceptionList(); - cy.task('esArchiverLoad', { archiveName: 'exceptions' }); - createRule(getNewRule()).as('createdRule'); - visit(EXCEPTIONS_URL); - }); - - afterEach(() => { - cy.task('esArchiverUnload', 'exceptions'); +describe('Add, edit and delete exception', { tags: ['@ess', '@serverless'] }, () => { + beforeEach(() => { + login(); + deleteExceptionLists(); + deleteEndpointExceptionList(); + cy.task('esArchiverLoad', { archiveName: 'exceptions' }); + createRule(getNewRule()).as('createdRule'); + visit(EXCEPTIONS_URL); + }); + + afterEach(() => { + cy.task('esArchiverUnload', 'exceptions'); + }); + + const exceptionName = 'My item name'; + const exceptionNameEdited = 'My item name edited'; + const FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD = 'agent.name'; + const EXCEPTION_LIST_NAME = 'Newly created list'; + + describe('Add, Edit and delete Exception item', () => { + it('should create exception item from Shared Exception List page and linked to a Rule', () => { + // Click on "Create shared exception list" button on the header + // Click on "Create exception item" + addExceptionListFromSharedExceptionListHeaderMenu(); + + // Add exception item name + addExceptionFlyoutItemName(exceptionName); + + // Add Condition + editException(FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD, 0, 0); + + // Confirm button should disabled until a rule(s) is selected + cy.get(CONFIRM_BTN).should('have.attr', 'disabled'); + + // select rule + linkFirstRuleOnExceptionFlyout(); + + // should be able to submit + cy.get(CONFIRM_BTN).should('not.have.attr', 'disabled'); + + submitNewExceptionItem(); + + // Navigate to Rule details page + cy.get>('@createdRule').then((rule) => + visitRuleDetailsPage(rule.body.id, { tab: 'rule_exceptions' }) + ); + + // Only one Exception should generated + cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); + + // validate the And operator is displayed correctly + cy.get(EXCEPTION_CARD_ITEM_NAME).should('have.text', exceptionName); }); - const exceptionName = 'My item name'; - const exceptionNameEdited = 'My item name edited'; - const FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD = 'agent.name'; - const EXCEPTION_LIST_NAME = 'Newly created list'; - - describe('Add, Edit and delete Exception item', () => { - it('should create exception item from Shared Exception List page and linked to a Rule', () => { - // Click on "Create shared exception list" button on the header - // Click on "Create exception item" - addExceptionListFromSharedExceptionListHeaderMenu(); - - // Add exception item name - addExceptionFlyoutItemName(exceptionName); - - // Add Condition - editException(FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD, 0, 0); - - // Confirm button should disabled until a rule(s) is selected - cy.get(CONFIRM_BTN).should('have.attr', 'disabled'); - - // select rule - linkFirstRuleOnExceptionFlyout(); - - // should be able to submit - cy.get(CONFIRM_BTN).should('not.have.attr', 'disabled'); + it('should create exception item from Shared Exception List page, linked to a Shared List and validate Edit/delete in list detail page', function () { + createSharedExceptionList( + { name: 'Newly created list', description: 'This is my list.' }, + true + ); - submitNewExceptionItem(); + // After creation - directed to list detail page + cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', EXCEPTION_LIST_NAME); - // Navigate to Rule details page - cy.get>('@createdRule').then((rule) => - visitRuleDetailsPage(rule.body.id, { tab: 'rule_exceptions' }) - ); - - // Only one Exception should generated - cy.get(EXCEPTION_ITEM_VIEWER_CONTAINER).should('have.length', 1); - - // validate the And operator is displayed correctly - cy.get(EXCEPTION_CARD_ITEM_NAME).should('have.text', exceptionName); - }); - - it('should create exception item from Shared Exception List page, linked to a Shared List and validate Edit/delete in list detail page', function () { - createSharedExceptionList( - { name: 'Newly created list', description: 'This is my list.' }, - true - ); - - // After creation - directed to list detail page - cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', EXCEPTION_LIST_NAME); - - // Go back to Shared Exception List - visit(EXCEPTIONS_URL); + // Go back to Shared Exception List + visit(EXCEPTIONS_URL); - // Click on "Create shared exception list" button on the header - // Click on "Create exception item" - addExceptionListFromSharedExceptionListHeaderMenu(); + // Click on "Create shared exception list" button on the header + // Click on "Create exception item" + addExceptionListFromSharedExceptionListHeaderMenu(); - // Add exception item name - addExceptionFlyoutItemName(exceptionName); + // Add exception item name + addExceptionFlyoutItemName(exceptionName); - // Add Condition - editException(FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD, 0, 0); + // Add Condition + editException(FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD, 0, 0); - // select shared list radio option and select the first one - linkFirstSharedListOnExceptionFlyout(); + // select shared list radio option and select the first one + linkFirstSharedListOnExceptionFlyout(); - submitNewExceptionItem(); + submitNewExceptionItem(); - // New exception is added to the new List - findSharedExceptionListItemsByName(`${EXCEPTION_LIST_NAME}`, [exceptionName]); + // New exception is added to the new List + findSharedExceptionListItemsByName(`${EXCEPTION_LIST_NAME}`, [exceptionName]); - // Click on the first exception overflow menu items - // Open the edit modal - editFirstExceptionItemInListDetailPage(); - // edit exception item name - editExceptionFlyoutItemName(exceptionNameEdited); + // Click on the first exception overflow menu items + // Open the edit modal + editFirstExceptionItemInListDetailPage(); + // edit exception item name + editExceptionFlyoutItemName(exceptionNameEdited); - // submit - submitEditedExceptionItem(); + // submit + submitEditedExceptionItem(); - // check the new name after edit - cy.get(EXECPTION_ITEM_CARD_HEADER_TITLE).should('have.text', exceptionNameEdited); + // check the new name after edit + cy.get(EXECPTION_ITEM_CARD_HEADER_TITLE).should('have.text', exceptionNameEdited); - // Click on the first exception overflow menu items - // delete the exception - deleteFirstExceptionItemInListDetailPage(); + // Click on the first exception overflow menu items + // delete the exception + deleteFirstExceptionItemInListDetailPage(); - cy.get(EMPTY_EXCEPTIONS_VIEWER).should('exist'); - }); + cy.get(EMPTY_EXCEPTIONS_VIEWER).should('exist'); + }); - it('should handle huge text as a comment gracefully and allow user create exception item after user updates the comment', function () { - createSharedExceptionList( - { name: 'Newly created list', description: 'This is my list.' }, - true - ); + it('should handle huge text as a comment gracefully and allow user create exception item after user updates the comment', function () { + createSharedExceptionList( + { name: 'Newly created list', description: 'This is my list.' }, + true + ); - // After creation - directed to list detail page - cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', EXCEPTION_LIST_NAME); + // After creation - directed to list detail page + cy.get(EXCEPTIONS_LIST_MANAGEMENT_NAME).should('have.text', EXCEPTION_LIST_NAME); - // Go back to Shared Exception List - visit(EXCEPTIONS_URL); + // Go back to Shared Exception List + visit(EXCEPTIONS_URL); - // Click on "Create shared exception list" button on the header - // Click on "Create exception item" - addExceptionListFromSharedExceptionListHeaderMenu(); + // Click on "Create shared exception list" button on the header + // Click on "Create exception item" + addExceptionListFromSharedExceptionListHeaderMenu(); - // Add exception item name - addExceptionFlyoutItemName(exceptionName); + // Add exception item name + addExceptionFlyoutItemName(exceptionName); - // Add Condition - editException(FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD, 0, 0); + // Add Condition + editException(FIELD_DIFFERENT_FROM_EXISTING_ITEM_FIELD, 0, 0); - // select shared list radio option and select the first one - linkFirstSharedListOnExceptionFlyout(); + // select shared list radio option and select the first one + linkFirstSharedListOnExceptionFlyout(); - // add exception comment which is super long - addExceptionHugeComment([...new Array(5000).keys()].map((_) => `Test text!`).join('')); + // add exception comment which is super long + addExceptionHugeComment([...new Array(5000).keys()].map((_) => `Test text!`).join('')); - // submit - submitNewExceptionItemWithFailure(); + // submit + submitNewExceptionItemWithFailure(); - // Failed to add exception due to comment length and submit button should be disabled - cy.get(CONFIRM_BTN).should('have.attr', 'disabled'); + // Failed to add exception due to comment length and submit button should be disabled + cy.get(CONFIRM_BTN).should('have.attr', 'disabled'); - // Close error toast - closeErrorToast(); + // Close error toast + closeErrorToast(); - // Dismiss error callout - dismissExceptionItemErrorCallOut(); + // Dismiss error callout + dismissExceptionItemErrorCallOut(); - // Submit button should be enabled after we dismissed error callout - cy.get(CONFIRM_BTN).should('not.have.attr', 'disabled'); + // Submit button should be enabled after we dismissed error callout + cy.get(CONFIRM_BTN).should('not.have.attr', 'disabled'); - // update exception comment to a reasonable (length wise) text - editExceptionComment('Exceptional comment'); + // update exception comment to a reasonable (length wise) text + editExceptionComment('Exceptional comment'); - // submit - submitNewExceptionItem(); + // submit + submitNewExceptionItem(); - // New exception is added to the new List - findSharedExceptionListItemsByName(`${EXCEPTION_LIST_NAME}`, [exceptionName]); - }); + // New exception is added to the new List + findSharedExceptionListItemsByName(`${EXCEPTION_LIST_NAME}`, [exceptionName]); }); - } -); + }); +}); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/duplicate_lists.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/duplicate_lists.cy.ts index 025d6dc93657d..af8edaa017b81 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/duplicate_lists.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/duplicate_lists.cy.ts @@ -42,9 +42,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(() => { login(); deleteAlertsAndRules(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/filter_table.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/filter_table.cy.ts index 0d33582ef4406..c40b578b588de 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/filter_table.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/filter_table.cy.ts @@ -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(() => { login(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/import_lists.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/import_lists.cy.ts index e4239055b303e..01c790ebec861 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/import_lists.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/import_lists.cy.ts @@ -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'; beforeEach(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/manage_lists.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/manage_lists.cy.ts index 72a1e4dfa9781..e6158addd2cd8 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/manage_lists.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/exceptions/shared_exception_lists_management/shared_exception_list_page/manage_lists.cy.ts @@ -48,12 +48,9 @@ const getExceptionList2 = () => ({ let exceptionListResponse: Cypress.Response; -// TODO: https://github.com/elastic/kibana/issues/161539 -// FLAKY: https://github.com/elastic/kibana/issues/165690 -// FLAKY: https://github.com/elastic/kibana/issues/165838 -describe.skip( +describe( 'Manage lists from "Shared Exception Lists" page', - { tags: ['@ess', '@serverless', '@skipInServerless'] }, + { tags: ['@ess', '@serverless'] }, () => { describe('Create/Export/Delete List', () => { before(() => { diff --git a/x-pack/test/security_solution_cypress/package.json b/x-pack/test/security_solution_cypress/package.json index c7fe67bedd99a..f276fc6857966 100644 --- a/x-pack/test/security_solution_cypress/package.json +++ b/x-pack/test/security_solution_cypress/package.json @@ -7,7 +7,7 @@ "scripts": { "cypress": "NODE_OPTIONS=--openssl-legacy-provider ../../../node_modules/.bin/cypress", "cypress:open:ess": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../test/security_solution_cypress/cypress/cypress.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config", - "cypress:run:ess": "yarn cypress:ess --spec './cypress/e2e/!(investigations|explore)/**/*.cy.ts'", + "cypress:run:ess": "yarn cypress:ess --spec './cypress/e2e/exceptions/shared_exception_lists_management/**/*.cy.ts'", "cypress:run:cases:ess": "yarn cypress:ess --spec './cypress/e2e/explore/cases/*.cy.ts'", "cypress:ess": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel run --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config", "cypress:run:respops:ess": "yarn cypress:ess --spec './cypress/e2e/(detection_response|exceptions)/**/*.cy.ts'", @@ -21,7 +21,7 @@ "cypress:cloud:serverless": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider NODE_TLS_REJECT_UNAUTHORIZED=0 ../../../node_modules/.bin/cypress", "cypress:open:cloud:serverless": "yarn cypress:cloud:serverless open --config-file ./cypress/cypress_serverless.config.ts --env CLOUD_SERVERLESS=true", "cypress:open:serverless": "yarn cypress:serverless open --config-file ../../test/security_solution_cypress/cypress/cypress_serverless.config.ts --spec './cypress/e2e/**/*.cy.ts'", - "cypress:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/!(investigations|explore)/**/*.cy.ts'", + "cypress:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/exceptions/shared_exception_lists_management/**/*.cy.ts'", "cypress:run:cloud:serverless": "yarn cypress:cloud:serverless run --config-file ./cypress/cypress_ci_serverless.config.ts --env CLOUD_SERVERLESS=true", "cypress:run:qa:serverless": "yarn cypress:cloud:serverless run --config-file ./cypress/cypress_ci_serverless_qa.config.ts --env CLOUD_SERVERLESS=true", "cypress:investigations:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/investigations/**/*.cy.ts'", @@ -29,4 +29,4 @@ "cypress:changed-specs-only:serverless": "yarn cypress:serverless --changed-specs-only --env burn=5", "cypress:burn:serverless": "yarn cypress:serverless --env burn=5" } -} +} \ No newline at end of file