Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add test cases and fix for PR 4418 and 4416 for directory changes #4432

Merged
Show file tree
Hide file tree
Changes from 1 commit
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
2 changes: 1 addition & 1 deletion test/cypress/cypress.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"testFiles": ["**/*.{feature,features}"],
"defaultCommandTimeout": 40000,
"viewportWidth": 1400,
"viewportHeight": 1000,
"viewportHeight": 1500,
"reporter": "mochawesome",
"watchForFileChanges": false,
"numTestsKeptInMemory": 0,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Feature: Validate that the added filter label is remove after click remove filter option modules Dashboard/Events
Feature: Validate that the added filter label is remove after click remove filter option modules Dashboard

As a Wazuh user
I want to set a new filter
Expand All @@ -24,25 +24,4 @@ Feature: Validate that the added filter label is remove after click remove filte
| NIST |
| TSC |
| Policy Monitoring |
| PCIDSS |

@filter
Scenario Outline: The user remove an added filter - Module - Events
When The user goes to <Module Name>
And The user moves to events page
And The user adds a new filter
And The user checks filter label is added
And The user removes the applied filter
Then The user checks filter label is not added
Examples:
| Module Name |
| Security Events |
| Integrity Monitoring |
| System Auditing |
| Vulnerabilities |
| Mitre & Attack |
| NIST |
| TSC |
| Policy Monitoring |
| PCIDSS |

| PCIDSS |
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Feature: Validate that the added filter label is remove after click remove filter option modules Events

As a Wazuh user
I want to set a new filter
in order to manage them
Background:
Given The wazuh admin user is logged

@filter
Scenario Outline: The user remove an added filter - Module - Events <Module Name>
When The user goes to <Module Name>
And The user moves to events page
And The user adds a new filter
And The user checks filter label is added
And The user removes the applied filter
Then The user checks filter label is not added
Examples:
| Module Name |
| Security Events |
| Integrity Monitoring |
| System Auditing |
| Vulnerabilities |
| Mitre & Attack |
| NIST |
| TSC |
| Policy Monitoring |
| PCIDSS |

Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ Feature: Should List Decoders And Show The Pager
Scenario: Should List Custom Decoders And Show The Pager
Given The wazuh admin user is logged
When The user navigates to decoders
When The user press button custom decoders
When The user clicks the custom decoders button
Then The user should see the decoders

