Skip to content

Commit

Permalink
feat: sync cypress test from notifications-dashboards (#776)
Browse files Browse the repository at this point in the history
* feat: sync cypress test from notifications-dashboards

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: rename commands

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add larger wait time

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: update

Signed-off-by: SuZhou-Joe <[email protected]>

* feat: add refresh before delete all notifications configs

Signed-off-by: SuZhou-Joe <[email protected]>

---------

Signed-off-by: SuZhou-Joe <[email protected]>
  • Loading branch information
SuZhou-Joe authored Jul 21, 2023
1 parent 356fd53 commit 81f70c3
Show file tree
Hide file tree
Showing 14 changed files with 261 additions and 15 deletions.
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": "[email protected]"
},
{
"recipient": "[email protected]"
},
{
"recipient": "[email protected]"
},
{
"recipient": "[email protected]"
},
{
"recipient": "[email protected]"
},
{
"recipient": "[email protected]"
}
]
}
}
}
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": "[email protected]"
}
}
}
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": "[email protected]"
}
],
"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": "[email protected]"
}
}
}
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": "[email protected]"
}
}
}
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('[email protected]').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

0 comments on commit 81f70c3

Please sign in to comment.