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

feat: sync cypress test from notifications-dashboards #776

Merged
Show file tree
Hide file tree
Changes from 7 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
@@ -0,0 +1,11 @@
{
"config": {
"name": "Test chime channel",
"description": "A test chime channel",
"config_type": "chime",
"is_enabled": true,
"chime": {
"url": "https://sample-chime-webhook"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"config": {
"name": "Test recipient group",
"description": "A test email recipient group",
"config_type": "email_group",
"is_enabled": true,
"email_group": {
"recipient_list": [
{
"recipient": "custom.email.1@test.com"
},
{
"recipient": "custom.email.2@test.com"
},
{
"recipient": "custom.email.3@test.com"
},
{
"recipient": "custom.email.4@test.com"
},
{
"recipient": "custom.email.5@test.com"
},
{
"recipient": "custom.email.6@test.com"
}
]
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"config": {
"name": "test-ses-sender",
"description": "A test SES sender",
"config_type": "ses_account",
"is_enabled": true,
"ses_account": {
"region": "us-east-1",
"role_arn": "arn:aws:iam::012345678912:role/NotificationsSESRole",
"from_address": "test@email.com"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"config": {
"name": "Test slack channel",
"description": "A test slack channel",
"config_type": "slack",
"is_enabled": true,
"slack": {
"url": "https://sample-slack-webhook"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"config": {
"name": "Test email channel",
"description": "A test SMTP email channel",
"config_type": "email",
"is_enabled": true,
"email": {
"email_account_id": "test_smtp_sender_id",
"recipient_list": [
{
"recipient": "custom.email@test.com"
}
],
"email_group_id_list": []
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"config": {
"name": "test-sns-channel",
"description": "A test SNS channel",
"config_type": "sns",
"is_enabled": true,
"sns": {
"topic_arn": "arn:aws:sns:us-west-2:123456789012:notifications-test",
"role_arn": "arn:aws:iam::012345678901:role/NotificationsSNSRole"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"config": {
"name": "test-ssl-sender",
"description": "A test SSL SMTP sender",
"config_type": "smtp_account",
"is_enabled": true,
"smtp_account": {
"host": "test-host.com",
"port": 123,
"method": "ssl",
"from_address": "test@email.com"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"config_id": "test_smtp_sender_id",
"config": {
"name": "test-tls-sender",
"description": "A test TLS SMTP sender",
"config_type": "smtp_account",
"is_enabled": true,
"smtp_account": {
"host": "test-host.com",
"port": 123,
"method": "start_tls",
"from_address": "test@email.com"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"config": {
"name": "Test webhook channel",
"description": "A test webhook channel",
"config_type": "webhook",
"is_enabled": true,
"webhook": {
"url": "https://custom-webhook-test-url.com:8888/test-path?params1=value1&params2=value2&params3=value3&params4=value4&params5=values5&params6=values6&params7=values7"
}
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,20 @@ import {
NOTIFICATIONS_PLUGIN_NAME,
} from '../../../utils/constants';

import testSslSmtpSender from '../../../fixtures/plugins/notifications-dashboards/test_ssl_smtp_sender.json';
import testTlsSmtpSender from '../../../fixtures/plugins/notifications-dashboards/test_tls_smtp_sender.json';
import testSesSender from '../../../fixtures/plugins/notifications-dashboards/test_ses_sender.json';
import testEmailRecipientGroup from '../../../fixtures/plugins/notifications-dashboards/test_email_recipient_group.json';

describe('Test create email senders', () => {
before(() => {
// Delete all Notification configs
cy.deleteAllNotificationConfigs();
});

beforeEach(() => {
cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#email-senders`);
cy.reload(true);
cy.wait(NOTIFICATIONS_DELAY * 5);
});

Expand Down Expand Up @@ -62,7 +73,7 @@ describe('Test create email senders', () => {

cy.get('.euiButton__text').contains('Create').click({ force: true });
cy.contains('successfully created.').should('exist');
cy.contains('test-ssl-sender').should('exist');
cy.contains('test-tls-sender').should('exist');
});

it('creates SES sender', () => {
Expand All @@ -89,8 +100,18 @@ describe('Test create email senders', () => {
});

describe('Test edit senders', () => {
before(() => {
// Delete all Notification configs
cy.deleteAllNotificationConfigs();

cy.createNotificationConfig(testSslSmtpSender);
cy.createNotificationConfig(testTlsSmtpSender);
cy.createNotificationConfig(testSesSender);
});

beforeEach(() => {
cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#email-senders`);
cy.reload(true);
cy.wait(NOTIFICATIONS_DELAY * 5);
});

Expand All @@ -102,7 +123,7 @@ describe('Test edit senders', () => {
force: true,
});
cy.get('[data-test-subj="create-sender-form-email-input"]').type(
'{selectall}{backspace}edited.test@email.com'
'{selectall}{backspace}editedtest@email.com'
);
cy.wait(NOTIFICATIONS_DELAY);

Expand All @@ -128,15 +149,23 @@ describe('Test edit senders', () => {
});

describe('Test delete senders', () => {
before(() => {
// Delete all Notification configs
cy.deleteAllNotificationConfigs();

cy.createNotificationConfig(testSslSmtpSender);
cy.createNotificationConfig(testTlsSmtpSender);
cy.createNotificationConfig(testSesSender);
});

beforeEach(() => {
cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#email-senders`);
cy.reload(true);
cy.wait(NOTIFICATIONS_DELAY * 5);
});

it('deletes smtp senders', () => {
cy.get('.euiCheckbox__input[aria-label="Select this row"]')
.eq(0)
.click({ force: true }); // ssl sender
cy.get('.euiCheckbox__input[aria-label="Select this row"]').eq(0).click(); // ssl sender
cy.get('[data-test-subj="senders-table-delete-button"]').click({
force: true,
});
Expand All @@ -149,9 +178,8 @@ describe('Test delete senders', () => {
});

it('deletes ses senders', () => {
cy.get('.euiCheckbox__input[aria-label="Select this row"]')
.last()
.click({ force: true }); // ses sender
cy.get('.euiCheckbox__input[aria-label="Select this row"]').last().click(); // ses sender
cy.wait(NOTIFICATIONS_DELAY);
cy.get('[data-test-subj="ses-senders-table-delete-button"]').click({
force: true,
});
Expand All @@ -168,9 +196,15 @@ describe('Test delete senders', () => {

describe('Test create, edit and delete recipient group', () => {
beforeEach(() => {
// Delete all Notification configs
cy.deleteAllNotificationConfigs();

cy.createNotificationConfig(testEmailRecipientGroup);

cy.visit(
`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#email-recipient-groups`
);
cy.reload(true);
cy.wait(NOTIFICATIONS_DELAY * 5);
});

Expand Down Expand Up @@ -230,14 +264,15 @@ describe('Test create, edit and delete recipient group', () => {
});

it('opens email addresses popup', () => {
cy.get('.euiLink').contains('1 more').click({ force: true });
cy.get('.euiTableCellContent--overflowingContent .euiLink')
.contains('1 more')
.click({ force: true });
cy.contains('custom.email.6@test.com').should('exist');
});

it('deletes recipient groups', () => {
cy.get('[data-test-subj="checkboxSelectAll"]')
.last()
.click({ force: true });
cy.get('[data-test-subj="checkboxSelectAll"]').click({ force: true });
cy.wait(NOTIFICATIONS_DELAY);
cy.get('[data-test-subj="recipient-groups-table-delete-button"]').click({
force: true,
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,19 @@ import {
NOTIFICATIONS_PLUGIN_NAME,
} from '../../../utils/constants';

import testSlackChannel from '../../../fixtures/plugins/notifications-dashboards/test_slack_channel.json';
import testChimeChannel from '../../../fixtures/plugins/notifications-dashboards/test_chime_channel.json';
import testWebhookChannel from '../../../fixtures/plugins/notifications-dashboards/test_webhook_channel.json';
import testTlsSmtpSender from '../../../fixtures/plugins/notifications-dashboards/test_tls_smtp_sender.json';

describe('Test create channels', () => {
before(() => {
// Delete all Notification configs
cy.deleteAllNotificationConfigs();

cy.createNotificationConfig(testTlsSmtpSender);
});

beforeEach(() => {
cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#create-channel`);
cy.wait(NOTIFICATIONS_DELAY * 5);
Expand Down Expand Up @@ -62,7 +74,7 @@ describe('Test create channels', () => {
cy.contains('successfully created.').should('exist');
});

it('creates a email channel', () => {
it('creates an email channel', () => {
cy.get('[placeholder="Enter channel name"]').type('Test email channel');

cy.get('.euiSuperSelectControl').contains('Slack').click({ force: true });
Expand Down Expand Up @@ -101,7 +113,7 @@ describe('Test create channels', () => {
cy.contains('successfully created.').should('exist');
});

it('creates a email channel with ses sender', () => {
it('creates an email channel with ses sender', () => {
cy.get('[placeholder="Enter channel name"]').type(
'Test email channel with ses'
);
Expand Down Expand Up @@ -168,7 +180,7 @@ describe('Test create channels', () => {
cy.contains('successfully created.').should('exist');
});

it('creates a sns channel', () => {
it('creates an sns channel', () => {
cy.get('[placeholder="Enter channel name"]').type('test-sns-channel');

cy.get('.euiSuperSelectControl').contains('Slack').click({ force: true });
Expand All @@ -193,6 +205,17 @@ describe('Test create channels', () => {
});

describe('Test channels table', () => {
before(() => {
// Delete all Notification configs
cy.deleteAllNotificationConfigs();

// Create test channels
cy.createNotificationConfig(testSlackChannel);
cy.createNotificationConfig(testChimeChannel);
cy.createNotificationConfig(testWebhookChannel);
cy.createTestEmailChannel();
});

beforeEach(() => {
cy.visit(`${BASE_PATH}/app/${NOTIFICATIONS_PLUGIN_NAME}#channels`);
cy.wait(NOTIFICATIONS_DELAY * 5);
Expand Down Expand Up @@ -276,6 +299,9 @@ describe('Test channel details', () => {
// cy.get(
// '[data-test-subj="create-channel-description-input"]'
// ).type('{selectall}{backspace}Updated custom webhook description');
cy.get('[data-test-subj="create-channel-description-input"]').type(
'{selectall}{backspace}Updated custom webhook description'
);
cy.get('.euiTextArea').type(
'{selectall}{backspace}Updated custom webhook description'
);
Expand Down
1 change: 1 addition & 0 deletions cypress/support/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import '../utils/plugins/security-dashboards-plugin/commands';
import '../utils/plugins/alerting-dashboards-plugin/commands';
import '../utils/plugins/security-analytics-dashboards-plugin/commands';
import '../utils/plugins/ml-commons-dashboards/commands';
import '../utils/plugins/notifications-dashboards/commands';

import 'cypress-real-events';

Expand Down
Loading