mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
FTR: enable ESLint mocha rules for api integration tests (#191267)
## Summary Follow-up to #190690 Most of API integration tests does not match the path pattern set in the original PR (thanks @pheyos for catching it) and where not updated. This PR updates `.eslintrc.js` with explicit patterns to lint api_integration tests. Hopefully it is final change, but I rely on code owners to double check it. Most of the changes are trivial adjustments: - duplicated before/after hooks `mocha/no-sibling-hooks` - duplicated test titles `mocha/no-identical-title` - async function in describe() `mocha/no-async-describe` --------- Co-authored-by: Ash <1849116+ashokaditya@users.noreply.github.com>
This commit is contained in:
parent
22d23ffd29
commit
8436f45fd1
164 changed files with 518 additions and 622 deletions
|
@ -1371,8 +1371,10 @@ module.exports = {
|
|||
},
|
||||
{
|
||||
files: [
|
||||
'test/{accessibility,*functional*,*api_integration*}/apps/**/*.{js,ts}',
|
||||
'x-pack/test/{accessibility,*functional*,*api_integration*}/apps/**/*.{js,ts}',
|
||||
'test/{accessibility,*functional*}/apps/**/*.{js,ts}',
|
||||
'test/*api_integration*/**/*.{js,ts}',
|
||||
'x-pack/test/{accessibility,*functional*}/apps/**/*.{js,ts}',
|
||||
'x-pack/test/*api_integration*/**/*.{js,ts}',
|
||||
'x-pack/test_serverless/{functional,api_integration}/test_suites/**/*.{js,ts}',
|
||||
],
|
||||
extends: ['plugin:mocha/recommended'],
|
||||
|
|
|
@ -224,7 +224,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
expect(response.body[config.serviceKey].fieldFormats.foo.params).to.eql({});
|
||||
});
|
||||
|
||||
it('can specify optional fieldFormats attribute when creating an index pattern', async () => {
|
||||
it('can specify optional fieldFormats attributes count and customLabel when creating an index pattern', async () => {
|
||||
const title = `foo-${Date.now()}-${Math.random()}*`;
|
||||
const response = await supertest.post(config.path).send({
|
||||
[config.serviceKey]: {
|
||||
|
|
|
@ -68,13 +68,6 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
);
|
||||
});
|
||||
|
||||
it('returns 404 error on non-existing scripted field', async () => {
|
||||
const response1 = await supertest.get(
|
||||
`/api/index_patterns/index_pattern/${indexPattern.id}/scripted_field/test`
|
||||
);
|
||||
expect(response1.status).to.be(404);
|
||||
});
|
||||
|
||||
it('returns error when attempting to fetch a field which is not a scripted field', async () => {
|
||||
const response2 = await supertest.get(
|
||||
`/api/index_patterns/index_pattern/${indexPattern.id}/scripted_field/foo`
|
||||
|
|
|
@ -19,7 +19,7 @@ import type { ToolingLog } from '@kbn/tooling-log';
|
|||
* Example usage:
|
||||
* ```ts
|
||||
const fleetResponse = await retry<InstallPackageResponse>({
|
||||
test: async () => {
|
||||
testFn: async () => {
|
||||
const testResponse = await supertest
|
||||
.post(`/api/fleet/epm/packages/security_detection_engine`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
|
@ -45,7 +45,7 @@ import type { ToolingLog } from '@kbn/tooling-log';
|
|||
* @returns The response from the test
|
||||
*/
|
||||
export const retry = async <T>({
|
||||
test,
|
||||
testFn,
|
||||
retryService,
|
||||
utilityName,
|
||||
retries = 3,
|
||||
|
@ -53,7 +53,7 @@ export const retry = async <T>({
|
|||
retryDelay = 200,
|
||||
logger,
|
||||
}: {
|
||||
test: () => Promise<T>;
|
||||
testFn: () => Promise<T>;
|
||||
utilityName: string;
|
||||
retryService: RetryService;
|
||||
retries?: number;
|
||||
|
@ -77,7 +77,7 @@ export const retry = async <T>({
|
|||
|
||||
retryAttempt = retryAttempt + 1;
|
||||
|
||||
return await test();
|
||||
return await testFn();
|
||||
},
|
||||
undefined,
|
||||
retryDelay
|
||||
|
|
|
@ -34,7 +34,7 @@ export async function waitForRuleStatus({
|
|||
logger: ToolingLog;
|
||||
}): Promise<Record<string, any>> {
|
||||
const ruleResponse = await retry<Record<string, any>>({
|
||||
test: async () => {
|
||||
testFn: async () => {
|
||||
const response = await supertest.get(`/api/alerting/rule/${id}`);
|
||||
const { execution_status: executionStatus } = response.body || {};
|
||||
const { status } = executionStatus || {};
|
||||
|
@ -74,7 +74,7 @@ export async function waitForDocumentInIndex<T>({
|
|||
retryDelay?: number;
|
||||
}): Promise<SearchResponse<T, Record<string, AggregationsAggregate>>> {
|
||||
return await retry<SearchResponse<T, Record<string, AggregationsAggregate>>>({
|
||||
test: async () => {
|
||||
testFn: async () => {
|
||||
const response = await esClient.search<T>({
|
||||
index: indexName,
|
||||
rest_total_hits_as_int: true,
|
||||
|
@ -112,7 +112,7 @@ export async function waitForAlertInIndex<T>({
|
|||
logger: ToolingLog;
|
||||
}): Promise<SearchResponse<T, Record<string, AggregationsAggregate>>> {
|
||||
return await retry<SearchResponse<T, Record<string, AggregationsAggregate>>>({
|
||||
test: async () => {
|
||||
testFn: async () => {
|
||||
const response = await esClient.search<T>({
|
||||
index: indexName,
|
||||
body: {
|
||||
|
|
|
@ -36,7 +36,7 @@ export default function bulkUntrackByQueryTests({ getService }: FtrProviderConte
|
|||
});
|
||||
|
||||
for (const scenario of UserAtSpaceScenarios) {
|
||||
describe(scenario.id, async () => {
|
||||
describe(scenario.id, () => {
|
||||
it('should bulk mark alerts as untracked by query', async () => {
|
||||
const { body: createdRule1 } = await supertest
|
||||
.post(`${getUrlPrefix(scenario.space.id)}/api/alerting/rule`)
|
||||
|
|
|
@ -10,8 +10,6 @@ import { FtrProviderContext } from '../../../../common/ftr_provider_context';
|
|||
// eslint-disable-next-line import/no-default-export
|
||||
export default function alertingApiIntegrationTests({ loadTestFile }: FtrProviderContext) {
|
||||
describe('alerting api integration security and spaces enabled', function () {
|
||||
describe('', function () {
|
||||
loadTestFile(require.resolve('./alerting'));
|
||||
});
|
||||
loadTestFile(require.resolve('./alerting'));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -239,7 +239,7 @@ export default function opsgenieTest({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('optional parameters', async () => {
|
||||
describe('optional parameters', () => {
|
||||
describe('responders', () => {
|
||||
it('should fail to create an alert when the responders is an invalid type', async () => {
|
||||
const { body } = await supertest
|
||||
|
|
|
@ -30,7 +30,7 @@ export default function createAlertTests({ getService }: FtrProviderContext) {
|
|||
const es = getService('es');
|
||||
const supertestWithoutAuth = getService('supertestWithoutAuth');
|
||||
|
||||
describe('clone', async () => {
|
||||
describe('clone', () => {
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
const space1 = Spaces[0].id;
|
||||
const space2 = Spaces[1].id;
|
||||
|
|
|
@ -14,7 +14,7 @@ import { FtrProviderContext } from '../../../../common/ftr_provider_context';
|
|||
export default function getRuleFieldsTests({ getService }: FtrProviderContext) {
|
||||
const supertestWithoutAuth = getService('supertestWithoutAuth');
|
||||
|
||||
describe('fields rule', async () => {
|
||||
describe('fields rule', () => {
|
||||
for (const scenario of UserAtSpaceScenarios) {
|
||||
const { user, space } = scenario;
|
||||
describe(scenario.id, () => {
|
||||
|
|
|
@ -14,7 +14,7 @@ import { FtrProviderContext } from '../../../../common/ftr_provider_context';
|
|||
export default function createRuleSuggestionValuesTests({ getService }: FtrProviderContext) {
|
||||
const space1 = Spaces[0].id;
|
||||
|
||||
describe('alerts/suggestions/values', async () => {
|
||||
describe('alerts/suggestions/values', () => {
|
||||
const esArchiver = getService('esArchiver');
|
||||
const supertest = getService('supertest');
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ export default function createRuleSuggestionValuesTests({ getService }: FtrProvi
|
|||
const supertest = getService('supertest');
|
||||
const supertestWithoutAuth = getService('supertestWithoutAuth');
|
||||
|
||||
describe('rules/suggestions/values', async () => {
|
||||
describe('rules/suggestions/values', () => {
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
const space1 = Spaces[0].id;
|
||||
const space2 = Spaces[1].id;
|
||||
|
|
|
@ -75,7 +75,7 @@ export default function alertTests({ getService }: FtrProviderContext) {
|
|||
const esTestIndexTool = new ESTestIndexTool(es, retry);
|
||||
const esTestIndexToolOutput = new ESTestIndexTool(es, retry, ES_TEST_OUTPUT_INDEX_NAME);
|
||||
|
||||
describe('alert', async () => {
|
||||
describe('alert', () => {
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
let actionId: string;
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ export default function ruleTests({ getService }: FtrProviderContext) {
|
|||
`.internal.alerts-transform.health.alerts-default-000001`
|
||||
);
|
||||
|
||||
describe('rule', async () => {
|
||||
describe('rule', () => {
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
let connectorId: string;
|
||||
const transformId = 'test_transform_01';
|
||||
|
|
|
@ -38,7 +38,7 @@ export default function ruleTests({ getService }: FtrProviderContext) {
|
|||
getAllAADDocs,
|
||||
} = getRuleServices(getService);
|
||||
|
||||
describe('rule', async () => {
|
||||
describe('rule', () => {
|
||||
let endDate: string;
|
||||
let connectorId: string;
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
|
|
|
@ -33,7 +33,7 @@ export default function ruleTests({ getService }: FtrProviderContext) {
|
|||
const { es, esTestIndexTool, esTestIndexToolOutput, createEsDocumentsInGroups, waitForDocs } =
|
||||
getRuleServices(getService);
|
||||
|
||||
describe('rule', async () => {
|
||||
describe('rule', () => {
|
||||
let endDate: string;
|
||||
let connectorId: string;
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
|
|
|
@ -50,7 +50,7 @@ export default function ruleTests({ getService }: FtrProviderContext) {
|
|||
{ label: 'host.name', searchPath: 'host.name' },
|
||||
];
|
||||
|
||||
describe('rule', async () => {
|
||||
describe('rule', () => {
|
||||
let endDate: string;
|
||||
let connectorId: string;
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
|
|
|
@ -41,7 +41,7 @@ export default function ruleTests({ getService }: FtrProviderContext) {
|
|||
`.internal.alerts-${STACK_AAD_INDEX_NAME}.alerts-default-000001`
|
||||
);
|
||||
|
||||
describe('rule', async () => {
|
||||
describe('rule', () => {
|
||||
let endDate: string;
|
||||
let connectorId: string;
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
|
|
|
@ -18,7 +18,7 @@ export default function ruleTests({ getService }: FtrProviderContext) {
|
|||
const supertest = getService('supertest');
|
||||
const retry = getService('retry');
|
||||
|
||||
describe('long running rule', async () => {
|
||||
describe('long running rule', () => {
|
||||
const objectRemover = new ObjectRemover(supertest);
|
||||
|
||||
afterEach(async () => {
|
||||
|
|
|
@ -29,7 +29,7 @@ export default function createGetTests({ getService }: FtrProviderContext) {
|
|||
await esArchiver.unload('x-pack/test/functional/es_archives/alerting/8_2_0');
|
||||
});
|
||||
|
||||
describe('rule with null snoozeEndTime value', async () => {
|
||||
describe('rule with null snoozeEndTime value', () => {
|
||||
it('has snoozeEndTime removed', async () => {
|
||||
const response = await es.get<{ alert: RawRule & { snoozeEndTime?: string } }>(
|
||||
{
|
||||
|
@ -60,7 +60,7 @@ export default function createGetTests({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('rules with snoozeEndTime value', async () => {
|
||||
describe('rules with snoozeEndTime value', () => {
|
||||
it('has snoozeEndTime migrated to snoozeSchedule', async () => {
|
||||
const response = await es.get<{ alert: RawRule & { snoozeEndTime?: string } }>(
|
||||
{
|
||||
|
|
|
@ -13,7 +13,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
const es = getService('es');
|
||||
const esDeleteAllIndices = getService('esDeleteAllIndices');
|
||||
|
||||
describe('create index', async () => {
|
||||
describe('create index', () => {
|
||||
const testIndices = ['my-test-index-001', 'my-test-index-002'];
|
||||
before(async () => {
|
||||
await esDeleteAllIndices(testIndices);
|
||||
|
|
|
@ -54,7 +54,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
const testIndex = '.test_index';
|
||||
const testAlias = 'test_alias';
|
||||
const testIlmPolicy = 'test_policy';
|
||||
describe('GET indices with data enrichers', async () => {
|
||||
describe('GET indices with data enrichers', () => {
|
||||
before(async () => {
|
||||
await createIndex(testIndex);
|
||||
await createIlmPolicy('test_policy');
|
||||
|
|
|
@ -19,7 +19,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
};
|
||||
|
||||
const testIndex = 'test_index';
|
||||
describe('GET indices without data enrichers', async () => {
|
||||
describe('GET indices without data enrichers', () => {
|
||||
before(async () => {
|
||||
await createIndex(testIndex);
|
||||
});
|
||||
|
|
|
@ -19,7 +19,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
};
|
||||
|
||||
const testIndex = 'test_index';
|
||||
describe('index details', async () => {
|
||||
describe('index details', () => {
|
||||
before(async () => {
|
||||
await createIndex(testIndex);
|
||||
});
|
||||
|
|
|
@ -28,8 +28,6 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
},
|
||||
};
|
||||
|
||||
after(async () => await deleteAllIndices());
|
||||
|
||||
before(async () => {
|
||||
log.debug('Creating index');
|
||||
try {
|
||||
|
|
|
@ -26,7 +26,7 @@ export default function ({ loadTestFile, getService }) {
|
|||
);
|
||||
});
|
||||
|
||||
describe('', () => {
|
||||
describe('apis', () => {
|
||||
loadTestFile(require.resolve('./maps_telemetry'));
|
||||
loadTestFile(require.resolve('./get_indexes_matching_pattern'));
|
||||
loadTestFile(require.resolve('./create_doc_source'));
|
||||
|
|
|
@ -22,10 +22,14 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
const kibanaServer = getService('kibanaServer');
|
||||
|
||||
describe('sources', () => {
|
||||
before(() => esArchiver.load('x-pack/test/functional/es_archives/infra/metrics_and_logs'));
|
||||
after(() => esArchiver.unload('x-pack/test/functional/es_archives/infra/metrics_and_logs'));
|
||||
before(() => kibanaServer.savedObjects.cleanStandardList());
|
||||
after(() => kibanaServer.savedObjects.cleanStandardList());
|
||||
before(async () => {
|
||||
await esArchiver.load('x-pack/test/functional/es_archives/infra/metrics_and_logs');
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
});
|
||||
after(async () => {
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/infra/metrics_and_logs');
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
});
|
||||
|
||||
const patchRequest = async (
|
||||
body: PartialMetricsSourceConfigurationProperties
|
||||
|
|
|
@ -129,7 +129,7 @@ export default ({ getService }: FtrProviderContext) => {
|
|||
});
|
||||
|
||||
testJobConfigs.forEach((testConfig) => {
|
||||
describe(`EvaluateDataFrameAnalytics ${testConfig.jobType}`, async () => {
|
||||
describe(`EvaluateDataFrameAnalytics ${testConfig.jobType}`, () => {
|
||||
it(`should evaluate ${testConfig.jobType} analytics job`, async () => {
|
||||
const { body, status } = await supertest
|
||||
.post(`/internal/ml/data_frame/_evaluate`)
|
||||
|
|
|
@ -88,7 +88,7 @@ export default ({ getService }: FtrProviderContext) => {
|
|||
});
|
||||
|
||||
testJobConfigs.forEach((testConfig) => {
|
||||
describe(`ExplainDataFrameAnalytics ${testConfig.jobType}`, async () => {
|
||||
describe(`ExplainDataFrameAnalytics ${testConfig.jobType}`, () => {
|
||||
it(`should explain ${testConfig.jobType} analytics job`, async () => {
|
||||
const { body, status } = await supertest
|
||||
.post(`/internal/ml/data_frame/analytics/_explain`)
|
||||
|
|
|
@ -62,7 +62,7 @@ export default ({ getService }: FtrProviderContext) => {
|
|||
expect(body).to.eql({ [jobIdSpace1]: { exists: true, isGroup: false } });
|
||||
});
|
||||
|
||||
it('should find single job from same space', async () => {
|
||||
it('should find single group from same space', async () => {
|
||||
const body = await runRequest(idSpace1, 200, [groupSpace1]);
|
||||
expect(body).to.eql({ [groupSpace1]: { exists: true, isGroup: true } });
|
||||
});
|
||||
|
|
|
@ -61,9 +61,6 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
await getService('esArchiver').unload(
|
||||
'x-pack/test/functional/es_archives/fleet/empty_fleet_server'
|
||||
);
|
||||
});
|
||||
|
||||
after(async function () {
|
||||
await supertest
|
||||
.post(`/api/fleet/agent_policies/delete`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
|
|
|
@ -23,7 +23,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
const esArchiver = getService('esArchiver');
|
||||
|
||||
describe('certs api', () => {
|
||||
describe('empty index', async () => {
|
||||
describe('empty index', () => {
|
||||
it('returns empty array for no data', async () => {
|
||||
const apiResponse = await supertest
|
||||
.post(`/internal/search/ese`)
|
||||
|
@ -41,7 +41,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('when data is present', async () => {
|
||||
describe('when data is present', () => {
|
||||
const now = moment();
|
||||
const cnva = now.add(6, 'months').toISOString();
|
||||
const cnvb = now.subtract(23, 'weeks').toISOString();
|
||||
|
|
|
@ -15,7 +15,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
const supertest = getService('supertest');
|
||||
const retry = getService('retry');
|
||||
|
||||
describe('monitor state scoping', async () => {
|
||||
describe('monitor state scoping', () => {
|
||||
const numIps = 4; // Must be > 2 for IP uniqueness checks
|
||||
|
||||
let dateRangeStart: string;
|
||||
|
@ -37,7 +37,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
// was available and the query code assumed at least one
|
||||
// event would be a summary for each monitor.
|
||||
// See https://github.com/elastic/kibana/issues/81950
|
||||
describe('checks with no summaries', async () => {
|
||||
describe('checks with no summaries', () => {
|
||||
const testMonitorId = 'scope-test-id';
|
||||
before(async () => {
|
||||
const es = getService('es');
|
||||
|
@ -55,7 +55,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('query document scoping with mismatched check statuses', async () => {
|
||||
describe('query document scoping with mismatched check statuses', () => {
|
||||
let checks: any[] = [];
|
||||
let nonSummaryIp: string | null = null;
|
||||
const testMonitorId = 'scope-test-id';
|
||||
|
@ -104,7 +104,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
expect(nonSummaryRes.summaries.length).to.eql(0);
|
||||
});
|
||||
|
||||
describe('matching outside of the date range', async () => {
|
||||
describe('matching outside of the date range', () => {
|
||||
before('set date range to future', () => {
|
||||
const futureDate = new Date();
|
||||
|
||||
|
@ -129,7 +129,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('test status filter', async () => {
|
||||
describe('test status filter', () => {
|
||||
const upMonitorId = 'up-test-id';
|
||||
const downMonitorId = 'down-test-id';
|
||||
const mixMonitorId = 'mix-test-id';
|
||||
|
|
|
@ -17,7 +17,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
const dateRangeStart = new Date().toISOString();
|
||||
const dateRangeEnd = new Date().toISOString();
|
||||
|
||||
describe('when no data is present', async () => {
|
||||
describe('when no data is present', () => {
|
||||
it('returns a null snapshot', async () => {
|
||||
const apiResponse = await supertest.get(API_URLS.SNAPSHOT_COUNT).query({
|
||||
dateRangeStart,
|
||||
|
@ -32,7 +32,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('when data is present', async () => {
|
||||
describe('when data is present', () => {
|
||||
const numUpMonitors = 10;
|
||||
const numDownMonitors = 7;
|
||||
const numIps = 2;
|
||||
|
@ -42,7 +42,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
|
||||
[true, false].forEach((includeTimespan: boolean) => {
|
||||
[true, false].forEach((includeObserver: boolean) => {
|
||||
describe(`with timespans=${includeTimespan} and observer=${includeObserver}`, async () => {
|
||||
describe(`with timespans=${includeTimespan} and observer=${includeObserver}`, () => {
|
||||
before(async () => {
|
||||
const promises: Array<Promise<any>> = [];
|
||||
|
||||
|
|
|
@ -9,12 +9,12 @@ import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common';
|
|||
import { FtrProviderContext } from '../ftr_provider_context';
|
||||
|
||||
export async function FleetAndAgents({ getService }: FtrProviderContext) {
|
||||
// Use elastic/fleet-server service account to execute setup to verify privilege configuration
|
||||
const es = getService('es');
|
||||
const supertestWithoutAuth = getService('supertestWithoutAuth');
|
||||
|
||||
return {
|
||||
async setup() {
|
||||
// Use elastic/fleet-server service account to execute setup to verify privilege configuration
|
||||
const { token } = await es.security.createServiceToken({
|
||||
namespace: 'elastic',
|
||||
service: 'fleet-server',
|
||||
|
|
|
@ -70,7 +70,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
|
||||
registry.when.skip(`with data loaded`, { config: 'basic', archives: [] }, () => {
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/172769
|
||||
describe('error_count', () => {
|
||||
describe('error_count: with data loaded', () => {
|
||||
beforeEach(async () => {
|
||||
await generateErrorData({ serviceName: 'synth-go', start, end, apmSynthtraceEsClient });
|
||||
await generateErrorData({ serviceName: 'synth-java', start, end, apmSynthtraceEsClient });
|
||||
|
@ -309,7 +309,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
{ config: 'basic', archives: [] },
|
||||
() => {
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/176975
|
||||
describe('error_count', () => {
|
||||
describe('error_count: with data loaded and using KQL filter', () => {
|
||||
before(async () => {
|
||||
await generateErrorData({ serviceName: 'synth-go', start, end, apmSynthtraceEsClient });
|
||||
await generateErrorData({ serviceName: 'synth-java', start, end, apmSynthtraceEsClient });
|
||||
|
|
|
@ -71,7 +71,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
|
||||
registry.when(`with data loaded`, { config: 'basic', archives: [] }, () => {
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/176977
|
||||
describe('transaction_error_rate', () => {
|
||||
describe('transaction_error_rate: with data loaded', () => {
|
||||
before(async () => {
|
||||
await generateErrorData({ serviceName: 'synth-go', start, end, apmSynthtraceEsClient });
|
||||
await generateErrorData({ serviceName: 'synth-java', start, end, apmSynthtraceEsClient });
|
||||
|
@ -330,7 +330,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
|
||||
registry.when(`with data loaded and using KQL filter`, { config: 'basic', archives: [] }, () => {
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/176983
|
||||
describe('transaction_error_rate', () => {
|
||||
describe('transaction_error_rate: with data loaded and using KQL filter', () => {
|
||||
before(async () => {
|
||||
await generateErrorData({ serviceName: 'synth-go', start, end, apmSynthtraceEsClient });
|
||||
await generateErrorData({ serviceName: 'synth-java', start, end, apmSynthtraceEsClient });
|
||||
|
|
|
@ -74,7 +74,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
registry.when(`with data loaded`, { config: 'basic', archives: [] }, () => {
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/176986
|
||||
// Failing: See https://github.com/elastic/kibana/issues/176989
|
||||
describe('transaction_duration', () => {
|
||||
describe('transaction_duration: with data loaded', () => {
|
||||
before(async () => {
|
||||
await generateLatencyData({ serviceName: 'synth-go', start, end, apmSynthtraceEsClient });
|
||||
await generateLatencyData({ serviceName: 'synth-java', start, end, apmSynthtraceEsClient });
|
||||
|
@ -302,7 +302,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/176989
|
||||
registry.when(`with data loaded and using KQL filter`, { config: 'basic', archives: [] }, () => {
|
||||
describe('transaction_duration', () => {
|
||||
describe('transaction_duration: with data loaded and using KQL filter', () => {
|
||||
before(async () => {
|
||||
await generateLatencyData({ serviceName: 'synth-go', start, end, apmSynthtraceEsClient });
|
||||
await generateLatencyData({ serviceName: 'synth-java', start, end, apmSynthtraceEsClient });
|
||||
|
|
|
@ -89,7 +89,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
await deleteAllServiceDashboard(apmApiClient, 'synth-go', start, end);
|
||||
});
|
||||
|
||||
describe('when data is not loaded', () => {
|
||||
describe('and when data is not loaded', () => {
|
||||
it('creates a new service dashboard', async () => {
|
||||
const serviceDashboard = {
|
||||
dashboardSavedObjectId: 'dashboard-saved-object-id',
|
||||
|
|
|
@ -86,6 +86,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/177120
|
||||
registry.when('mappings and APM data exists', { config: 'basic', archives: [] }, () => {
|
||||
// eslint-disable-next-line mocha/no-sibling-hooks
|
||||
before(async () => {
|
||||
await generateApmData(synthtrace);
|
||||
});
|
||||
|
@ -123,7 +124,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('when fetching the data view', async () => {
|
||||
describe('when fetching the data view', () => {
|
||||
let dataViewResponse: request.Response;
|
||||
|
||||
before(async () => {
|
||||
|
@ -210,7 +211,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('when creating data view in "default" space', async () => {
|
||||
describe('when creating data view in "default" space', () => {
|
||||
it('can be retrieved from the "default" space', async () => {
|
||||
await createDataViewWithWriteUser({ spaceId: 'default' });
|
||||
const res = await getDataView({ spaceId: 'default' });
|
||||
|
@ -225,7 +226,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('when creating data view in "foo" space', async () => {
|
||||
describe('when creating data view in "foo" space', () => {
|
||||
it('can be retrieved from the "foo" space', async () => {
|
||||
await createDataViewWithWriteUser({ spaceId: 'foo' });
|
||||
const res = await getDataView({ spaceId: 'foo' });
|
||||
|
|
|
@ -38,7 +38,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
'Dependency for service when data is not loaded',
|
||||
{ config: 'basic', archives: [] },
|
||||
() => {
|
||||
it('handles empty state', async () => {
|
||||
it('handles empty state #1', async () => {
|
||||
const { status, body } = await callApi();
|
||||
|
||||
expect(status).to.be(200);
|
||||
|
@ -76,7 +76,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
'Dependency for service breakdown when data is not loaded',
|
||||
{ config: 'basic', archives: [] },
|
||||
() => {
|
||||
it('handles empty state', async () => {
|
||||
it('handles empty state #2', async () => {
|
||||
const { status, body } = await callApi();
|
||||
|
||||
expect(status).to.be(200);
|
||||
|
@ -87,7 +87,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/177125
|
||||
registry.when('Dependency for services breakdown', { config: 'basic', archives: [] }, () => {
|
||||
describe('when data is loaded', () => {
|
||||
describe('when data is loaded - breakdown', () => {
|
||||
before(async () => {
|
||||
await generateData({ apmSynthtraceEsClient, start, end });
|
||||
});
|
||||
|
|
|
@ -100,7 +100,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
]);
|
||||
});
|
||||
|
||||
describe('transactions', async () => {
|
||||
describe('transactions', () => {
|
||||
let body: APIReturnType<'GET /internal/apm/diagnostics'>;
|
||||
|
||||
const expectedDocCount = 450;
|
||||
|
|
|
@ -28,7 +28,7 @@ export default function ApiTest(ftrProviderContext: FtrProviderContext) {
|
|||
await setupFleet(bettertest);
|
||||
});
|
||||
|
||||
describe('cloud_apm_migration_enabled', () => {
|
||||
describe('cloud_apm_migration_enabled - basic', () => {
|
||||
it('should be false when when config not set', async () => {
|
||||
const { body } = await bettertest({
|
||||
pathname: '/internal/apm/fleet/migration_check',
|
||||
|
@ -39,6 +39,7 @@ export default function ApiTest(ftrProviderContext: FtrProviderContext) {
|
|||
});
|
||||
|
||||
registry.when('Fleet migration check - cloud', { config: 'cloud', archives: [] }, () => {
|
||||
// eslint-disable-next-line mocha/no-sibling-hooks
|
||||
before(async () => {
|
||||
await setupFleet(bettertest);
|
||||
});
|
||||
|
@ -58,7 +59,7 @@ export default function ApiTest(ftrProviderContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('cloud_apm_migration_enabled', () => {
|
||||
describe('cloud_apm_migration_enabled - cloud', () => {
|
||||
it('should be true when when config is set', async () => {
|
||||
const { body } = await bettertest({
|
||||
pathname: '/internal/apm/fleet/migration_check',
|
||||
|
|
|
@ -76,6 +76,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
serverlessId,
|
||||
} = config;
|
||||
|
||||
// eslint-disable-next-line mocha/no-sibling-hooks
|
||||
before(async () => {
|
||||
await generateData({ start, end, apmSynthtraceEsClient });
|
||||
});
|
||||
|
|
|
@ -54,6 +54,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
const { billedDurationMs, pythonServerlessFunctionNames, faasDuration, serverlessId } = config;
|
||||
const { expectedMemoryUsedRate } = expectedValues;
|
||||
|
||||
// eslint-disable-next-line mocha/no-sibling-hooks
|
||||
before(async () => {
|
||||
await generateData({ start, end, apmSynthtraceEsClient });
|
||||
});
|
||||
|
|
|
@ -50,7 +50,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
|
|||
});
|
||||
|
||||
registry.when('Service Map without data', { config: 'trial', archives: [] }, () => {
|
||||
describe('/internal/apm/service-map', () => {
|
||||
describe('/internal/apm/service-map without data', () => {
|
||||
it('returns an empty list', async () => {
|
||||
const response = await apmApiClient.readUser({
|
||||
endpoint: `GET /internal/apm/service-map`,
|
||||
|
@ -68,7 +68,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
|
|||
});
|
||||
});
|
||||
|
||||
describe('/internal/apm/service-map/service/{serviceName}', () => {
|
||||
describe('/internal/apm/service-map/service/{serviceName} without data', () => {
|
||||
let response: ServiceNodeResponse;
|
||||
before(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
|
@ -128,7 +128,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
|
|||
});
|
||||
|
||||
registry.when('Service Map with data', { config: 'trial', archives: ['apm_8.0.0'] }, () => {
|
||||
describe('/internal/apm/service-map', () => {
|
||||
describe('/internal/apm/service-map with data', () => {
|
||||
let response: ServiceMapResponse;
|
||||
before(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
|
@ -322,7 +322,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
|
|||
});
|
||||
});
|
||||
|
||||
describe('/internal/apm/service-map/service/{serviceName}', () => {
|
||||
describe('/internal/apm/service-map/service/{serviceName} with data', () => {
|
||||
let response: ServiceNodeResponse;
|
||||
before(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
|
@ -371,7 +371,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
|
|||
});
|
||||
});
|
||||
|
||||
describe('/internal/apm/service-map/dependency', () => {
|
||||
describe('/internal/apm/service-map/dependency with data', () => {
|
||||
let response: DependencyResponse;
|
||||
before(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
|
@ -416,7 +416,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
|
|||
});
|
||||
|
||||
describe('With comparison', () => {
|
||||
describe('/internal/apm/service-map/dependency', () => {
|
||||
describe('/internal/apm/service-map/dependency with comparison', () => {
|
||||
let response: DependencyResponse;
|
||||
before(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
|
@ -467,7 +467,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
|
|||
});
|
||||
});
|
||||
|
||||
describe('/internal/apm/service-map/service/{serviceName}', () => {
|
||||
describe('/internal/apm/service-map/service/{serviceName} with comparison', () => {
|
||||
let response: ServiceNodeResponse;
|
||||
before(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
|
|
|
@ -311,7 +311,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
status: number;
|
||||
body: APIReturnType<'GET /internal/apm/services/{serviceName}/dependencies'>;
|
||||
};
|
||||
|
||||
// eslint-disable-next-line mocha/no-sibling-hooks
|
||||
before(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
endpoint: `GET /internal/apm/services/{serviceName}/dependencies`,
|
||||
|
|
|
@ -75,9 +75,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
start,
|
||||
end,
|
||||
});
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
endpoint:
|
||||
'GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics',
|
||||
|
@ -135,9 +133,6 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
start,
|
||||
end,
|
||||
});
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
response = await apmApiClient.readUser({
|
||||
endpoint:
|
||||
'GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics',
|
||||
|
|
|
@ -78,7 +78,7 @@ export default function annotationApiTests({ getService }: FtrProviderContext) {
|
|||
}
|
||||
|
||||
registry.when('Annotations with a basic license', { config: 'basic', archives: [] }, () => {
|
||||
describe('when creating an annotation', () => {
|
||||
describe('when creating an annotation in basic license', () => {
|
||||
it('fails with a 403 forbidden', async () => {
|
||||
const err = await expectToReject<ApmApiError>(() =>
|
||||
createAnnotation({
|
||||
|
@ -101,7 +101,7 @@ export default function annotationApiTests({ getService }: FtrProviderContext) {
|
|||
});
|
||||
|
||||
registry.when('Annotations with a trial license', { config: 'trial', archives: [] }, () => {
|
||||
describe('when creating an annotation', () => {
|
||||
describe('when creating an annotation in trial license', () => {
|
||||
afterEach(async () => {
|
||||
const indexExists = await es.indices.exists({ index: DEFAULT_INDEX_NAME });
|
||||
if (indexExists) {
|
||||
|
|
|
@ -208,6 +208,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
{ config: 'basic', archives: [archiveName] },
|
||||
() => {
|
||||
let servicesDetailedStatistics: ServicesDetailedStatisticsReturn;
|
||||
// eslint-disable-next-line mocha/no-sibling-hooks
|
||||
before(async () => {
|
||||
const response = await apmApiClient.readUser({
|
||||
endpoint: `POST /internal/apm/services/detailed_statistics`,
|
||||
|
@ -232,13 +233,13 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
expect(response.status).to.be(200);
|
||||
servicesDetailedStatistics = response.body;
|
||||
});
|
||||
it('returns current period data', async () => {
|
||||
it('returns current period data with time comparison', async () => {
|
||||
expect(servicesDetailedStatistics.currentPeriod).not.to.be.empty();
|
||||
});
|
||||
it('returns previous period data', async () => {
|
||||
expect(servicesDetailedStatistics.previousPeriod).not.to.be.empty();
|
||||
});
|
||||
it('returns current data for requested service names', () => {
|
||||
it('returns current data for requested service names with time comparison', () => {
|
||||
serviceNames.forEach((serviceName) => {
|
||||
expect(servicesDetailedStatistics.currentPeriod[serviceName]).not.to.be.empty();
|
||||
});
|
||||
|
@ -248,7 +249,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
expect(servicesDetailedStatistics.currentPeriod[serviceName]).not.to.be.empty();
|
||||
});
|
||||
});
|
||||
it('returns correct statistics', () => {
|
||||
it('returns correct statistics with time comparison', () => {
|
||||
const currentPeriodStatistics = servicesDetailedStatistics.currentPeriod[serviceNames[0]];
|
||||
const previousPeriodStatistics = servicesDetailedStatistics.previousPeriod[serviceNames[0]];
|
||||
|
||||
|
|
|
@ -92,9 +92,6 @@ export default function apiTest({ getService }: FtrProviderContext) {
|
|||
describe('when there are both v2 and v3 jobs', () => {
|
||||
before(async () => {
|
||||
await createV2Jobs(['production', 'development']);
|
||||
});
|
||||
|
||||
before(async () => {
|
||||
await createV3Jobs(['production']);
|
||||
});
|
||||
|
||||
|
|
|
@ -243,7 +243,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('list source maps', async () => {
|
||||
describe('list source maps', () => {
|
||||
before(async () => {
|
||||
const totalCount = 6;
|
||||
const sourcemapCount = times(totalCount);
|
||||
|
|
|
@ -620,10 +620,6 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
]);
|
||||
});
|
||||
});
|
||||
|
||||
after(() => {
|
||||
return apmSynthtraceEsClient.clean();
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -848,7 +848,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('title', async () => {
|
||||
describe('title', () => {
|
||||
it('400s if the title is too long', async () => {
|
||||
const longTitle = 'a'.repeat(161);
|
||||
|
||||
|
@ -903,7 +903,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('description', async () => {
|
||||
describe('description', () => {
|
||||
it('400s if the description is too long', async () => {
|
||||
const longDescription = 'a'.repeat(30001);
|
||||
|
||||
|
@ -958,7 +958,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('categories', async () => {
|
||||
describe('categories', () => {
|
||||
it('400s when a too long category value is passed', async () => {
|
||||
const postedCase = await createCase(supertest, postCaseReq);
|
||||
await updateCase({
|
||||
|
@ -1011,7 +1011,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('tags', async () => {
|
||||
describe('tags', () => {
|
||||
it('400s when tags array is too long', async () => {
|
||||
const tags = Array(201).fill('foo');
|
||||
|
||||
|
@ -1085,7 +1085,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('customFields', async () => {
|
||||
describe('customFields', () => {
|
||||
it('patches a case with missing required custom fields to their default values', async () => {
|
||||
await createConfiguration(
|
||||
supertest,
|
||||
|
@ -1449,7 +1449,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
|
||||
describe('alerts', () => {
|
||||
describe('esArchiver', () => {
|
||||
describe('Update', () => {
|
||||
const defaultSignalsIndex = '.siem-signals-default-000001';
|
||||
|
||||
beforeEach(async () => {
|
||||
|
@ -1583,7 +1583,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('esArchiver', () => {
|
||||
describe('No update', () => {
|
||||
const defaultSignalsIndex = '.siem-signals-default-000001';
|
||||
|
||||
beforeEach(async () => {
|
||||
|
|
|
@ -467,7 +467,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
await createCase(supertest, getPostCaseRequest({ description: longDescription }), 400);
|
||||
});
|
||||
|
||||
describe('tags', async () => {
|
||||
describe('tags', () => {
|
||||
it('400s if the a tag is a whitespace', async () => {
|
||||
const tags = ['test', ' '];
|
||||
|
||||
|
@ -493,7 +493,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('categories', async () => {
|
||||
describe('categories', () => {
|
||||
it('400s when the category is too long', async () => {
|
||||
await createCase(
|
||||
supertest,
|
||||
|
@ -525,7 +525,7 @@ export default ({ getService }: FtrProviderContext): void => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('customFields', async () => {
|
||||
describe('customFields', () => {
|
||||
it('400s when trying to patch with duplicated custom field keys', async () => {
|
||||
await createCase(
|
||||
supertest,
|
||||
|
|
|
@ -29,7 +29,10 @@ interface SpaceCreate {
|
|||
export function SpacesServiceProvider({ getService }: FtrProviderContext) {
|
||||
const log = getService('log');
|
||||
const config = getService('config');
|
||||
const kibanaServer = getService('kibanaServer');
|
||||
const url = formatUrl(config.get('servers.kibana'));
|
||||
// used often in fleet_api_integration tests
|
||||
const TEST_SPACE_1 = 'test1';
|
||||
|
||||
const certificateAuthorities = config.get('servers.kibana.certificateAuthorities');
|
||||
const httpsAgent: Https.Agent | undefined = certificateAuthorities
|
||||
|
@ -109,5 +112,21 @@ export function SpacesServiceProvider({ getService }: FtrProviderContext) {
|
|||
pathname: `/s/${spaceId}`,
|
||||
});
|
||||
}
|
||||
|
||||
public getDefaultTestSpace() {
|
||||
return TEST_SPACE_1;
|
||||
}
|
||||
|
||||
public async createTestSpace(id: string, name: string = id) {
|
||||
try {
|
||||
await kibanaServer.spaces.create({
|
||||
id,
|
||||
name,
|
||||
});
|
||||
} catch (err) {
|
||||
log.error(`failed to create space with 'id=${id}': ${err}`);
|
||||
}
|
||||
return id;
|
||||
}
|
||||
})();
|
||||
}
|
||||
|
|
|
@ -997,8 +997,6 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.expect(200)
|
||||
);
|
||||
await Promise.all(deletedPromises);
|
||||
});
|
||||
after(async () => {
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
});
|
||||
let agentPolicyId: undefined | string;
|
||||
|
@ -1554,10 +1552,8 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await fleetAndAgents.setup();
|
||||
await createAgentPolicyWithPackagePolicy();
|
||||
});
|
||||
before(async () => {
|
||||
const getPkRes = await getPackage('system');
|
||||
|
||||
const getPkRes = await getPackage('system');
|
||||
// we must first force install the system package to override package verification error on policy create
|
||||
await epmInstall('system', `${getPkRes.body.item.version}`);
|
||||
|
||||
|
|
|
@ -93,9 +93,8 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
after(async () => {
|
||||
// Wait before agent status is updated
|
||||
return new Promise((resolve) => setTimeout(resolve, AGENT_UPDATE_LAST_CHECKIN_INTERVAL_MS));
|
||||
});
|
||||
after(async () => {
|
||||
await new Promise((resolve) => setTimeout(resolve, AGENT_UPDATE_LAST_CHECKIN_INTERVAL_MS));
|
||||
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/fleet/agents');
|
||||
});
|
||||
|
||||
|
|
|
@ -151,9 +151,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
await setupTestUsers(getService('security'));
|
||||
});
|
||||
|
||||
before(async () => {
|
||||
await supertest
|
||||
.post(`/api/fleet/agent_policies`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
|
|
|
@ -47,23 +47,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
})
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.expect(200);
|
||||
});
|
||||
after(async () => {
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/fleet/agents');
|
||||
await supertest
|
||||
.delete(`/api/fleet/epm/packages/${FLEET_ELASTIC_AGENT_PACKAGE}/${elasticAgentpkgVersion}`)
|
||||
.set('kbn-xsrf', 'xxxx');
|
||||
await es.transport
|
||||
.request({
|
||||
method: 'DELETE',
|
||||
path: `/_data_stream/metrics-elastic_agent.elastic_agent-default`,
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
|
||||
const fleetServerVersion = '8.14.0';
|
||||
|
||||
before(async () => {
|
||||
await supertest.post(`/api/fleet/agent_policies`).set('kbn-xsrf', 'kibana').send({
|
||||
name: 'Fleet Server policy 1',
|
||||
id: 'fleet-server-policy',
|
||||
|
@ -90,7 +74,33 @@ export default function (providerContext: FtrProviderContext) {
|
|||
'fleet-server-policy',
|
||||
fleetServerVersion
|
||||
);
|
||||
|
||||
// Make agent 1 upgradeable
|
||||
await es.update({
|
||||
id: 'agent1',
|
||||
refresh: 'wait_for',
|
||||
index: AGENTS_INDEX,
|
||||
doc: {
|
||||
local_metadata: {
|
||||
elastic: { agent: { upgradeable: true, version: '8.13.0' } },
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
after(async () => {
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/fleet/agents');
|
||||
await supertest
|
||||
.delete(`/api/fleet/epm/packages/${FLEET_ELASTIC_AGENT_PACKAGE}/${elasticAgentpkgVersion}`)
|
||||
.set('kbn-xsrf', 'xxxx');
|
||||
await es.transport
|
||||
.request({
|
||||
method: 'DELETE',
|
||||
path: `/_data_stream/metrics-elastic_agent.elastic_agent-default`,
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
|
||||
const fleetServerVersion = '8.14.0';
|
||||
|
||||
const READ_SCENARIOS = [
|
||||
{
|
||||
|
@ -319,19 +329,6 @@ export default function (providerContext: FtrProviderContext) {
|
|||
afterEach: deleteFileAfterEach,
|
||||
},
|
||||
];
|
||||
before(async () => {
|
||||
// Make agent 1 upgradeable
|
||||
await es.update({
|
||||
id: 'agent1',
|
||||
refresh: 'wait_for',
|
||||
index: AGENTS_INDEX,
|
||||
doc: {
|
||||
local_metadata: {
|
||||
elastic: { agent: { upgradeable: true, version: '8.13.0' } },
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
runPrivilegeTests(ROUTES, supertestWithoutAuth);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -708,9 +708,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
'fleet-server-policy',
|
||||
fleetServerVersion
|
||||
);
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await es.updateByQuery({
|
||||
index: '.fleet-agents',
|
||||
body: {
|
||||
|
|
|
@ -106,7 +106,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
};
|
||||
|
||||
// Failing ES Promotion: https://github.com/elastic/kibana/issues/151756
|
||||
describe('data_streams_list', async () => {
|
||||
describe('data_streams_list', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
beforeEach(async () => {
|
||||
|
|
|
@ -20,16 +20,13 @@ export default function (providerContext: FtrProviderContext) {
|
|||
const fleetAndAgents = getService('fleetAndAgents');
|
||||
|
||||
describe('fleet_download_sources_crud', function () {
|
||||
let defaultDownloadSourceId: string;
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
before(async () => {
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
let defaultDownloadSourceId: string;
|
||||
|
||||
before(async function () {
|
||||
const { body: response } = await supertest
|
||||
.get(`/api/fleet/agent_download_sources`)
|
||||
.expect(200);
|
||||
|
@ -133,7 +130,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
expect(downloadSource.host).to.eql('https://test.co:403');
|
||||
});
|
||||
|
||||
it('should allow to update an existing download source', async function () {
|
||||
it('should allow to update is_default for existing download source', async function () {
|
||||
await supertest
|
||||
.put(`/api/fleet/agent_download_sources/${defaultDownloadSourceId}`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
|
|
|
@ -35,7 +35,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
describe('GET /fleet/enrollment_api_keys', async () => {
|
||||
describe('GET /fleet/enrollment_api_keys', () => {
|
||||
it('should list existing api keys', async () => {
|
||||
const { body: apiResponse } = await supertest
|
||||
.get(`/api/fleet/enrollment_api_keys`)
|
||||
|
@ -84,7 +84,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('GET /fleet/enrollment_api_keys/{id}', async () => {
|
||||
describe('GET /fleet/enrollment_api_keys/{id}', () => {
|
||||
it('should allow to retrieve existing api keys', async () => {
|
||||
const { body: apiResponse } = await supertest
|
||||
.get(`/api/fleet/enrollment_api_keys/${ENROLLMENT_KEY_ID}`)
|
||||
|
@ -101,7 +101,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('DELETE /fleet/enrollment_api_keys/{id}', async () => {
|
||||
describe('DELETE /fleet/enrollment_api_keys/{id}', () => {
|
||||
let keyId: string;
|
||||
let esApiKeyId: string;
|
||||
before(async () => {
|
||||
|
|
|
@ -99,7 +99,6 @@ export default function (providerContext: FtrProviderContext) {
|
|||
},
|
||||
},
|
||||
];
|
||||
before(async () => {});
|
||||
runPrivilegeTests(ROUTES, supertestWithoutAuth);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -27,14 +27,14 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.send({ force: true });
|
||||
};
|
||||
|
||||
describe('Bulk get assets', async () => {
|
||||
describe('Bulk get assets', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
describe('installs all assets when installing a package for the first time', async () => {
|
||||
describe('installs all assets when installing a package for the first time', () => {
|
||||
before(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
await installPackage(pkgName, pkgVersion);
|
||||
|
|
|
@ -22,7 +22,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await supertest.delete(`/api/fleet/epm/packages/${name}/${version}`).set('kbn-xsrf', 'xxxx');
|
||||
};
|
||||
|
||||
describe('bulk package install api', async () => {
|
||||
describe('bulk package install api', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -25,14 +25,14 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await supertest.delete(`/api/fleet/epm/packages/${name}/${version}`).set('kbn-xsrf', 'xxxx');
|
||||
};
|
||||
|
||||
describe('bulk package upgrade api', async () => {
|
||||
describe('bulk package upgrade api', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
describe('bulk package upgrade with a package already installed', async () => {
|
||||
describe('bulk package upgrade with a package already installed', () => {
|
||||
beforeEach(async () => {
|
||||
await supertest
|
||||
.post(`/api/fleet/epm/packages/multiple_versions/0.1.0`)
|
||||
|
@ -108,7 +108,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('bulk upgrade without package already installed', async () => {
|
||||
describe('bulk upgrade without package already installed', () => {
|
||||
afterEach(async () => {
|
||||
await deletePackage('multiple_versions', '0.3.0');
|
||||
});
|
||||
|
|
|
@ -27,28 +27,21 @@ export default function (providerContext: FtrProviderContext) {
|
|||
before(async () => {
|
||||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
before(async () => {
|
||||
await supertest
|
||||
.post(`/api/fleet/epm/packages/log/${LOG_INTEGRATION_VERSION}`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({ force: true })
|
||||
.expect(200);
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await supertest
|
||||
.delete(`/api/fleet/epm/packages/log/${LOG_INTEGRATION_VERSION}`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({ force: true })
|
||||
.expect(200);
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
const res = await es.search({
|
||||
index: TEST_INDEX,
|
||||
});
|
||||
|
|
|
@ -53,7 +53,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await Promise.all(testPkgs.map((pkg) => uninstallPackage(pkg.name, pkg.version)));
|
||||
});
|
||||
|
||||
describe('with single integration installation', async () => {
|
||||
describe('with single integration installation', () => {
|
||||
it('creates global data views for logs-* and metrics-*', async () => {
|
||||
await installPackage(testPkgs[0].name, testPkgs[0].version);
|
||||
const dataViews: any[] = await listDataViews();
|
||||
|
@ -71,7 +71,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('with subsequent integration installation', async () => {
|
||||
describe('with subsequent integration installation', () => {
|
||||
it('does not recreate managed data views', async () => {
|
||||
await installPackage(testPkgs[0].name, testPkgs[0].version);
|
||||
const initialDataViews: any[] = await listDataViews();
|
||||
|
|
|
@ -31,7 +31,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.send({ force: true });
|
||||
};
|
||||
|
||||
describe('delete and force delete scenarios', async () => {
|
||||
describe('delete and force delete scenarios', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -39,29 +39,21 @@ export default function (providerContext: FtrProviderContext) {
|
|||
before(async () => {
|
||||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
// Use the custom log package to test the fleet final pipeline
|
||||
before(async () => {
|
||||
// Use the custom log package to test the fleet final pipeline
|
||||
await supertest
|
||||
.post(`/api/fleet/epm/packages/log/${LOG_INTEGRATION_VERSION}`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({ force: true })
|
||||
.expect(200);
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await supertest
|
||||
.delete(`/api/fleet/epm/packages/log/${LOG_INTEGRATION_VERSION}`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({ force: true })
|
||||
.expect(200);
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
const res = await es.search({
|
||||
index: TEST_INDEX,
|
||||
});
|
||||
|
|
|
@ -122,8 +122,6 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await uninstallPackage(testPkgName, testPkgVersion);
|
||||
await uninstallPackage('experimental', '0.1.0');
|
||||
await uninstallPackage('endpoint', '8.6.1');
|
||||
});
|
||||
after(async () => {
|
||||
await removeBundledPackages(log);
|
||||
});
|
||||
it('Allows the fetching of installed packages', async () => {
|
||||
|
|
|
@ -69,7 +69,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await supertest.delete(`/api/fleet/epm/packages/${name}/${version}`).set('kbn-xsrf', 'xxxx');
|
||||
};
|
||||
|
||||
describe('Installs packages from direct upload', async () => {
|
||||
describe('Installs packages from direct upload', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -26,7 +26,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.send({ force: true });
|
||||
};
|
||||
|
||||
describe('Installing custom integrations', async () => {
|
||||
describe('Installing custom integrations', () => {
|
||||
afterEach(async () => {
|
||||
await uninstallPackage();
|
||||
});
|
||||
|
|
|
@ -19,7 +19,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await supertest.delete(`/api/fleet/epm/packages/${name}/${version}`).set('kbn-xsrf', 'xxxx');
|
||||
};
|
||||
|
||||
describe('metric_type with dynamic_templates', async () => {
|
||||
describe('metric_type with dynamic_templates', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -39,7 +39,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.set('kbn-xsrf', 'xxxx');
|
||||
};
|
||||
|
||||
describe('package installation error handling and rollback', async () => {
|
||||
describe('package installation error handling and rollback', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -70,7 +70,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
})
|
||||
.catch(() => {});
|
||||
|
||||
describe('When installing system integration in multiple spaces', async () => {
|
||||
describe('When installing system integration in multiple spaces', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -21,7 +21,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
const deletePackage = async (pkg: string, version: string) =>
|
||||
supertest.delete(`/api/fleet/epm/packages/${pkg}/${version}`).set('kbn-xsrf', 'xxxx');
|
||||
|
||||
describe('installs packages that include settings and mappings overrides', async () => {
|
||||
describe('installs packages that include settings and mappings overrides', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -43,7 +43,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
describe('installs and uninstalls all assets', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
describe('installs all assets when installing a package for the first time', async () => {
|
||||
describe('installs all assets when installing a package for the first time', () => {
|
||||
before(async () => {
|
||||
await fleetAndAgents.setup();
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
|
@ -63,16 +63,17 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('uninstalls all assets when uninstalling a package', async () => {
|
||||
describe('uninstalls all assets when uninstalling a package', () => {
|
||||
// these tests ensure that uninstall works properly so make sure that the package gets installed and uninstalled
|
||||
// and then we'll test that not artifacts are left behind.
|
||||
before(() => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
return installPackage(pkgName, pkgVersion);
|
||||
});
|
||||
before(() => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
return uninstallPackage(pkgName, pkgVersion);
|
||||
before(async () => {
|
||||
if (isDockerRegistryEnabledOrSkipped(providerContext)) {
|
||||
await installPackage(pkgName, pkgVersion);
|
||||
}
|
||||
|
||||
if (isDockerRegistryEnabledOrSkipped(providerContext)) {
|
||||
await uninstallPackage(pkgName, pkgVersion);
|
||||
}
|
||||
});
|
||||
|
||||
it('should have uninstalled the index templates', async function () {
|
||||
|
@ -294,7 +295,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('reinstalls all assets', async () => {
|
||||
describe('reinstalls all assets', () => {
|
||||
before(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
await installPackage(pkgName, pkgVersion);
|
||||
|
|
|
@ -76,7 +76,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
after(async () => {
|
||||
await deleteSpace(testSpaceId);
|
||||
});
|
||||
describe('creates correct tags when installing a package in non default space after installing in default space', async () => {
|
||||
describe('creates correct tags when installing a package in non default space after installing in default space', () => {
|
||||
before(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
await installPackageInSpace('all_assets', pkgVersion, 'default');
|
||||
|
@ -104,7 +104,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('Handles presence of legacy tags', async () => {
|
||||
describe('Handles presence of legacy tags', () => {
|
||||
before(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
|
||||
|
@ -152,7 +152,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
describe('Handles presence of tags inside integration package', async () => {
|
||||
describe('Handles presence of tags inside integration package', () => {
|
||||
const testPackage = 'assets_with_tags';
|
||||
const testPackageVersion = '0.1.1';
|
||||
// tag corresponding to `OnlySomeAssets`
|
||||
|
|
|
@ -19,7 +19,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await supertest.delete(`/api/fleet/epm/packages/${name}/${version}`).set('kbn-xsrf', 'xxxx');
|
||||
};
|
||||
|
||||
describe('installing with tsds disabled', async () => {
|
||||
describe('installing with tsds disabled', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -23,7 +23,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await supertest.delete(`/api/fleet/epm/packages/${name}/${version}`).set('kbn-xsrf', 'xxxx');
|
||||
};
|
||||
|
||||
describe('installing and updating scenarios', async () => {
|
||||
describe('installing and updating scenarios', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -37,14 +37,14 @@ export default function (providerContext: FtrProviderContext) {
|
|||
return res?._source?.['epm-packages'] as Installation;
|
||||
};
|
||||
|
||||
describe('Installs verified and unverified packages', async () => {
|
||||
describe('Installs verified and unverified packages', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
describe('verified package', async () => {
|
||||
describe('verified package', () => {
|
||||
after(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
await uninstallPackage('verified', '1.0.0');
|
||||
|
@ -56,8 +56,8 @@ export default function (providerContext: FtrProviderContext) {
|
|||
expect(installationSO?.verification_key_id).equal(TEST_KEY_ID);
|
||||
});
|
||||
});
|
||||
describe('unverified packages', async () => {
|
||||
describe('unverified package content', async () => {
|
||||
describe('unverified packages', () => {
|
||||
describe('unverified package content', () => {
|
||||
after(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
await uninstallPackage('unverified_content', '1.0.0');
|
||||
|
@ -77,7 +77,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
expect(installationSO?.verification_key_id).equal(TEST_KEY_ID);
|
||||
});
|
||||
});
|
||||
describe('package verified with wrong key', async () => {
|
||||
describe('package verified with wrong key', () => {
|
||||
after(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
await uninstallPackage('wrong_key', '1.0.0');
|
||||
|
|
|
@ -22,7 +22,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
// because `this` has to point to the Mocha context
|
||||
// see https://mochajs.org/#arrow-functions
|
||||
|
||||
describe('EPM - list', async function () {
|
||||
describe('EPM - list', function () {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
const log = getService('log');
|
||||
|
||||
|
@ -32,12 +32,10 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
after(async () => {
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
});
|
||||
after(async () => {
|
||||
await removeBundledPackages(log);
|
||||
});
|
||||
|
||||
describe('list api tests', async () => {
|
||||
describe('list api tests', () => {
|
||||
it('lists all packages from the registry', async function () {
|
||||
const fetchPackageList = async () => {
|
||||
const response = await supertest
|
||||
|
|
|
@ -22,14 +22,14 @@ export default function (providerContext: FtrProviderContext) {
|
|||
const pkgName = 'multiple_versions';
|
||||
const pkgVersion = '0.1.0';
|
||||
const pkgUpdateVersion = '0.2.0';
|
||||
describe('setup checks packages completed install', async () => {
|
||||
describe('setup checks packages completed install', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
describe('package install', async () => {
|
||||
describe('package install', () => {
|
||||
before(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
await supertest
|
||||
|
@ -100,7 +100,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.expect(200);
|
||||
});
|
||||
});
|
||||
describe('package update', async () => {
|
||||
describe('package update', () => {
|
||||
before(async () => {
|
||||
if (!isDockerRegistryEnabledOrSkipped(providerContext)) return;
|
||||
await supertest
|
||||
|
|
|
@ -98,7 +98,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await supertest.delete(`/api/fleet/epm/packages/${pkg}/${version}`).set('kbn-xsrf', 'xxxx');
|
||||
};
|
||||
|
||||
describe('Legacy component template removal', async () => {
|
||||
describe('Legacy component template removal', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -27,28 +27,22 @@ export default function (providerContext: FtrProviderContext) {
|
|||
before(async () => {
|
||||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
before(async () => {
|
||||
await supertest
|
||||
.post(`/api/fleet/epm/packages/${ROUTING_RULES_PKG_NAME}/${ROUTING_RULES_PKG_VERSION}`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({ force: true })
|
||||
.expect(200);
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await supertest
|
||||
.delete(`/api/fleet/epm/packages/${ROUTING_RULES_PKG_NAME}/${ROUTING_RULES_PKG_VERSION}`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({ force: true })
|
||||
.expect(200);
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await esArchiver.unload('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
const res = await es.search({
|
||||
index: TEST_REROUTE_INDEX,
|
||||
ignore_unavailable: true,
|
||||
|
|
|
@ -25,7 +25,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.send({ force: 'true' });
|
||||
};
|
||||
|
||||
describe('setup api', async () => {
|
||||
describe('setup api', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
@ -37,7 +37,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await uninstallPackage('multiple_versions', '0.3.0');
|
||||
});
|
||||
|
||||
describe('setup performs upgrades', async () => {
|
||||
describe('setup performs upgrades', () => {
|
||||
const oldEndpointVersion = '1.0.0';
|
||||
beforeEach(async () => {
|
||||
const url = '/api/fleet/epm/packages/endpoint';
|
||||
|
|
|
@ -16,7 +16,7 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
const es = getService('es');
|
||||
|
||||
// This test was inspired by https://github.com/elastic/kibana/blob/main/x-pack/test/api_integration/apis/monitoring/common/mappings_exist.js
|
||||
describe('EPM - template', async () => {
|
||||
describe('EPM - template', () => {
|
||||
beforeEach(async () => {
|
||||
appContextService.start({
|
||||
// @ts-ignore
|
||||
|
|
|
@ -34,7 +34,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.send({ force: true });
|
||||
};
|
||||
|
||||
describe('updates all assets when updating a package to a different version', async () => {
|
||||
describe('updates all assets when updating a package to a different version', () => {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -10,7 +10,7 @@ import { FtrProviderContext } from '../../../api_integration/ftr_provider_contex
|
|||
export default function ({ getService }: FtrProviderContext) {
|
||||
const supertest = getService('supertest');
|
||||
|
||||
describe('EPM - verification key id', async () => {
|
||||
describe('EPM - verification key id', () => {
|
||||
it('returns the verification key ID ', async () => {
|
||||
const res = await supertest
|
||||
.get('/api/fleet/epm/verification_key_id')
|
||||
|
|
|
@ -31,21 +31,20 @@ export default function (providerContext: FtrProviderContext) {
|
|||
return policyDocRes.hits.hits[0]?._source;
|
||||
}
|
||||
|
||||
describe('fleet_proxies_crud', async function () {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
before(async () => {
|
||||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
describe('fleet_proxies_crud', function () {
|
||||
const existingId = 'test-default-123';
|
||||
const fleetServerHostId = 'test-fleetserver-123';
|
||||
const policyId = 'test-policy-123';
|
||||
const outputId = 'test-output-123';
|
||||
let downloadSourceId: string;
|
||||
|
||||
before(async function () {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
await fleetAndAgents.setup();
|
||||
|
||||
await kibanaServer.savedObjects.clean({
|
||||
types: ['fleet-proxy'],
|
||||
});
|
||||
|
|
|
@ -16,17 +16,16 @@ export default function (providerContext: FtrProviderContext) {
|
|||
const kibanaServer = getService('kibanaServer');
|
||||
const fleetAndAgents = getService('fleetAndAgents');
|
||||
|
||||
describe('fleet_fleet_server_hosts_crud', async function () {
|
||||
describe('fleet_fleet_server_hosts_crud', function () {
|
||||
let defaultFleetServerHostId: string;
|
||||
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
|
||||
before(async () => {
|
||||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
await fleetAndAgents.setup();
|
||||
});
|
||||
|
||||
let defaultFleetServerHostId: string;
|
||||
|
||||
before(async function () {
|
||||
await kibanaServer.savedObjects.clean({
|
||||
types: ['fleet-fleet-server-host'],
|
||||
});
|
||||
|
|
|
@ -256,10 +256,8 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server');
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
await setupTestUsers(getService('security'));
|
||||
});
|
||||
|
||||
before('create output', () =>
|
||||
supertest
|
||||
await supertest
|
||||
.post(`/api/fleet/outputs`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({
|
||||
|
@ -268,10 +266,9 @@ export default function (providerContext: FtrProviderContext) {
|
|||
type: 'elasticsearch',
|
||||
hosts: ['https://test.fr'],
|
||||
})
|
||||
.expect(200)
|
||||
);
|
||||
before('create fleet server hosts', () =>
|
||||
supertest
|
||||
.expect(200);
|
||||
|
||||
await supertest
|
||||
.post(`/api/fleet/fleet_server_hosts`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({
|
||||
|
@ -280,10 +277,9 @@ export default function (providerContext: FtrProviderContext) {
|
|||
is_default: false,
|
||||
host_urls: ['https://test.fr:8080', 'https://test.fr:8081'],
|
||||
})
|
||||
.expect(200)
|
||||
);
|
||||
before('create proxy', () =>
|
||||
supertest
|
||||
.expect(200);
|
||||
|
||||
await supertest
|
||||
.post(`/api/fleet/proxies`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({
|
||||
|
@ -291,10 +287,9 @@ export default function (providerContext: FtrProviderContext) {
|
|||
name: 'Test privileges proxy 1 ' + new Date().toISOString(),
|
||||
url: 'https://test.fr:3232',
|
||||
})
|
||||
.expect(200)
|
||||
);
|
||||
before('create download source', () =>
|
||||
supertest
|
||||
.expect(200);
|
||||
|
||||
await supertest
|
||||
.post(`/api/fleet/agent_download_sources`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
.send({
|
||||
|
@ -303,8 +298,8 @@ export default function (providerContext: FtrProviderContext) {
|
|||
host: 'http://test.fr:443',
|
||||
is_default: false,
|
||||
})
|
||||
.expect(200)
|
||||
);
|
||||
.expect(200);
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
|
|
|
@ -41,6 +41,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
}
|
||||
});
|
||||
|
||||
// eslint-disable-next-line mocha/no-sibling-hooks
|
||||
before(async () => {
|
||||
// we must first force install the fleet_server package to override package verification error on policy create
|
||||
// https://github.com/elastic/kibana/issues/137450
|
||||
|
|
|
@ -38,8 +38,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
name: 'test standalone agent',
|
||||
});
|
||||
apiKey = `${res.id}:${res.api_key}`;
|
||||
});
|
||||
before(async () => {
|
||||
|
||||
agentImage = `docker.elastic.co/beats/elastic-agent:${await getLatestVersion()}`;
|
||||
log.info(agentImage);
|
||||
await execa('docker', ['pull', agentImage]);
|
||||
|
|
|
@ -196,7 +196,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
|
||||
const TEST_SPACE_ID = 'testspaceoutputs';
|
||||
|
||||
describe('fleet_outputs_crud', async function () {
|
||||
describe('fleet_outputs_crud', function () {
|
||||
skipIfNoDockerRegistry(providerContext);
|
||||
before(async () => {
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
|
@ -209,6 +209,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
let fleetServerPolicyId: string;
|
||||
let fleetServerPolicyWithCustomOutputId: string;
|
||||
|
||||
// eslint-disable-next-line mocha/no-sibling-hooks
|
||||
before(async function () {
|
||||
await enableSecrets(providerContext);
|
||||
await enableOutputSecrets();
|
||||
|
@ -1352,6 +1353,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
});
|
||||
});
|
||||
|
||||
// eslint-disable-next-line mocha/no-identical-title
|
||||
it('should discard the shipper values when shipper is disabled', async function () {
|
||||
await supertest
|
||||
.post(`/api/fleet/outputs`)
|
||||
|
@ -1701,6 +1703,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.expect(400);
|
||||
});
|
||||
|
||||
// eslint-disable-next-line mocha/no-identical-title
|
||||
it('should return a 400 when deleting a default output ', async function () {
|
||||
await supertest
|
||||
.delete(`/api/fleet/outputs/${defaultMonitoringOutputId}`)
|
||||
|
|
|
@ -15,7 +15,7 @@ export default function (providerContext: FtrProviderContext) {
|
|||
const supertest = getService('supertest');
|
||||
const supertestWithoutAuth = getService('supertestWithoutAuth');
|
||||
|
||||
describe('fleet_output_logstash_api_keys', async function () {
|
||||
describe('fleet_output_logstash_api_keys', function () {
|
||||
describe('POST /logstash_api_keys', () => {
|
||||
it('should allow to create an api key with the right permissions', async () => {
|
||||
const { body: apiKeyRes } = await supertest
|
||||
|
|
|
@ -33,15 +33,6 @@ export default function (providerContext: FtrProviderContext) {
|
|||
await getService('esArchiver').load(
|
||||
'x-pack/test/functional/es_archives/fleet/empty_fleet_server'
|
||||
);
|
||||
});
|
||||
after(async () => {
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
await getService('esArchiver').unload(
|
||||
'x-pack/test/functional/es_archives/fleet/empty_fleet_server'
|
||||
);
|
||||
});
|
||||
|
||||
before(async function () {
|
||||
const { body: agentPolicyResponse } = await supertest
|
||||
.post(`/api/fleet/agent_policies`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
|
@ -62,8 +53,11 @@ export default function (providerContext: FtrProviderContext) {
|
|||
.expect(200);
|
||||
agentPolicyId2 = agentPolicyResponse2.item.id;
|
||||
});
|
||||
|
||||
after(async function () {
|
||||
after(async () => {
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
await getService('esArchiver').unload(
|
||||
'x-pack/test/functional/es_archives/fleet/empty_fleet_server'
|
||||
);
|
||||
await supertest
|
||||
.post(`/api/fleet/agent_policies/delete`)
|
||||
.set('kbn-xsrf', 'xxxx')
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue