Skip to content

Commit

Permalink
Merge branch 'main' of github.com:derek-ho/opensearch-dashboards-func…
Browse files Browse the repository at this point in the history
…tional-test
  • Loading branch information
derek-ho committed Aug 30, 2023
2 parents 3615d10 + 4d2a873 commit 4d4c532
Show file tree
Hide file tree
Showing 21 changed files with 343 additions and 32 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 @@ -87,8 +87,8 @@ export const removeBucket = (bucket) => {

export const testSplitTables = (num) => {
cy.getElementByTestId('visTable')
.should('have.class', `visTable`)
.find('[class="visTable__group"]')
.should('have.class', 'visTable')
.find('.visTable__group')
.should(($tables) => {
// should have found specified number of tables
expect($tables).to.have.length(num);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ describe.skip('Split table', () => {
cy.tbSplitTablesInColumns();
cy.tbSetupTermsAggregation('age', 'Descending', '2', 2);
cy.waitForLoader();
cy.get('[class="visTable visTable__groupInColumns"]').should('exist');
cy.get('[class="visTable"]').should('exist');
cy.tbGetAllTableDataFromVisualization(2).then((data) => {
expect(data).to.deep.eq(expectData);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,21 @@ 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.wait(NOTIFICATIONS_DELAY * 3);
cy.reload(true);
cy.wait(NOTIFICATIONS_DELAY * 5);
});

it('creates ssl sender', () => {
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,16 +100,26 @@ 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.wait(NOTIFICATIONS_DELAY * 3);
cy.reload(true);
cy.wait(NOTIFICATIONS_DELAY * 5);
});

it('edits sender email address', () => {
cy.get('.euiCheckbox__input[aria-label="Select this row"]').eq(0).click(); // ssl sender
cy.get('[data-test-subj="senders-table-edit-button"]').click();
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 @@ -120,14 +141,26 @@ 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.wait(NOTIFICATIONS_DELAY * 3);
cy.reload(true);
cy.wait(NOTIFICATIONS_DELAY * 5);
});

it('deletes smtp senders', () => {
cy.get('.euiCheckbox__input[aria-label="Select this row"]').eq(0).click(); // ssl sender
cy.get('[data-test-subj="senders-table-delete-button"]').click();
cy.get('[data-test-subj="senders-table-delete-button"]').click({
force: true,
});
cy.get('input[placeholder="delete"]').type('delete');
cy.wait(NOTIFICATIONS_DELAY);
cy.get('[data-test-subj="delete-sender-modal-delete-button"]').click();
Expand All @@ -136,7 +169,10 @@ describe('Test delete senders', () => {

it('deletes ses senders', () => {
cy.get('.euiCheckbox__input[aria-label="Select this row"]').last().click(); // ses sender
cy.get('[data-test-subj="ses-senders-table-delete-button"]').click();
cy.wait(NOTIFICATIONS_DELAY);
cy.get('[data-test-subj="ses-senders-table-delete-button"]').click({
force: true,
});
cy.get('input[placeholder="delete"]').type('delete');
cy.wait(NOTIFICATIONS_DELAY);
cy.get('[data-test-subj="delete-sender-modal-delete-button"]').click();
Expand All @@ -148,10 +184,16 @@ 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.wait(NOTIFICATIONS_DELAY * 3);
cy.reload(true);
cy.wait(NOTIFICATIONS_DELAY * 5);
});

it('creates recipient group', () => {
Expand Down Expand Up @@ -210,13 +252,18 @@ 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();
cy.get('[data-test-subj="recipient-groups-table-delete-button"]').click();
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,
});
cy.get('input[placeholder="delete"]').type('delete');
cy.wait(NOTIFICATIONS_DELAY);
cy.get(
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 * 3);
Expand Down Expand Up @@ -58,7 +70,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 @@ -96,7 +108,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 @@ -156,7 +168,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 @@ -179,6 +191,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 * 3);
Expand Down Expand Up @@ -260,6 +283,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/ml-commons-dashboards/commands';
import '../utils/plugins/security-analytics-dashboards-plugin/commands';
import '../utils/plugins/notifications-dashboards/commands';

import 'cypress-real-events';

Expand Down
Loading

0 comments on commit 4d4c532

Please sign in to comment.