mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
# Backport This will backport the following commits from `main` to `8.10`: - [[DOCS] Automate Jira connector screenshots (#165917)](https://github.com/elastic/kibana/pull/165917) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Lisa Cawley","email":"lcawley@elastic.co"},"sourceCommit":{"committedDate":"2023-09-08T20:01:53Z","message":"[DOCS] Automate Jira connector screenshots (#165917)","sha":"87c60a381936314db9474921b3d1da033f276ae7","branchLabelMapping":{"^v8.11.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","docs","Feature:Actions/ConnectorTypes","backport:prev-minor","v8.11.0"],"number":165917,"url":"https://github.com/elastic/kibana/pull/165917","mergeCommit":{"message":"[DOCS] Automate Jira connector screenshots (#165917)","sha":"87c60a381936314db9474921b3d1da033f276ae7"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.11.0","labelRegex":"^v8.11.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/165917","number":165917,"mergeCommit":{"message":"[DOCS] Automate Jira connector screenshots (#165917)","sha":"87c60a381936314db9474921b3d1da033f276ae7"}}]}] BACKPORT-->
This commit is contained in:
parent
a4fe822011
commit
cdc8242989
14 changed files with 390 additions and 205 deletions
|
@ -25,6 +25,7 @@ or as needed when you're creating a rule. For example:
|
|||
|
||||
[role="screenshot"]
|
||||
image::management/connectors/images/jira-connector.png[Jira connector]
|
||||
// NOTE: This is an autogenerated screenshot. Do not edit it directly.
|
||||
|
||||
[float]
|
||||
[[jira-connector-configuration]]
|
||||
|
@ -80,6 +81,7 @@ as you're creating or editing the connector in {kib}. For example:
|
|||
|
||||
[role="screenshot"]
|
||||
image::management/connectors/images/jira-params-test.png[Jira params test]
|
||||
// NOTE: This is an autogenerated screenshot. Do not edit it directly.
|
||||
|
||||
Jira actions have the following configuration properties.
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 157 KiB |
Binary file not shown.
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 111 KiB |
|
@ -1,203 +0,0 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const browser = getService('browser');
|
||||
const comboBox = getService('comboBox');
|
||||
const find = getService('find');
|
||||
const testSubjects = getService('testSubjects');
|
||||
const testIndex = `test-index`;
|
||||
const indexDocument =
|
||||
`{\n` +
|
||||
`"rule_id": "{{rule.id}}",\n` +
|
||||
`"rule_name": "{{rule.name}}",\n` +
|
||||
`"alert_id": "{{alert.id}}",\n` +
|
||||
`"context_message": "{{context.message}}"\n`;
|
||||
const webhookJson =
|
||||
`{\n` +
|
||||
`"short_description": "{{context.rule.name}}",\n` +
|
||||
`"description": "{{context.rule.description}}"`;
|
||||
const emailConnectorName = 'my-email-connector';
|
||||
|
||||
describe('connector types', function () {
|
||||
let emailConnectorId: string;
|
||||
before(async () => {
|
||||
({ id: emailConnectorId } = await actions.api.createConnector({
|
||||
name: emailConnectorName,
|
||||
config: {
|
||||
service: 'other',
|
||||
from: 'bob@example.com',
|
||||
host: 'some.non.existent.com',
|
||||
port: 25,
|
||||
},
|
||||
secrets: {
|
||||
user: 'bob',
|
||||
password: 'supersecret',
|
||||
},
|
||||
connectorTypeId: '.email',
|
||||
}));
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await actions.api.deleteConnector(emailConnectorId);
|
||||
});
|
||||
|
||||
it('server log connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('server-log');
|
||||
await testSubjects.setValue('nameInput', 'Server log test connector');
|
||||
await commonScreenshots.takeScreenshot('serverlog-connector', screenshotDirectories);
|
||||
const saveTestButton = await testSubjects.find('create-connector-flyout-save-test-btn');
|
||||
await saveTestButton.click();
|
||||
await commonScreenshots.takeScreenshot('serverlog-params-test', screenshotDirectories);
|
||||
const flyOutCancelButton = await testSubjects.find('euiFlyoutCloseButton');
|
||||
await flyOutCancelButton.click();
|
||||
});
|
||||
|
||||
it('index connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('index');
|
||||
await testSubjects.setValue('nameInput', 'Index test connector');
|
||||
await comboBox.set('connectorIndexesComboBox', testIndex);
|
||||
const timeFieldToggle = await testSubjects.find('hasTimeFieldCheckbox');
|
||||
await timeFieldToggle.click();
|
||||
await commonScreenshots.takeScreenshot('index-connector', screenshotDirectories);
|
||||
const saveTestButton = await testSubjects.find('create-connector-flyout-save-test-btn');
|
||||
await saveTestButton.click();
|
||||
await testSubjects.setValue('actionJsonEditor', indexDocument);
|
||||
await commonScreenshots.takeScreenshot('index-params-test', screenshotDirectories);
|
||||
const flyOutCancelButton = await testSubjects.find('euiFlyoutCloseButton');
|
||||
await flyOutCancelButton.click();
|
||||
});
|
||||
|
||||
it('slack api connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('slack');
|
||||
await testSubjects.click('.slack_apiButton');
|
||||
await testSubjects.setValue('nameInput', 'Slack api test connector');
|
||||
await testSubjects.setValue('secrets.token-input', 'xoxb-XXXX-XXXX-XXXX');
|
||||
await commonScreenshots.takeScreenshot('slack-api-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await pageObjects.common.closeToast();
|
||||
await commonScreenshots.takeScreenshot('slack-api-params', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
|
||||
it('slack webhook connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('slack');
|
||||
await testSubjects.setValue('nameInput', 'Slack webhook test connector');
|
||||
await testSubjects.setValue(
|
||||
'slackWebhookUrlInput',
|
||||
'https://hooks.slack.com/services/abcd/ljklmnopqrstuvwxz'
|
||||
);
|
||||
await commonScreenshots.takeScreenshot('slack-webhook-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await commonScreenshots.takeScreenshot('slack-webhook-params', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
|
||||
it('email connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('email');
|
||||
await testSubjects.setValue('nameInput', 'Gmail connector');
|
||||
await testSubjects.setValue('emailFromInput', 'test@gmail.com');
|
||||
await testSubjects.setValue('emailServiceSelectInput', 'gmail');
|
||||
await commonScreenshots.takeScreenshot('email-connector', screenshotDirectories);
|
||||
const flyOutCancelButton = await testSubjects.find('euiFlyoutCloseButton');
|
||||
await flyOutCancelButton.click();
|
||||
});
|
||||
|
||||
it('test email connector screenshots', async () => {
|
||||
const searchBox = await find.byCssSelector('[data-test-subj="actionsList"] .euiFieldSearch');
|
||||
await searchBox.click();
|
||||
await searchBox.clearValue();
|
||||
await searchBox.type('my actionTypeId:(.email)');
|
||||
await searchBox.pressKeys(browser.keys.ENTER);
|
||||
const connectorList = await testSubjects.find('actionsTable');
|
||||
const emailConnector = await connectorList.findByCssSelector(
|
||||
`[title="${emailConnectorName}"]`
|
||||
);
|
||||
await emailConnector.click();
|
||||
const testButton = await testSubjects.find('testConnectorTab');
|
||||
await testButton.click();
|
||||
await testSubjects.setValue('comboBoxSearchInput', 'elastic@gmail.com');
|
||||
await testSubjects.setValue('subjectInput', 'Test subject');
|
||||
await testSubjects.setValue('messageTextArea', 'Enter message text');
|
||||
/* timing issue sometimes happens with the combobox so we just try to set the subjectInput again */
|
||||
await testSubjects.setValue('subjectInput', 'Test subject');
|
||||
await commonScreenshots.takeScreenshot(
|
||||
'email-params-test',
|
||||
screenshotDirectories,
|
||||
1400,
|
||||
1024
|
||||
);
|
||||
});
|
||||
|
||||
it('webhook connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('webhook');
|
||||
await testSubjects.setValue('nameInput', 'Webhook test connector');
|
||||
await testSubjects.setValue('webhookUrlText', 'https://example.com');
|
||||
await testSubjects.setValue('webhookUserInput', 'testuser');
|
||||
await testSubjects.setValue('webhookPasswordInput', 'password');
|
||||
await commonScreenshots.takeScreenshot('webhook-connector', screenshotDirectories);
|
||||
const saveTestButton = await testSubjects.find('create-connector-flyout-save-test-btn');
|
||||
await saveTestButton.click();
|
||||
await testSubjects.setValue('actionJsonEditor', webhookJson);
|
||||
await commonScreenshots.takeScreenshot('webhook-params-test', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
|
||||
it('pagerduty connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('pagerduty');
|
||||
await testSubjects.setValue('nameInput', 'PagerDuty test connector');
|
||||
await testSubjects.setValue('pagerdutyApiUrlInput', 'https://dev-test.pagerduty.com/');
|
||||
await testSubjects.setValue('pagerdutyRoutingKeyInput', 'testkey');
|
||||
await commonScreenshots.takeScreenshot('pagerduty-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await testSubjects.setValue('eventActionSelect', 'trigger');
|
||||
await commonScreenshots.takeScreenshot('pagerduty-params-test', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
|
||||
it('opsgenie connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('opsgenie');
|
||||
await testSubjects.setValue('nameInput', 'Opsgenie test connector');
|
||||
await testSubjects.setValue('secrets.apiKey-input', 'testkey');
|
||||
await commonScreenshots.takeScreenshot('opsgenie-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await commonScreenshots.takeScreenshot('opsgenie-params-test', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
});
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const browser = getService('browser');
|
||||
const find = getService('find');
|
||||
const testSubjects = getService('testSubjects');
|
||||
const emailConnectorName = 'my-email-connector';
|
||||
|
||||
describe('email connector', function () {
|
||||
let emailConnectorId: string;
|
||||
before(async () => {
|
||||
({ id: emailConnectorId } = await actions.api.createConnector({
|
||||
name: emailConnectorName,
|
||||
config: {
|
||||
service: 'other',
|
||||
from: 'bob@example.com',
|
||||
host: 'some.non.existent.com',
|
||||
port: 25,
|
||||
},
|
||||
secrets: {
|
||||
user: 'bob',
|
||||
password: 'supersecret',
|
||||
},
|
||||
connectorTypeId: '.email',
|
||||
}));
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await actions.api.deleteConnector(emailConnectorId);
|
||||
});
|
||||
|
||||
it('email connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('email');
|
||||
await testSubjects.setValue('nameInput', 'Gmail connector');
|
||||
await testSubjects.setValue('emailFromInput', 'test@gmail.com');
|
||||
await testSubjects.setValue('emailServiceSelectInput', 'gmail');
|
||||
await commonScreenshots.takeScreenshot('email-connector', screenshotDirectories);
|
||||
const flyOutCancelButton = await testSubjects.find('euiFlyoutCloseButton');
|
||||
await flyOutCancelButton.click();
|
||||
});
|
||||
|
||||
it('test email connector screenshots', async () => {
|
||||
const searchBox = await find.byCssSelector('[data-test-subj="actionsList"] .euiFieldSearch');
|
||||
await searchBox.click();
|
||||
await searchBox.clearValue();
|
||||
await searchBox.type('my actionTypeId:(.email)');
|
||||
await searchBox.pressKeys(browser.keys.ENTER);
|
||||
const connectorList = await testSubjects.find('actionsTable');
|
||||
const emailConnector = await connectorList.findByCssSelector(
|
||||
`[title="${emailConnectorName}"]`
|
||||
);
|
||||
await emailConnector.click();
|
||||
const testButton = await testSubjects.find('testConnectorTab');
|
||||
await testButton.click();
|
||||
await testSubjects.setValue('comboBoxSearchInput', 'elastic@gmail.com');
|
||||
await testSubjects.setValue('subjectInput', 'Test subject');
|
||||
await testSubjects.setValue('messageTextArea', 'Enter message text');
|
||||
/* timing issue sometimes happens with the combobox so we just try to set the subjectInput again */
|
||||
await testSubjects.setValue('subjectInput', 'Test subject');
|
||||
await commonScreenshots.takeScreenshot(
|
||||
'email-params-test',
|
||||
screenshotDirectories,
|
||||
1400,
|
||||
1024
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
|
@ -21,7 +21,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
`"content": "You are a cyber security analyst using Elastic Security. I would like you to evaluate the event below and format your output neatly in markdown syntax. Add your description, an accuracy rating, and a threat rating."\n` +
|
||||
`}]`;
|
||||
|
||||
describe('connector types', function () {
|
||||
describe('generative ai connector', function () {
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
|
|
|
@ -54,8 +54,15 @@ export default function ({ loadTestFile, getService }: FtrProviderContext) {
|
|||
});
|
||||
|
||||
loadTestFile(require.resolve('./connectors'));
|
||||
loadTestFile(require.resolve('./connector_types'));
|
||||
loadTestFile(require.resolve('./email_connector'));
|
||||
loadTestFile(require.resolve('./generative_ai_connector'));
|
||||
loadTestFile(require.resolve('./index_connector'));
|
||||
loadTestFile(require.resolve('./jira_connector'));
|
||||
loadTestFile(require.resolve('./opsgenie_connector'));
|
||||
loadTestFile(require.resolve('./pagerduty_connector'));
|
||||
loadTestFile(require.resolve('./server_log_connector'));
|
||||
loadTestFile(require.resolve('./slack_connector'));
|
||||
loadTestFile(require.resolve('./webhook_connector'));
|
||||
loadTestFile(require.resolve('./xmatters_connector'));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const comboBox = getService('comboBox');
|
||||
const testSubjects = getService('testSubjects');
|
||||
const testIndex = `test-index`;
|
||||
const indexDocument =
|
||||
`{\n` +
|
||||
`"rule_id": "{{rule.id}}",\n` +
|
||||
`"rule_name": "{{rule.name}}",\n` +
|
||||
`"alert_id": "{{alert.id}}",\n` +
|
||||
`"context_message": "{{context.message}}"\n`;
|
||||
|
||||
describe('index connector', function () {
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
it('index connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('index');
|
||||
await testSubjects.setValue('nameInput', 'Index test connector');
|
||||
await comboBox.set('connectorIndexesComboBox', testIndex);
|
||||
const timeFieldToggle = await testSubjects.find('hasTimeFieldCheckbox');
|
||||
await timeFieldToggle.click();
|
||||
await commonScreenshots.takeScreenshot('index-connector', screenshotDirectories);
|
||||
const saveTestButton = await testSubjects.find('create-connector-flyout-save-test-btn');
|
||||
await saveTestButton.click();
|
||||
await testSubjects.setValue('actionJsonEditor', indexDocument);
|
||||
await commonScreenshots.takeScreenshot('index-params-test', screenshotDirectories);
|
||||
const flyOutCancelButton = await testSubjects.find('euiFlyoutCloseButton');
|
||||
await flyOutCancelButton.click();
|
||||
});
|
||||
});
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const testSubjects = getService('testSubjects');
|
||||
|
||||
describe('jira connector', function () {
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
it('index connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('jira');
|
||||
await testSubjects.setValue('nameInput', 'Jira test connector');
|
||||
await testSubjects.setValue('config.apiUrl-input', 'https://elastic.atlassian.net');
|
||||
await testSubjects.setValue('config.projectKey-input', 'ES');
|
||||
await testSubjects.setValue('secrets.email-input', 'testuser@example.com');
|
||||
await testSubjects.setValue('secrets.apiToken-input', 'test');
|
||||
await commonScreenshots.takeScreenshot('jira-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await commonScreenshots.takeScreenshot('jira-params-test', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
});
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const testSubjects = getService('testSubjects');
|
||||
|
||||
describe('opsgenie connector', function () {
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
it('opsgenie connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('opsgenie');
|
||||
await testSubjects.setValue('nameInput', 'Opsgenie test connector');
|
||||
await testSubjects.setValue('secrets.apiKey-input', 'testkey');
|
||||
await commonScreenshots.takeScreenshot('opsgenie-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await commonScreenshots.takeScreenshot('opsgenie-params-test', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
});
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const testSubjects = getService('testSubjects');
|
||||
|
||||
describe('pagerduty connector', function () {
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
it('pagerduty connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('pagerduty');
|
||||
await testSubjects.setValue('nameInput', 'PagerDuty test connector');
|
||||
await testSubjects.setValue('pagerdutyApiUrlInput', 'https://dev-test.pagerduty.com/');
|
||||
await testSubjects.setValue('pagerdutyRoutingKeyInput', 'testkey');
|
||||
await commonScreenshots.takeScreenshot('pagerduty-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await testSubjects.setValue('eventActionSelect', 'trigger');
|
||||
await commonScreenshots.takeScreenshot('pagerduty-params-test', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
});
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const testSubjects = getService('testSubjects');
|
||||
|
||||
describe('server log connector', function () {
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
it('server log connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('server-log');
|
||||
await testSubjects.setValue('nameInput', 'Server log test connector');
|
||||
await commonScreenshots.takeScreenshot('serverlog-connector', screenshotDirectories);
|
||||
const saveTestButton = await testSubjects.find('create-connector-flyout-save-test-btn');
|
||||
await saveTestButton.click();
|
||||
await commonScreenshots.takeScreenshot('serverlog-params-test', screenshotDirectories);
|
||||
const flyOutCancelButton = await testSubjects.find('euiFlyoutCloseButton');
|
||||
await flyOutCancelButton.click();
|
||||
});
|
||||
});
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const testSubjects = getService('testSubjects');
|
||||
|
||||
describe('slack connector', function () {
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
it('slack api connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('slack');
|
||||
await testSubjects.click('.slack_apiButton');
|
||||
await testSubjects.setValue('nameInput', 'Slack api test connector');
|
||||
await testSubjects.setValue('secrets.token-input', 'xoxb-XXXX-XXXX-XXXX');
|
||||
await commonScreenshots.takeScreenshot('slack-api-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await pageObjects.common.closeToast();
|
||||
await commonScreenshots.takeScreenshot('slack-api-params', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
|
||||
it('slack webhook connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('slack');
|
||||
await testSubjects.setValue('nameInput', 'Slack webhook test connector');
|
||||
await testSubjects.setValue(
|
||||
'slackWebhookUrlInput',
|
||||
'https://hooks.slack.com/services/abcd/ljklmnopqrstuvwxz'
|
||||
);
|
||||
await commonScreenshots.takeScreenshot('slack-webhook-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await testSubjects.click('toastCloseButton');
|
||||
await commonScreenshots.takeScreenshot('slack-webhook-params', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
});
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const testSubjects = getService('testSubjects');
|
||||
const webhookJson =
|
||||
`{\n` +
|
||||
`"short_description": "{{context.rule.name}}",\n` +
|
||||
`"description": "{{context.rule.description}}"`;
|
||||
|
||||
describe('webhook connector', function () {
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
it('webhook connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('webhook');
|
||||
await testSubjects.setValue('nameInput', 'Webhook test connector');
|
||||
await testSubjects.setValue('webhookUrlText', 'https://example.com');
|
||||
await testSubjects.setValue('webhookUserInput', 'testuser');
|
||||
await testSubjects.setValue('webhookPasswordInput', 'password');
|
||||
await commonScreenshots.takeScreenshot('webhook-connector', screenshotDirectories);
|
||||
const saveTestButton = await testSubjects.find('create-connector-flyout-save-test-btn');
|
||||
await saveTestButton.click();
|
||||
await testSubjects.setValue('actionJsonEditor', webhookJson);
|
||||
await commonScreenshots.takeScreenshot('webhook-params-test', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
});
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue