Skip to content

Commit

Permalink
[7.17] Removing esArchiver in favor of testDataLoader for bulk_get
Browse files Browse the repository at this point in the history
…Saved Objects integration tests (#140998) (#142670)

* Removing esArchiver in favor of testDataLoader for `bulk_get` Saved Objects integration tests (#140998)

* Removing esArchiver in favor of testDataLoader

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

* Adding test data for loader

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

* Adding generic TestDataLoader

* Importing just the type per PR feedback

* Changing testDataLoader function names to be more descriptive

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Larry Gregory <larry.gregory@elastic.co>
Co-authored-by: Thomas Watson <watson@elastic.co>

* Changing SecurityOnly to use the context when calling the bulkGet tests

* Updating versions of saved objects

* Missing SO for the SecurityOnly tests

* Remove prefix from ID

* Permitting SecurityOnly tests to use esArchiver because objects cant be created with namespaces and spaces disabled through kibana

* Moving async calls out of map and awaiting

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Larry Gregory <larry.gregory@elastic.co>
Co-authored-by: Thomas Watson <watson@elastic.co>
  • Loading branch information
4 people committed Oct 13, 2022
1 parent 6dc9400 commit d60b53b
Show file tree
Hide file tree
Showing 10 changed files with 430 additions and 77 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,14 @@
* 2.0.
*/

import { FtrProviderContext } from '../ftr_provider_context';

const SPACE_1 = {
export const SPACE_1 = {
id: 'space_1',
name: 'Space 1',
description: 'This is the first test space',
disabledFeatures: [],
};

const SPACE_2 = {
export const SPACE_2 = {
id: 'space_2',
name: 'Space 2',
description: 'This is the second test space',
Expand Down Expand Up @@ -56,36 +54,43 @@ const OBJECTS_TO_SHARE: Array<{
},
];

export function getTestDataLoader({ getService }: FtrProviderContext) {
// @ts-ignore
export function getTestDataLoader({ getService }) {
const spacesService = getService('spaces');
const kbnServer = getService('kibanaServer');
const supertest = getService('supertest');
const log = getService('log');

return {
before: async () => {
await Promise.all([await spacesService.create(SPACE_1), await spacesService.create(SPACE_2)]);
createFtrSpaces: async () => {
log.debug('Attempting to create Space 1');
await spacesService.create(SPACE_1);

log.debug('Attempting to create Space 1');
await spacesService.create(SPACE_2);
},

after: async () => {
deleteFtrSpaces: async () => {
log.debug('Attempting to delete Space 1 and Space 2');
await Promise.all([spacesService.delete(SPACE_1.id), spacesService.delete(SPACE_2.id)]);
},

beforeEach: async () => {
log.debug('Loading test data for the following spaces: default, space_1 and space_2');
await Promise.all([
kbnServer.importExport.load(
'x-pack/test/spaces_api_integration/common/fixtures/kbn_archiver/default_space.json'
),
kbnServer.importExport.load(
'x-pack/test/spaces_api_integration/common/fixtures/kbn_archiver/space_1.json',
{ space: SPACE_1.id }
),
kbnServer.importExport.load(
'x-pack/test/spaces_api_integration/common/fixtures/kbn_archiver/space_2.json',
{ space: SPACE_2.id }
),
]);
createFtrSavedObjectsData: async (
spaceData: Array<{ spaceName: string | null; dataUrl: string }>
) => {
log.debug('Attempting to load data for spaces specified in Suite');

for (const spaceDataObj of spaceData) {
if (spaceDataObj.spaceName) {
log.debug(`Attempting to load data for ${spaceDataObj.spaceName}`);
await kbnServer.importExport.load(spaceDataObj.dataUrl, {
space: spaceDataObj.spaceName,
});
} else {
log.debug(`Attempting to load data for the default space`);
await kbnServer.importExport.load(spaceDataObj.dataUrl);
}
}

// Adjust spaces for the imported saved objects.
for (const { objects, spacesToAdd = [], spacesToRemove = [] } of OBJECTS_TO_SHARE) {
Expand All @@ -96,27 +101,27 @@ export function getTestDataLoader({ getService }: FtrProviderContext) {
.map(({ type, id }) => `${type}:${id}`)
.join(', ')}`
);

await supertest
.post('/api/spaces/_update_objects_spaces')
.send({ objects, spacesToAdd, spacesToRemove })
.expect(200);
}
},

afterEach: async () => {
deleteFtrSavedObjectsData: async () => {
const allSpacesIds = [
...(await spacesService.getAll()).map((space) => space.id),
...(await spacesService.getAll()).map((space: { id: any }) => space.id),
'non_existent_space',
];
log.debug(`Removing data from the following spaces: ${allSpacesIds.join(', ')}`);
await Promise.all(
allSpacesIds.flatMap((spaceId) => [
kbnServer.savedObjects.cleanStandardList({ space: spaceId, force: true }).catch(() => {}),
kbnServer.savedObjects
.clean({ space: spaceId, types: ['sharedtype'], force: true })
.catch(() => {}),
])
);

log.debug(`Attempting to remove data from the following spaces: ${allSpacesIds.join(', ')}`);

for (const spaceId of allSpacesIds) {
log.debug(`Attempting to remove data from ${spaceId}`);
await kbnServer.savedObjects.cleanStandardList({ space: spaceId, force: true });
await kbnServer.savedObjects.clean({ space: spaceId, types: ['sharedtype'], force: true });
}
},
};
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
{
"attributes": {
"title": "logstash-*"
},
"coreMigrationVersion": "7.17.7",
"id": "defaultspace-index-pattern-id",
"migrationVersion": {
"index-pattern": "7.11.0"
},
"originId": "cts_ip_1",
"references": [],
"type": "index-pattern",
"updated_at": "2017-09-21T18:49:16.270Z",
"version": "WzUyOCwxXQ=="
}

{
"attributes": {
"title": "Count of requests",
"uiStateJSON": "{\"spy\":{\"mode\":{\"name\":null,\"fill\":false}}}",
"version": 1,
"visState": "{\"title\":\"Count of requests\",\"type\":\"area\",\"params\":{\"type\":\"area\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"area\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}]}",
"description": "",
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"index\":\"defaultspace-index-pattern-id\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}"
}
},
"id": "defaultspace-isolatedtype-id",
"references": [],
"type": "isolatedtype",
"updated_at": "2017-09-21T18:51:23.794Z",
"version": "WzQ4NywxXQ=="
}

{
"attributes": {
"title": "Requests",
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"lucene\"},\"filter\":[],\"highlightAll\":true,\"version\":true}"
}
},
"coreMigrationVersion": "7.11.0",
"id": "defaultspace-dashboard-id",
"migrationVersion": {
"dashboard": "7.17.3"
},
"type": "dashboard",
"updated_at": "2017-09-21T18:49:16.270Z",
"version": "WzUyMCwxXQ=="
}

{
"attributes": {
"title": "A share-capable (isolated) saved-object only in the default space"
},
"id": "only_default_space",
"type": "sharecapabletype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "A shared saved-object in all spaces"
},
"id": "all_spaces",
"references": [],
"type": "sharedtype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ5NywxXQ=="
}

{
"attributes": {
"title": "My favorite global object"
},
"id": "globaltype-id",
"references": [],
"type": "globaltype",
"updated_at": "2017-09-21T18:49:16.270Z",
"version": "WzQ4NywxXQ=="
}

{
"attributes": {
"title": "A shared saved-object in the default and space_1 spaces"
},
"id": "default_and_space_1",
"type": "sharedtype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "A sharedtype saved-object with id: conflict_1"
},
"id": "conflict_1",
"type": "sharedtype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "A sharedtype saved-object with id: conflict_2a"
},
"id": "conflict_2a",
"type": "sharedtype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "A sharedtype saved-object with id: conflict_2b"
},
"id": "conflict_2b",
"type": "sharedtype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "A sharedtype saved-object with id: conflict_3"
},
"id": "conflict_3",
"type": "sharedtype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "A sharedtype saved-object with id: conflict_4a"
},
"id": "conflict_4a",
"type": "sharedtype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "Resolve outcome exactMatch"
},
"id": "exact-match",
"type": "resolvetype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "Resolve outcome aliasMatch"
},
"id": "alias-match-newid",
"type": "resolvetype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@


{
"attributes": {
"title": "logstash-*"
},
"coreMigrationVersion": "7.17.7",
"id": "space1-index-pattern-id",
"migrationVersion": {
"index-pattern": "7.11.0"
},
"references": [],
"type": "index-pattern",
"updated_at": "2017-09-21T18:49:16.270Z",
"version": "WzUyOSwxXQ=="
}

{
"attributes": {
"description": "",
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"index\":\"space1-index-pattern-id\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}"
},
"title": "Count of requests",
"uiStateJSON": "{\"spy\":{\"mode\":{\"name\":null,\"fill\":false}}}",
"version": 1,
"visState": "{\"title\":\"Count of requests\",\"type\":\"area\",\"params\":{\"type\":\"area\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"area\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}]}"
},
"id": "space1-isolatedtype-id",
"references": [],
"type": "isolatedtype",
"updated_at": "2017-09-21T18:49:16.270Z",
"version": "WzQ4NywxXQ=="
}

{
"attributes": {
"title": "Requests",
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"lucene\"},\"filter\":[],\"highlightAll\":true,\"version\":true}"
},
"version": 1
},
"coreMigrationVersion": "7.17.7",
"id": "space1-dashboard-id",
"migrationVersion": {
"dashboard": "7.17.3"
},
"type": "dashboard",
"updated_at": "2017-09-21T18:49:16.270Z",
"version": "WzUyMCwxXQ=="
}

{
"attributes": {
"title": "A shared saved-object only in space_1"
},
"id": "only_space_1",
"type": "sharedtype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

{
"attributes": {
"title": "A share-capable (isolated) saved-object only in space_1"
},
"id": "only_space_1",
"type": "sharecapabletype",
"updated_at": "2017-09-21T18:59:16.270Z",
"version": "WzQ4OCwxXQ=="
}

0 comments on commit d60b53b

Please sign in to comment.