@decoder
Scenario: Should can edit a decoder
Given The wazuh admin user is logged
When The user navigates to decoders
When The user press button custom decoders
When The user presses the edit decoders button and edits it
When The user clicks the custom decoders button
When The user presses the edit decoder button and edits it
Then The user should see the message
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export const DECODERS_PAGE = {
listPages: 'nav[class="euiPagination"]',
customDecodersButtonSelector: '[data-test-subj="Custom decoders"]',
manageDecodersFilesButtonSelector: ':nth-child(3) > .euiButtonEmpty > .euiButtonContent',
editDecoderButtonSelector: '.euiTableCellContent > div > :nth-child(1) > .euiButtonIcon',
editDecoderButtonSelector: 'tr.euiTableRow:nth-child(1) .euiTableCellContent > div > :nth-child(1) > .euiButtonIcon:nth-child(1)',
saveDecoderButtonSelector: '.euiFlexItem--flexGrowZero > .euiButton > .euiButtonContent',
messageConfirmSaveSelector: '.euiText > span',
buttonRestartSelector: '.euiCallOut.euiCallOut--primary .euiButton.euiButton--primary',
Expand All @@ -14,6 +14,7 @@ export const DECODERS_PAGE = {
codeEditorSelector: '[data-test-subj="codeEditorContainer"]',
backButtonSelector: '.euiFlexGroup .euiFlexItem .euiToolTipAnchor .euiButtonIcon',
confirmModalSelector: '[data-test-subj="confirmModalTitleText"]',
createNewDecoderSelector:'.euiFlexGroup .euiFlexItem .euiButtonEmpty .euiButtonContent .euiButtonEmpty__text:contains("Add new decoders file")',
decoderTitleSelector: '.euiFlexItem .euiFlexGroup .euiFormControlLayout input.euiFieldText',
saveDecoderMessage: '.euiText span:contains("Changes will not take effect until a restart is performed.")'
};
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export const DECODERS_PAGE = {
listPages: 'nav[class="euiPagination"]',
customDecodersButtonSelector: '[data-test-subj="Custom decoders"]',
manageDecodersFilesButtonSelector: ':nth-child(3) > .euiButtonEmpty > .euiButtonContent',
editDecoderButtonSelector: '.euiTableCellContent > div > :nth-child(1) > .euiButtonIcon',
editDecoderButtonSelector: 'tr.euiTableRow:nth-child(1) .euiTableCellContent > div > :nth-child(1) > .euiButtonIcon:nth-child(1)',
saveDecoderButtonSelector: '.euiFlexItem--flexGrowZero > .euiButton > .euiButtonContent',
messageConfirmSaveSelector: '.euiText > span',
buttonRestartSelector: '.euiCallOut.euiCallOut--primary .euiButton.euiButton--primary',
Expand All @@ -14,6 +14,7 @@ export const DECODERS_PAGE = {
codeEditorSelector: '[data-test-subj="codeEditorContainer"]',
backButtonSelector: '.euiFlexGroup .euiFlexItem .euiToolTipAnchor .euiButtonIcon',
confirmModalSelector: '[data-test-subj="confirmModalTitleText"]',
createNewDecoderSelector:'.euiFlexGroup .euiFlexItem .euiButtonEmpty .euiButtonContent .euiButtonEmpty__text:contains("Add new decoders file")',
decoderTitleSelector: '.euiFlexItem .euiFlexGroup .euiFormControlLayout input.euiFieldText',
saveDecoderMessage: '.euiText span:contains("Changes will not take effect until a restart is performed.")'
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ export const DECODERS_PAGE = {
dropdownPaginationSelector: '[data-test-subj="tablePaginationPopoverButton"]',
listPages: 'nav[class="euiPagination"]',
customDecodersButtonSelector: '[data-test-subj="Custom decoders"]',
// customDecodersButtonSelector: '.euiToggle__input',
manageDecodersFilesButtonSelector: ':nth-child(3) > .euiButtonEmpty > .euiButtonContent',
editDecoderButtonSelector: '.euiTableCellContent > div > :nth-child(1) > .euiButtonIcon',
editDecoderButtonSelector: 'tr.euiTableRow:nth-child(1) .euiTableCellContent > div > :nth-child(1) > .euiButtonIcon:nth-child(1)',
saveDecoderButtonSelector: '.euiFlexGroup .euiFlexItem button.euiButton span.euiButtonContent span.euiButton__text:contains("Save")',
messageConfirmSaveSelector: '.euiText > span',
buttonRestartSelector: '.euiCallOut.euiCallOut--primary .euiButton.euiButton--primary',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
export const FILTERS_PAGE = {
addFilterButton: '[data-test-subj="addFilter"]',
filterCard: '.euiPopover__panel-isOpen .euiFlexItem.euiFlexItem--flexGrowZero .euiForm',
filterSuggestionList: '[data-test-subj="filterFieldSuggestionList"]',
filterOperatorListObject:'[data-test-subj="comboBoxOptionsList filterOperatorList-optionsList"] [role="listBox"]',
filterOperatorList: '[data-test-subj="filterOperatorList"] [data-test-subj="comboBoxToggleListButton"]',
filterParams: '[data-test-subj="filterParams"]',
saveFilterButton: '[data-test-subj="saveFilter"]',
stablishedFilter: '[data-test-subj="filter filter-enabled filter-key-rule.level filter-value-7 filter-unpinned"',
pinFilterAction: '[data-test-subj="pinFilter"]',
selectedOperator: '[title="is"]',
SelectedOperatorIs:'[data-test-subj="comboBoxOptionsList filterOperatorList-optionsList"] button[title="is"]',
pinnedFilter: '[data-test-subj="filter filter-enabled filter-key-rule.level filter-value-7 filter-pinned"]',
eventsButton: '//*[contains(@class,"euiTabs")]//*[contains(text(),"Events")]',
removeFilterButton: '//*[contains(@class,"euiContextMenuPanel")]//*[contains(text(),"Delete")]',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export const DECODERS_PAGE = {
listPages: 'nav[class="euiPagination"]',
customDecodersButtonSelector: '[data-test-subj="Custom decoders"]',
manageDecodersFilesButtonSelector: ':nth-child(3) > .euiButtonEmpty > .euiButtonContent',
editDecoderButtonSelector: '.euiTableCellContent > div > :nth-child(1) > .euiButtonIcon',
editDecoderButtonSelector: 'tr.euiTableRow:nth-child(1) .euiTableCellContent > div > :nth-child(1) > .euiButtonIcon:nth-child(1)',
saveDecoderButtonSelector: '.euiFlexItem--flexGrowZero > .euiButton > .euiButtonContent',
messageConfirmSaveSelector: '.euiText > span',
buttonRestartSelector: '.euiCallOut.euiCallOut--primary .euiButton.euiButton--primary',
Expand All @@ -14,6 +14,7 @@ export const DECODERS_PAGE = {
codeEditorSelector: '[data-test-subj="codeEditorContainer"]',
backButtonSelector: '.euiFlexGroup .euiFlexItem .euiToolTipAnchor .euiButtonIcon',
confirmModalSelector: '[data-test-subj="confirmModalTitleText"]',
createNewDecoderSelector:'.euiFlexGroup .euiFlexItem .euiButtonEmpty .euiButtonContent .euiButtonEmpty__text:contains("Add new decoders file")',
decoderTitleSelector: '.euiFlexItem .euiFlexGroup .euiFormControlLayout input.euiFieldText',
saveDecoderMessage: '.euiText span:contains("Changes will not take effect until a restart is performed.")'
};
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,32 @@ const filterOperatorList = getSelector('filterOperatorList', pageName);
const filterParams = getSelector('filterParams', pageName);
const saveFilterButton = getSelector('saveFilterButton', pageName);
const selectedOperator = getSelector('selectedOperator', pageName);
const SelectedOperatorIs = getSelector('SelectedOperatorIs', pageName);
const operatorList = getSelector('operatorList', pageName);
const filterCard = getSelector('filterCard', pageName);
const filterOperatorListObject = getSelector('filterOperatorListObject', pageName);


When('The user adds a new filter', () => {
debugger
//+ Add Filter
elementIsVisible(addFilterButton);
clickElement(addFilterButton);

//Card
elementIsVisible(filterCard);

elementIsVisible(filterSuggestionList);
fillField(filterSuggestionList,'rule.level');
forceEnter(filterSuggestionList);
elementIsVisible(filterOperatorList);
forceClickElement(filterOperatorList);
cy.wait(1000);
cy.wait(100);
elementIsVisible(operatorList);
cy.wait(1000);
forceClickElement(selectedOperator);
elementIsVisible(filterOperatorListObject);
cy.wait(150);
// forceClickElement(SelectedOperatorIs);
cy.get(SelectedOperatorIs).click({force:true});
elementIsVisible(filterParams);
clickElement(filterParams);
fillField(filterParams,'7')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ import { fillField, elementIsVisible, getSelector } from '../../../utils/driver'
import { DECODERS_PAGE as pageName} from '../../../utils/pages-constants';
const decoderTitleSelector = getSelector('decoderTitleSelector', pageName);
const codeEditorSelector = getSelector('codeEditorSelector', pageName);
const testXmlText = '<decoder name="json"><prematch>^{\s*"</prematch><plugin_decoder>JSON_Decoder</plugin_decoder></decoder>';

When('The user writes a new decoder', () => {
elementIsVisible(decoderTitleSelector);
fillField(decoderTitleSelector,'Test');
fillField(codeEditorSelector,'Test');
fillField(codeEditorSelector,testXmlText);
})
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
import { When } from 'cypress-cucumber-preprocessor/steps';
import { clickElement, elementIsVisible, getSelector } from '../../../utils/driver';
import { clickElement, getSelector, getElement } from '../../../utils/driver';
import { DECODERS_PAGE as pageName} from '../../../utils/pages-constants';
const customDecodersButtonSelector = getSelector('customDecodersButtonSelector', pageName);

When('The user clicks the custom decoders button', () => {
elementIsVisible(customDecodersButtonSelector);
clickElement(customDecodersButtonSelector);
if(Cypress.env('type') == 'wzd'){
getElement(customDecodersButtonSelector).check()
}
else {
clickElement(customDecodersButtonSelector);
}
});
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const editDecoderButtonSelector = getSelector('editDecoderButtonSelector', pageN
const manageDecodersFilesButtonSelector = getSelector('manageDecodersFilesButtonSelector', pageName);
const saveDecoderButtonSelector = getSelector('saveDecoderButtonSelector', pageName);

When('The user presses the edit decoder button and edits it', () => {
When('The user presses the edit decoders button and edits it', () => {
elementIsVisible(manageDecodersFilesButtonSelector);
clickElement(manageDecodersFilesButtonSelector);
elementIsVisible(editDecoderButtonSelector);
Expand Down
4 changes: 4 additions & 0 deletions test/cypress/cypress/integration/utils/driver.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ export const forceClickElement = (cssSelector) => {
return this;
};

export const clickElementByContains = (selector, label) => {
return cy.contains(selector,label).click();
};

export const forceCheckElement = (selector) => {
getElement(selector).check({ force: true })
return this;
Expand Down