128 lines
5.3 KiB
TypeScript
128 lines
5.3 KiB
TypeScript
/*
|
|
* 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 { resolve } from 'path';
|
|
import Url from 'url';
|
|
|
|
import { withProcRunner } from '@kbn/dev-utils';
|
|
|
|
import { FtrProviderContext } from './ftr_provider_context';
|
|
|
|
export async function SecuritySolutionCypressCliTestRunner({ getService }: FtrProviderContext) {
|
|
const log = getService('log');
|
|
const config = getService('config');
|
|
const esArchiver = getService('esArchiver');
|
|
|
|
await esArchiver.load('x-pack/test/security_solution_cypress/es_archives/auditbeat');
|
|
|
|
await withProcRunner(log, async (procs) => {
|
|
await procs.run('cypress', {
|
|
cmd: 'yarn',
|
|
args: ['cypress:run'],
|
|
cwd: resolve(__dirname, '../../plugins/security_solution'),
|
|
env: {
|
|
FORCE_COLOR: '1',
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_baseUrl: Url.format(config.get('servers.kibana')),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_protocol: config.get('servers.kibana.protocol'),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_hostname: config.get('servers.kibana.hostname'),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_configport: config.get('servers.kibana.port'),
|
|
CYPRESS_ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')),
|
|
CYPRESS_ELASTICSEARCH_USERNAME: config.get('servers.elasticsearch.username'),
|
|
CYPRESS_ELASTICSEARCH_PASSWORD: config.get('servers.elasticsearch.password'),
|
|
CYPRESS_KIBANA_URL: Url.format({
|
|
protocol: config.get('servers.kibana.protocol'),
|
|
hostname: config.get('servers.kibana.hostname'),
|
|
port: config.get('servers.kibana.port'),
|
|
}),
|
|
...process.env,
|
|
},
|
|
wait: true,
|
|
});
|
|
});
|
|
}
|
|
|
|
export async function SecuritySolutionCypressCliFirefoxTestRunner({
|
|
getService,
|
|
}: FtrProviderContext) {
|
|
const log = getService('log');
|
|
const config = getService('config');
|
|
const esArchiver = getService('esArchiver');
|
|
|
|
await esArchiver.load('x-pack/test/security_solution_cypress/es_archives/auditbeat');
|
|
|
|
await withProcRunner(log, async (procs) => {
|
|
await procs.run('cypress', {
|
|
cmd: 'yarn',
|
|
args: ['cypress:run:firefox'],
|
|
cwd: resolve(__dirname, '../../plugins/security_solution'),
|
|
env: {
|
|
FORCE_COLOR: '1',
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_baseUrl: Url.format(config.get('servers.kibana')),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_protocol: config.get('servers.kibana.protocol'),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_hostname: config.get('servers.kibana.hostname'),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_configport: config.get('servers.kibana.port'),
|
|
CYPRESS_ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')),
|
|
CYPRESS_ELASTICSEARCH_USERNAME: config.get('servers.elasticsearch.username'),
|
|
CYPRESS_ELASTICSEARCH_PASSWORD: config.get('servers.elasticsearch.password'),
|
|
CYPRESS_KIBANA_URL: Url.format({
|
|
protocol: config.get('servers.kibana.protocol'),
|
|
hostname: config.get('servers.kibana.hostname'),
|
|
port: config.get('servers.kibana.port'),
|
|
}),
|
|
...process.env,
|
|
},
|
|
wait: true,
|
|
});
|
|
});
|
|
}
|
|
|
|
export async function SecuritySolutionCypressVisualTestRunner({ getService }: FtrProviderContext) {
|
|
const log = getService('log');
|
|
const config = getService('config');
|
|
const esArchiver = getService('esArchiver');
|
|
|
|
await esArchiver.load('x-pack/test/security_solution_cypress/es_archives/empty_kibana');
|
|
await esArchiver.load('x-pack/test/security_solution_cypress/es_archives/auditbeat');
|
|
|
|
await withProcRunner(log, async (procs) => {
|
|
await procs.run('cypress', {
|
|
cmd: 'yarn',
|
|
args: ['cypress:open'],
|
|
cwd: resolve(__dirname, '../../plugins/security_solution'),
|
|
env: {
|
|
FORCE_COLOR: '1',
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_baseUrl: Url.format(config.get('servers.kibana')),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_protocol: config.get('servers.kibana.protocol'),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_hostname: config.get('servers.kibana.hostname'),
|
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
CYPRESS_configport: config.get('servers.kibana.port'),
|
|
CYPRESS_ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')),
|
|
CYPRESS_ELASTICSEARCH_USERNAME: config.get('servers.elasticsearch.username'),
|
|
CYPRESS_ELASTICSEARCH_PASSWORD: config.get('servers.elasticsearch.password'),
|
|
CYPRESS_KIBANA_URL: Url.format({
|
|
protocol: config.get('servers.kibana.protocol'),
|
|
hostname: config.get('servers.kibana.hostname'),
|
|
port: config.get('servers.kibana.port'),
|
|
}),
|
|
...process.env,
|
|
},
|
|
wait: true,
|
|
});
|
|
});
|
|
}
|