[esArchiver] drop support for --dir, use repo-relative paths instead (#101345)

Co-authored-by: spalger <spalger@users.noreply.github.com>
This commit is contained in:
Spencer 2021-06-08 14:37:42 -07:00 committed by GitHub
parent 686ade7808
commit f466ebf1a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
710 changed files with 2459 additions and 1831 deletions

View file

@ -229,9 +229,9 @@ export default function ({ getService, getPageObject }) {
before(async () => { before(async () => {
await Promise.all([ await Promise.all([
// start with an empty .kibana index // start with an empty .kibana index
esArchiver.load('empty_kibana'), esArchiver.load('test/functional/fixtures/es_archiver/empty_kibana'),
// load some basic log data only if the index doesn't exist // load some basic log data only if the index doesn't exist
esArchiver.loadIfNeeded('makelogs') esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/makelogs')
]); ]);
// go to the page described by `apps.visualize` in the config // go to the page described by `apps.visualize` in the config
await PageObjects.common.navigateTo('visualize'); await PageObjects.common.navigateTo('visualize');
@ -243,7 +243,7 @@ export default function ({ getService, getPageObject }) {
// we unload the empty_kibana archive but not the makelogs // we unload the empty_kibana archive but not the makelogs
// archive because we don't make any changes to it, and subsequent // archive because we don't make any changes to it, and subsequent
// suites could use it if they call `.loadIfNeeded()`. // suites could use it if they call `.loadIfNeeded()`.
await esArchiver.unload('empty_kibana'); await esArchiver.unload('test/functional/fixtures/es_archiver/empty_kibana');
}); });
// This series of tests illustrate how tests generally verify // This series of tests illustrate how tests generally verify
@ -370,9 +370,9 @@ await testSubjects.click(containerButton);
* Source: {blob}test/common/services/es_archiver.ts[test/common/services/es_archiver.ts] * Source: {blob}test/common/services/es_archiver.ts[test/common/services/es_archiver.ts]
* Load/unload archives created with the `esArchiver` * Load/unload archives created with the `esArchiver`
* Popular methods: * Popular methods:
** `esArchiver.load(name)` ** `esArchiver.load(path)`
** `esArchiver.loadIfNeeded(name)` ** `esArchiver.loadIfNeeded(path)`
** `esArchiver.unload(name)` ** `esArchiver.unload(path)`
Full list of services that are used in functional tests can be found here: {blob}test/functional/services[test/functional/services] Full list of services that are used in functional tests can be found here: {blob}test/functional/services[test/functional/services]

View file

@ -58,11 +58,6 @@ export default async function ({ readConfigFile }) {
} }
}, },
// choose where esArchiver should load archives from
esArchiver: {
directory: resolve(__dirname, './es_archives'),
},
// choose where screenshots should be saved // choose where screenshots should be saved
screenshots: { screenshots: {
directory: resolve(__dirname, './tmp/screenshots'), directory: resolve(__dirname, './tmp/screenshots'),

View file

@ -6,9 +6,9 @@
* Side Public License, v 1. * Side Public License, v 1.
*/ */
import { resolve, relative } from 'path'; import { relative } from 'path';
import Fs from 'fs'; import Fs from 'fs';
import { createGunzip, createGzip, Z_BEST_COMPRESSION } from 'zlib'; import { createGunzip, createGzip, constants } from 'zlib';
import { promisify } from 'util'; import { promisify } from 'util';
import globby from 'globby'; import globby from 'globby';
import { ToolingLog } from '@kbn/dev-utils'; import { ToolingLog } from '@kbn/dev-utils';
@ -17,24 +17,22 @@ import { createPromiseFromStreams } from '@kbn/utils';
const unlinkAsync = promisify(Fs.unlink); const unlinkAsync = promisify(Fs.unlink);
export async function editAction({ export async function editAction({
prefix, path,
dataDir,
log, log,
handler, handler,
}: { }: {
prefix: string; path: string;
dataDir: string;
log: ToolingLog; log: ToolingLog;
handler: () => Promise<any>; handler: () => Promise<any>;
}) { }) {
const archives = ( const archives = (
await globby('**/*.gz', { await globby('**/*.gz', {
cwd: prefix ? resolve(dataDir, prefix) : dataDir, cwd: path,
absolute: true, absolute: true,
}) })
).map((path) => ({ ).map((found) => ({
path, path: found,
rawPath: path.slice(0, -3), rawPath: found.slice(0, -3),
})); }));
await Promise.all( await Promise.all(
@ -61,7 +59,7 @@ export async function editAction({
archives.map(async (archive) => { archives.map(async (archive) => {
await createPromiseFromStreams([ await createPromiseFromStreams([
Fs.createReadStream(archive.rawPath), Fs.createReadStream(archive.rawPath),
createGzip({ level: Z_BEST_COMPRESSION }), createGzip({ level: constants.Z_BEST_COMPRESSION }),
Fs.createWriteStream(archive.path), Fs.createWriteStream(archive.path),
]); ]);

View file

@ -6,10 +6,10 @@
* Side Public License, v 1. * Side Public License, v 1.
*/ */
import { resolve } from 'path'; import { resolve, relative } from 'path';
import { createReadStream } from 'fs'; import { createReadStream } from 'fs';
import { Readable } from 'stream'; import { Readable } from 'stream';
import { ToolingLog } from '@kbn/dev-utils'; import { ToolingLog, REPO_ROOT } from '@kbn/dev-utils';
import { KbnClient } from '@kbn/test'; import { KbnClient } from '@kbn/test';
import type { KibanaClient } from '@elastic/elasticsearch/api/kibana'; import type { KibanaClient } from '@elastic/elasticsearch/api/kibana';
import { createPromiseFromStreams, concatStreamProviders } from '@kbn/utils'; import { createPromiseFromStreams, concatStreamProviders } from '@kbn/utils';
@ -37,23 +37,21 @@ const pipeline = (...streams: Readable[]) =>
); );
export async function loadAction({ export async function loadAction({
name, inputDir,
skipExisting, skipExisting,
useCreate, useCreate,
client, client,
dataDir,
log, log,
kbnClient, kbnClient,
}: { }: {
name: string; inputDir: string;
skipExisting: boolean; skipExisting: boolean;
useCreate: boolean; useCreate: boolean;
client: KibanaClient; client: KibanaClient;
dataDir: string;
log: ToolingLog; log: ToolingLog;
kbnClient: KbnClient; kbnClient: KbnClient;
}) { }) {
const inputDir = resolve(dataDir, name); const name = relative(REPO_ROOT, inputDir);
const stats = createStats(name, log); const stats = createStats(name, log);
const files = prioritizeMappings(await readDirectory(inputDir)); const files = prioritizeMappings(await readDirectory(inputDir));
const kibanaPluginIds = await kbnClient.plugins.getEnabledIds(); const kibanaPluginIds = await kbnClient.plugins.getEnabledIds();

View file

@ -6,11 +6,11 @@
* Side Public License, v 1. * Side Public License, v 1.
*/ */
import { resolve, dirname, relative } from 'path'; import { resolve, relative } from 'path';
import { stat, Stats, rename, createReadStream, createWriteStream } from 'fs'; import { stat, Stats, rename, createReadStream, createWriteStream } from 'fs';
import { Readable, Writable } from 'stream'; import { Readable, Writable } from 'stream';
import { fromNode } from 'bluebird'; import { fromNode } from 'bluebird';
import { ToolingLog } from '@kbn/dev-utils'; import { ToolingLog, REPO_ROOT } from '@kbn/dev-utils';
import { createPromiseFromStreams } from '@kbn/utils'; import { createPromiseFromStreams } from '@kbn/utils';
import { import {
prioritizeMappings, prioritizeMappings,
@ -25,15 +25,7 @@ async function isDirectory(path: string): Promise<boolean> {
return stats.isDirectory(); return stats.isDirectory();
} }
export async function rebuildAllAction({ export async function rebuildAllAction({ dataDir, log }: { dataDir: string; log: ToolingLog }) {
dataDir,
log,
rootDir = dataDir,
}: {
dataDir: string;
log: ToolingLog;
rootDir?: string;
}) {
const childNames = prioritizeMappings(await readDirectory(dataDir)); const childNames = prioritizeMappings(await readDirectory(dataDir));
for (const childName of childNames) { for (const childName of childNames) {
const childPath = resolve(dataDir, childName); const childPath = resolve(dataDir, childName);
@ -42,13 +34,12 @@ export async function rebuildAllAction({
await rebuildAllAction({ await rebuildAllAction({
dataDir: childPath, dataDir: childPath,
log, log,
rootDir,
}); });
continue; continue;
} }
const archiveName = dirname(relative(rootDir, childPath)); const archiveName = relative(REPO_ROOT, childPath);
log.info(`${archiveName} Rebuilding ${childName}`); log.info('[%s] Rebuilding %j', archiveName, childName);
const gzip = isGzip(childPath); const gzip = isGzip(childPath);
const tempFile = childPath + (gzip ? '.rebuilding.gz' : '.rebuilding'); const tempFile = childPath + (gzip ? '.rebuilding.gz' : '.rebuilding');
@ -60,6 +51,6 @@ export async function rebuildAllAction({
] as [Readable, ...Writable[]]); ] as [Readable, ...Writable[]]);
await fromNode((cb) => rename(tempFile, childPath, cb)); await fromNode((cb) => rename(tempFile, childPath, cb));
log.info(`${archiveName} Rebuilt ${childName}`); log.info('[%s] Rebuilt %j', archiveName, childName);
} }
} }

View file

@ -6,11 +6,11 @@
* Side Public License, v 1. * Side Public License, v 1.
*/ */
import { resolve } from 'path'; import { resolve, relative } from 'path';
import { createWriteStream, mkdirSync } from 'fs'; import { createWriteStream, mkdirSync } from 'fs';
import { Readable, Writable } from 'stream'; import { Readable, Writable } from 'stream';
import type { KibanaClient } from '@elastic/elasticsearch/api/kibana'; import type { KibanaClient } from '@elastic/elasticsearch/api/kibana';
import { ToolingLog } from '@kbn/dev-utils'; import { ToolingLog, REPO_ROOT } from '@kbn/dev-utils';
import { createListStream, createPromiseFromStreams } from '@kbn/utils'; import { createListStream, createPromiseFromStreams } from '@kbn/utils';
import { import {
@ -22,23 +22,21 @@ import {
} from '../lib'; } from '../lib';
export async function saveAction({ export async function saveAction({
name, outputDir,
indices, indices,
client, client,
dataDir,
log, log,
raw, raw,
query, query,
}: { }: {
name: string; outputDir: string;
indices: string | string[]; indices: string | string[];
client: KibanaClient; client: KibanaClient;
dataDir: string;
log: ToolingLog; log: ToolingLog;
raw: boolean; raw: boolean;
query?: Record<string, any>; query?: Record<string, any>;
}) { }) {
const outputDir = resolve(dataDir, name); const name = relative(REPO_ROOT, outputDir);
const stats = createStats(name, log); const stats = createStats(name, log);
log.info('[%s] Creating archive of %j', name, indices); log.info('[%s] Creating archive of %j', name, indices);

View file

@ -6,11 +6,11 @@
* Side Public License, v 1. * Side Public License, v 1.
*/ */
import { resolve } from 'path'; import { resolve, relative } from 'path';
import { createReadStream } from 'fs'; import { createReadStream } from 'fs';
import { Readable, Writable } from 'stream'; import { Readable, Writable } from 'stream';
import type { KibanaClient } from '@elastic/elasticsearch/api/kibana'; import type { KibanaClient } from '@elastic/elasticsearch/api/kibana';
import { ToolingLog } from '@kbn/dev-utils'; import { ToolingLog, REPO_ROOT } from '@kbn/dev-utils';
import { KbnClient } from '@kbn/test'; import { KbnClient } from '@kbn/test';
import { createPromiseFromStreams } from '@kbn/utils'; import { createPromiseFromStreams } from '@kbn/utils';
@ -25,19 +25,17 @@ import {
} from '../lib'; } from '../lib';
export async function unloadAction({ export async function unloadAction({
name, inputDir,
client, client,
dataDir,
log, log,
kbnClient, kbnClient,
}: { }: {
name: string; inputDir: string;
client: KibanaClient; client: KibanaClient;
dataDir: string;
log: ToolingLog; log: ToolingLog;
kbnClient: KbnClient; kbnClient: KbnClient;
}) { }) {
const inputDir = resolve(dataDir, name); const name = relative(REPO_ROOT, inputDir);
const stats = createStats(name, log); const stats = createStats(name, log);
const kibanaPluginIds = await kbnClient.plugins.getEnabledIds(); const kibanaPluginIds = await kbnClient.plugins.getEnabledIds();

View file

@ -30,13 +30,12 @@ export function runCli() {
new RunWithCommands({ new RunWithCommands({
description: 'CLI to manage archiving/restoring data in elasticsearch', description: 'CLI to manage archiving/restoring data in elasticsearch',
globalFlags: { globalFlags: {
string: ['es-url', 'kibana-url', 'dir', 'config', 'es-ca', 'kibana-ca'], string: ['es-url', 'kibana-url', 'config', 'es-ca', 'kibana-ca'],
help: ` help: `
--config path to an FTR config file that sets --es-url, --kibana-url, and --dir --config path to an FTR config file that sets --es-url and --kibana-url
default: ${defaultConfigPath} default: ${defaultConfigPath}
--es-url url for Elasticsearch, prefer the --config flag --es-url url for Elasticsearch, prefer the --config flag
--kibana-url url for Kibana, prefer the --config flag --kibana-url url for Kibana, prefer the --config flag
--dir where arechives are stored, prefer the --config flag
--kibana-ca if Kibana url points to https://localhost we default to the CA from @kbn/dev-utils, customize the CA with this flag --kibana-ca if Kibana url points to https://localhost we default to the CA from @kbn/dev-utils, customize the CA with this flag
--es-ca if Elasticsearch url points to https://localhost we default to the CA from @kbn/dev-utils, customize the CA with this flag --es-ca if Elasticsearch url points to https://localhost we default to the CA from @kbn/dev-utils, customize the CA with this flag
`, `,
@ -104,17 +103,6 @@ export function runCli() {
} }
} }
let dir = flags.dir;
if (dir && typeof dir !== 'string') {
throw createFlagError('--dir must be a string');
}
if (!dir && config) {
dir = Path.resolve(config.get('esArchiver.directory'));
}
if (!dir) {
throw createFlagError('--dir or --config must be defined');
}
const client = new Client({ const client = new Client({
node: esUrl, node: esUrl,
ssl: esCa ? { ca: esCa } : undefined, ssl: esCa ? { ca: esCa } : undefined,
@ -130,7 +118,7 @@ export function runCli() {
const esArchiver = new EsArchiver({ const esArchiver = new EsArchiver({
log, log,
client, client,
dataDir: dir, baseDir: process.cwd(),
kbnClient, kbnClient,
}); });
@ -141,16 +129,16 @@ export function runCli() {
}) })
.command({ .command({
name: 'save', name: 'save',
usage: 'save [name] [...indices]', usage: 'save [path] [...indices]',
description: ` description: `
archive the [indices ...] into the --dir with [name] archive the [indices ...] into a directory at [path]
Example: Example:
Save all [logstash-*] indices from http://localhost:9200 to [snapshots/my_test_data] directory Save all [logstash-*] indices from http://localhost:9200 to the [test/functional/es_archives/my_test_data] directory
WARNING: If the [my_test_data] snapshot exists it will be deleted! WARNING: If the [test/functional/es_archives/my_test_data] snapshot exists it will be deleted!
$ node scripts/es_archiver save my_test_data logstash-* --dir snapshots $ node scripts/es_archiver save test/functional/es_archives/my_test_data logstash-*
`, `,
flags: { flags: {
boolean: ['raw'], boolean: ['raw'],
@ -161,9 +149,9 @@ export function runCli() {
`, `,
}, },
async run({ flags, esArchiver }) { async run({ flags, esArchiver }) {
const [name, ...indices] = flags._; const [path, ...indices] = flags._;
if (!name) { if (!path) {
throw createFlagError('missing [name] argument'); throw createFlagError('missing [path] argument');
} }
if (!indices.length) { if (!indices.length) {
throw createFlagError('missing [...indices] arguments'); throw createFlagError('missing [...indices] arguments');
@ -184,22 +172,22 @@ export function runCli() {
} }
} }
await esArchiver.save(name, indices, { raw, query: parsedQuery }); await esArchiver.save(path, indices, { raw, query: parsedQuery });
}, },
}) })
.command({ .command({
name: 'load', name: 'load',
usage: 'load [name]', usage: 'load [path]',
description: ` description: `
load the archive in --dir with [name] load the archive stored at [path]
Example: Example:
Load the [my_test_data] snapshot from the archive directory and elasticsearch instance defined Load the [my_test_data] snapshot from the local directory and elasticsearch instance defined
in the [test/functional/config.js] config file in the [../config.js] config file
WARNING: If the indices exist already they will be deleted! WARNING: If the indices exist already they will be deleted!
$ node scripts/es_archiver load my_test_data --config test/functional/config.js $ node scripts/es_archiver load my_test_data --config ../config.js
`, `,
flags: { flags: {
boolean: ['use-create'], boolean: ['use-create'],
@ -208,9 +196,9 @@ export function runCli() {
`, `,
}, },
async run({ flags, esArchiver }) { async run({ flags, esArchiver }) {
const [name] = flags._; const [path] = flags._;
if (!name) { if (!path) {
throw createFlagError('missing [name] argument'); throw createFlagError('missing [path] argument');
} }
if (flags._.length > 1) { if (flags._.length > 1) {
throw createFlagError(`unknown extra arguments: [${flags._.slice(1).join(', ')}]`); throw createFlagError(`unknown extra arguments: [${flags._.slice(1).join(', ')}]`);
@ -221,40 +209,40 @@ export function runCli() {
throw createFlagError('--use-create does not take a value'); throw createFlagError('--use-create does not take a value');
} }
await esArchiver.load(name, { useCreate }); await esArchiver.load(path, { useCreate });
}, },
}) })
.command({ .command({
name: 'unload', name: 'unload',
usage: 'unload [name]', usage: 'unload [path]',
description: 'remove indices created by the archive in --dir with [name]', description: 'remove indices created by the archive at [path]',
async run({ flags, esArchiver }) { async run({ flags, esArchiver }) {
const [name] = flags._; const [path] = flags._;
if (!name) { if (!path) {
throw createFlagError('missing [name] argument'); throw createFlagError('missing [path] argument');
} }
if (flags._.length > 1) { if (flags._.length > 1) {
throw createFlagError(`unknown extra arguments: [${flags._.slice(1).join(', ')}]`); throw createFlagError(`unknown extra arguments: [${flags._.slice(1).join(', ')}]`);
} }
await esArchiver.unload(name); await esArchiver.unload(path);
}, },
}) })
.command({ .command({
name: 'edit', name: 'edit',
usage: 'edit [prefix]', usage: 'edit [path]',
description: description:
'extract the archives under the prefix, wait for edits to be completed, and then recompress the archives', 'extract the archives within or at [path], wait for edits to be completed, and then recompress the archives',
async run({ flags, esArchiver }) { async run({ flags, esArchiver }) {
const [prefix] = flags._; const [path] = flags._;
if (!prefix) { if (!path) {
throw createFlagError('missing [prefix] argument'); throw createFlagError('missing [path] argument');
} }
if (flags._.length > 1) { if (flags._.length > 1) {
throw createFlagError(`unknown extra arguments: [${flags._.slice(1).join(', ')}]`); throw createFlagError(`unknown extra arguments: [${flags._.slice(1).join(', ')}]`);
} }
await esArchiver.edit(prefix, async () => { await esArchiver.edit(path, async () => {
const rl = readline.createInterface({ const rl = readline.createInterface({
input: process.stdin, input: process.stdin,
output: process.stdout, output: process.stdout,
@ -278,10 +266,19 @@ export function runCli() {
}, },
}) })
.command({ .command({
name: 'rebuild-all', name: 'rebuild-all [dir]',
description: '[internal] read and write all archives in --dir to remove any inconsistencies', description:
async run({ esArchiver }) { '[internal] read and write all archives within [dir] to remove any inconsistencies',
await esArchiver.rebuildAll(); async run({ flags, esArchiver }) {
const [dir] = flags._;
if (!dir) {
throw createFlagError('missing [dir] argument');
}
if (flags._.length > 1) {
throw createFlagError(`unknown extra arguments: [${flags._.slice(1).join(', ')}]`);
}
await esArchiver.rebuildAll(dir);
}, },
}) })
.execute(); .execute();

View file

@ -6,8 +6,11 @@
* Side Public License, v 1. * Side Public License, v 1.
*/ */
import Fs from 'fs';
import Path from 'path';
import type { KibanaClient } from '@elastic/elasticsearch/api/kibana'; import type { KibanaClient } from '@elastic/elasticsearch/api/kibana';
import { ToolingLog } from '@kbn/dev-utils'; import { ToolingLog, REPO_ROOT } from '@kbn/dev-utils';
import { KbnClient } from '@kbn/test'; import { KbnClient } from '@kbn/test';
import { import {
@ -21,139 +24,128 @@ import {
interface Options { interface Options {
client: KibanaClient; client: KibanaClient;
dataDir: string; baseDir?: string;
log: ToolingLog; log: ToolingLog;
kbnClient: KbnClient; kbnClient: KbnClient;
} }
export class EsArchiver { export class EsArchiver {
private readonly client: KibanaClient; private readonly client: KibanaClient;
private readonly dataDir: string; private readonly baseDir: string;
private readonly log: ToolingLog; private readonly log: ToolingLog;
private readonly kbnClient: KbnClient; private readonly kbnClient: KbnClient;
constructor(options: Options) { constructor(options: Options) {
this.client = options.client; this.client = options.client;
this.dataDir = options.dataDir; this.baseDir = options.baseDir ?? REPO_ROOT;
this.log = options.log; this.log = options.log;
this.kbnClient = options.kbnClient; this.kbnClient = options.kbnClient;
} }
/** /**
* Extract data and mappings from an elasticsearch index and store * Extract data and mappings from an elasticsearch index and store
* it in the dataDir so it can be used later to recreate the index. * it in the baseDir so it can be used later to recreate the index.
* *
* @param {String} name - the name of this archive, used to determine filename * @param {String} path - relative path to the archive, resolved relative to this.baseDir which defaults to REPO_ROOT
* @param {String|Array<String>} indices - the indices to archive * @param {String|Array<String>} indices - the indices to archive
* @param {Object} options * @param {Object} options
* @property {Boolean} options.raw - should the archive be raw (unzipped) or not * @property {Boolean} options.raw - should the archive be raw (unzipped) or not
* @return Promise<Stats>
*/ */
async save( async save(
name: string, path: string,
indices: string | string[], indices: string | string[],
{ raw = false, query }: { raw?: boolean; query?: Record<string, any> } = {} { raw = false, query }: { raw?: boolean; query?: Record<string, any> } = {}
) { ) {
return await saveAction({ return await saveAction({
name, outputDir: Path.resolve(this.baseDir, path),
indices, indices,
raw, raw,
client: this.client, client: this.client,
dataDir: this.dataDir,
log: this.log, log: this.log,
query, query,
}); });
} }
/** /**
* Load an index from an archive * Load an index from an archive
* *
* @param {String} name - the name of the archive to load * @param {String} path - relative path to the archive to load, resolved relative to this.baseDir which defaults to REPO_ROOT
* @param {Object} options * @param {Object} options
* @property {Boolean} options.skipExisting - should existing indices * @property {Boolean} options.skipExisting - should existing indices
* be ignored or overwritten * be ignored or overwritten
* @property {Boolean} options.useCreate - use a create operation instead of index for documents * @property {Boolean} options.useCreate - use a create operation instead of index for documents
* @return Promise<Stats>
*/ */
async load( async load(
name: string, path: string,
{ {
skipExisting = false, skipExisting = false,
useCreate = false, useCreate = false,
}: { skipExisting?: boolean; useCreate?: boolean } = {} }: { skipExisting?: boolean; useCreate?: boolean } = {}
) { ) {
return await loadAction({ return await loadAction({
name, inputDir: this.findArchive(path),
skipExisting: !!skipExisting, skipExisting: !!skipExisting,
useCreate: !!useCreate, useCreate: !!useCreate,
client: this.client, client: this.client,
dataDir: this.dataDir,
log: this.log, log: this.log,
kbnClient: this.kbnClient, kbnClient: this.kbnClient,
}); });
} }
/** /**
* Remove the indexes in elasticsearch that have data in an archive. * Remove the indexes in elasticsearch that have data in an archive.
* *
* @param {String} name * @param {String} path - relative path to the archive to unload, resolved relative to this.baseDir which defaults to REPO_ROOT
* @return Promise<Stats>
*/ */
async unload(name: string) { async unload(path: string) {
return await unloadAction({ return await unloadAction({
name, inputDir: this.findArchive(path),
client: this.client, client: this.client,
dataDir: this.dataDir,
log: this.log, log: this.log,
kbnClient: this.kbnClient, kbnClient: this.kbnClient,
}); });
} }
/** /**
* Parse and reformat all of the archives. This is primarily helpful * Parse and reformat all of the archives. This is primarily helpful
* for working on the esArchiver. * for working on the esArchiver.
* *
* @return Promise<Stats> * @param {String} dir - relative path to a directory which contains archives, resolved relative to this.baseDir which defaults to REPO_ROOT
*/ */
async rebuildAll() { async rebuildAll(dir: string) {
return await rebuildAllAction({ return await rebuildAllAction({
dataDir: this.dataDir, dataDir: Path.resolve(this.baseDir, dir),
log: this.log, log: this.log,
}); });
} }
/** /**
* Extract the gzipped files in an archive, then call the handler. When it * Extract the gzipped files in an archive, then call the handler. When it
* resolves re-archive the gzipped files. * resolves re-archive the gzipped files.
* *
* @param {String} prefix optional prefix to limit archives that are extracted * @param {String} path optional prefix to limit archives that are extracted
* @param {() => Promise<any>} handler * @param {() => Promise<any>} handler
* @return Promise<void>
*/ */
async edit(prefix: string, handler: () => Promise<void>) { async edit(path: string, handler: () => Promise<void>) {
return await editAction({ return await editAction({
prefix, path: Path.resolve(this.baseDir, path),
log: this.log, log: this.log,
dataDir: this.dataDir,
handler, handler,
}); });
} }
/** /**
* Just like load, but skips any existing index * Just like load, but skips any existing index
* *
* @param {String} name * @param name
* @return Promise<Stats>
*/ */
async loadIfNeeded(name: string) { async loadIfNeeded(name: string) {
return await this.load(name, { skipExisting: true }); return await this.load(name, { skipExisting: true });
} }
/** /**
* Delete any Kibana indices, and initialize the Kibana index as Kibana would do * Delete any Kibana indices, and initialize the Kibana index as Kibana would do
* on startup. * on startup.
*
* @return Promise
*/ */
async emptyKibanaIndex() { async emptyKibanaIndex() {
return await emptyKibanaIndexAction({ return await emptyKibanaIndexAction({
@ -162,4 +154,33 @@ export class EsArchiver {
kbnClient: this.kbnClient, kbnClient: this.kbnClient,
}); });
} }
/**
* Resolve a path relative to the baseDir
*
* @param relativePath
*/
private findArchive(relativePath: string) {
const path = Path.resolve(this.baseDir, relativePath);
let stats;
try {
stats = Fs.statSync(path);
} catch (error) {
if (error.code === 'ENOENT') {
throw new Error(
`Attempt to reference an esArchive with relative path [${relativePath}] could not be resolved. This path was resolved relative to [${this.baseDir}].`
);
}
throw error;
}
if (stats.isDirectory()) {
return path;
}
throw new Error(
`Attempt to reference an esArchive with relative path [${relativePath}] resolved to a file instead of a directory containing data/mapping files. This path was resolved relative to [${this.baseDir}].`
);
}
} }

View file

@ -209,13 +209,6 @@ export const schema = Joi.object()
// definition of apps that work with `common.navigateToApp()` // definition of apps that work with `common.navigateToApp()`
apps: Joi.object().pattern(ID_PATTERN, appUrlPartsSchema()).default(), apps: Joi.object().pattern(ID_PATTERN, appUrlPartsSchema()).default(),
// settings for the esArchiver module
esArchiver: Joi.object()
.keys({
directory: Joi.string().default(defaultRelativeToConfigPath('fixtures/es_archiver')),
})
.default(),
// settings for the saved objects svc // settings for the saved objects svc
kbnArchiver: Joi.object() kbnArchiver: Joi.object()
.keys({ .keys({

View file

@ -792,8 +792,8 @@ To do that we'll write a Jest integration test using `TestUtils` to start
Kibana and esArchiver to load fixture data into Elasticsearch. Kibana and esArchiver to load fixture data into Elasticsearch.
1. Create the fixtures data you need in Elasticsearch 1. Create the fixtures data you need in Elasticsearch
2. Create a fixtures archive with `node scripts/es_archiver save <name> [index patterns...]` 2. Create a fixtures archive with `node scripts/es_archiver save <path> [index patterns...]`
3. Load the fixtures in your test using esArchiver `esArchiver.load('name')`; 3. Load the fixtures in your test using esArchiver `esArchiver.load('path from root of repo')`;
_todo: fully worked out example_ _todo: fully worked out example_

View file

@ -19,8 +19,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('Discover a11y tests', () => { describe('Discover a11y tests', () => {
before(async () => { before(async () => {
await esArchiver.load('discover'); await esArchiver.load('test/functional/fixtures/es_archiver/discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.update({ await kibanaServer.uiSettings.update({
defaultIndex: 'logstash-*', defaultIndex: 'logstash-*',
'doc_table:legacy': true, 'doc_table:legacy': true,
@ -30,7 +30,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
}); });
after(async () => { after(async () => {
await esArchiver.unload('logstash_functional'); await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional');
}); });
it('Discover main page', async () => { it('Discover main page', async () => {

View file

@ -16,8 +16,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('Management', () => { describe('Management', () => {
before(async () => { before(async () => {
await esArchiver.load('discover'); await esArchiver.load('test/functional/fixtures/es_archiver/discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.update({ await kibanaServer.uiSettings.update({
defaultIndex: 'logstash-*', defaultIndex: 'logstash-*',
}); });
@ -25,7 +25,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
}); });
after(async () => { after(async () => {
await esArchiver.unload('logstash_functional'); await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional');
}); });
it('main view', async () => { it('main view', async () => {

View file

@ -15,7 +15,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('Visualize', () => { describe('Visualize', () => {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('discover'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/discover');
await PageObjects.common.navigateToApp('visualize'); await PageObjects.common.navigateToApp('visualize');
}); });

View file

@ -27,12 +27,14 @@ export default function ({ getService }) {
let indexNotFoundError; let indexNotFoundError;
let docNotFoundError; let docNotFoundError;
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
indexNotFoundError = await getIndexNotFoundError(es); indexNotFoundError = await getIndexNotFoundError(es);
docNotFoundError = await getDocNotFoundError(es); docNotFoundError = await getDocNotFoundError(es);
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
}); });
describe('isEsIndexNotFoundError()', () => { describe('isEsIndexNotFoundError()', () => {

View file

@ -18,7 +18,7 @@ export default function ({ getService }: FtrProviderContext) {
let indexPattern: any; let indexPattern: any;
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
indexPattern = ( indexPattern = (
await supertest.post('/api/index_patterns/index_pattern').send({ await supertest.post('/api/index_patterns/index_pattern').send({
@ -30,7 +30,9 @@ export default function ({ getService }: FtrProviderContext) {
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
if (indexPattern) { if (indexPattern) {
await supertest.delete('/api/index_patterns/index_pattern/' + indexPattern.id); await supertest.delete('/api/index_patterns/index_pattern/' + indexPattern.id);

View file

@ -13,8 +13,12 @@ export default function ({ getService }) {
const esArchiver = getService('esArchiver'); const esArchiver = getService('esArchiver');
describe('pattern', () => { describe('pattern', () => {
before(() => esArchiver.load('index_patterns/daily_index')); before(() =>
after(() => esArchiver.unload('index_patterns/daily_index')); esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/daily_index')
);
after(() =>
esArchiver.unload('test/api_integration/fixtures/es_archiver/index_patterns/daily_index')
);
it('matches indices with compatible patterns', () => it('matches indices with compatible patterns', () =>
supertest supertest

View file

@ -13,8 +13,12 @@ export default function ({ getService }) {
const esArchiver = getService('esArchiver'); const esArchiver = getService('esArchiver');
describe('query params', () => { describe('query params', () => {
before(() => esArchiver.load('index_patterns/daily_index')); before(() =>
after(() => esArchiver.unload('index_patterns/daily_index')); esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/daily_index')
);
after(() =>
esArchiver.unload('test/api_integration/fixtures/es_archiver/index_patterns/daily_index')
);
it('requires `pattern` query param', () => it('requires `pattern` query param', () =>
supertest supertest

View file

@ -13,8 +13,12 @@ export default function ({ getService }) {
const esArchiver = getService('esArchiver'); const esArchiver = getService('esArchiver');
describe('conflicts', () => { describe('conflicts', () => {
before(() => esArchiver.load('index_patterns/conflicts')); before(() =>
after(() => esArchiver.unload('index_patterns/conflicts')); esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/conflicts')
);
after(() =>
esArchiver.unload('test/api_integration/fixtures/es_archiver/index_patterns/conflicts')
);
it('flags fields with mismatched types as conflicting', () => it('flags fields with mismatched types as conflicting', () =>
supertest supertest

View file

@ -12,8 +12,12 @@ export default function ({ getService }) {
const randomness = getService('randomness'); const randomness = getService('randomness');
describe('params', () => { describe('params', () => {
before(() => esArchiver.load('index_patterns/basic_index')); before(() =>
after(() => esArchiver.unload('index_patterns/basic_index')); esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index')
);
after(() =>
esArchiver.unload('test/api_integration/fixtures/es_archiver/index_patterns/basic_index')
);
it('requires a pattern query param', () => it('requires a pattern query param', () =>
supertest.get('/api/index_patterns/_fields_for_wildcard').query({}).expect(400)); supertest.get('/api/index_patterns/_fields_for_wildcard').query({}).expect(400));

View file

@ -67,8 +67,12 @@ export default function ({ getService }) {
]; ];
describe('fields_for_wildcard_route response', () => { describe('fields_for_wildcard_route response', () => {
before(() => esArchiver.load('index_patterns/basic_index')); before(() =>
after(() => esArchiver.unload('index_patterns/basic_index')); esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index')
);
after(() =>
esArchiver.unload('test/api_integration/fixtures/es_archiver/index_patterns/basic_index')
);
it('returns a flattened version of the fields in es', async () => { it('returns a flattened version of the fields in es', async () => {
await supertest await supertest

View file

@ -78,11 +78,15 @@ export default function ({ getService }: FtrProviderContext) {
describe('creating fields', () => { describe('creating fields', () => {
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
}); });
it('can specify optional fields attribute when creating an index pattern', async () => { it('can specify optional fields attribute when creating an index pattern', async () => {

View file

@ -15,11 +15,13 @@ export default function ({ getService }: FtrProviderContext) {
describe('main', () => { describe('main', () => {
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
}); });
it('can create a new scripted field', async () => { it('can create a new scripted field', async () => {

View file

@ -18,7 +18,7 @@ export default function ({ getService }: FtrProviderContext) {
let indexPattern: any; let indexPattern: any;
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
indexPattern = ( indexPattern = (
await supertest.post('/api/index_patterns/index_pattern').send({ await supertest.post('/api/index_patterns/index_pattern').send({
@ -30,7 +30,9 @@ export default function ({ getService }: FtrProviderContext) {
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
if (indexPattern) { if (indexPattern) {
await supertest.delete('/api/index_patterns/index_pattern/' + indexPattern.id); await supertest.delete('/api/index_patterns/index_pattern/' + indexPattern.id);

View file

@ -15,11 +15,13 @@ export default function ({ getService }: FtrProviderContext) {
describe('main', () => { describe('main', () => {
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
}); });
it('can remove a scripted field', async () => { it('can remove a scripted field', async () => {

View file

@ -18,7 +18,7 @@ export default function ({ getService }: FtrProviderContext) {
let indexPattern: any; let indexPattern: any;
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
indexPattern = ( indexPattern = (
await supertest.post('/api/index_patterns/index_pattern').send({ await supertest.post('/api/index_patterns/index_pattern').send({
@ -30,7 +30,9 @@ export default function ({ getService }: FtrProviderContext) {
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
if (indexPattern) { if (indexPattern) {
await supertest.delete('/api/index_patterns/index_pattern/' + indexPattern.id); await supertest.delete('/api/index_patterns/index_pattern/' + indexPattern.id);

View file

@ -15,11 +15,13 @@ export default function ({ getService }: FtrProviderContext) {
describe('main', () => { describe('main', () => {
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
}); });
it('can fetch a scripted field', async () => { it('can fetch a scripted field', async () => {

View file

@ -15,11 +15,13 @@ export default function ({ getService }: FtrProviderContext) {
describe('main', () => { describe('main', () => {
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
}); });
it('can overwrite an existing field', async () => { it('can overwrite an existing field', async () => {

View file

@ -15,11 +15,13 @@ export default function ({ getService }: FtrProviderContext) {
describe('main', () => { describe('main', () => {
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
}); });
it('can update an existing field', async () => { it('can update an existing field', async () => {

View file

@ -145,8 +145,14 @@ export default function ({ getService }: FtrProviderContext) {
}); });
describe('meta attributes injected properly', () => { describe('meta attributes injected properly', () => {
before(() => esArchiver.load('management/saved_objects/search')); before(() =>
after(() => esArchiver.unload('management/saved_objects/search')); esArchiver.load('test/api_integration/fixtures/es_archiver/management/saved_objects/search')
);
after(() =>
esArchiver.unload(
'test/api_integration/fixtures/es_archiver/management/saved_objects/search'
)
);
it('should inject meta attributes for searches', async () => it('should inject meta attributes for searches', async () =>
await supertest await supertest

View file

@ -19,10 +19,14 @@ export default function ({ getService }: FtrProviderContext) {
describe('scroll_count', () => { describe('scroll_count', () => {
before(async () => { before(async () => {
await esArchiver.load('management/saved_objects/scroll_count'); await esArchiver.load(
'test/api_integration/fixtures/es_archiver/management/saved_objects/scroll_count'
);
}); });
after(async () => { after(async () => {
await esArchiver.unload('management/saved_objects/scroll_count'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/management/saved_objects/scroll_count'
);
}); });
it('returns the count for each included types', async () => { it('returns the count for each included types', async () => {

View file

@ -193,13 +193,11 @@ export default function ({ getService }: FtrProviderContext) {
describe('painless', () => { describe('painless', () => {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded( await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
'../../../functional/fixtures/es_archiver/logstash_functional'
);
}); });
after(async () => { after(async () => {
await esArchiver.unload('../../../functional/fixtures/es_archiver/logstash_functional'); await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional');
}); });
it('should return 400 "search_phase_execution_exception" for Painless error in "es" strategy', async () => { it('should return 400 "search_phase_execution_exception" for Painless error in "es" strategy', async () => {
const resp = await supertest.post(`/internal/bsearch`).send({ const resp = await supertest.post(`/internal/bsearch`).send({

View file

@ -18,11 +18,11 @@ export default function ({ getService }: FtrProviderContext) {
describe('search', () => { describe('search', () => {
before(async () => { before(async () => {
await esArchiver.emptyKibanaIndex(); await esArchiver.emptyKibanaIndex();
await esArchiver.loadIfNeeded('../../../functional/fixtures/es_archiver/logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
}); });
after(async () => { after(async () => {
await esArchiver.unload('../../../functional/fixtures/es_archiver/logstash_functional'); await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional');
}); });
describe('post', () => { describe('post', () => {
it('should return 200 when correctly formatted searches are provided', async () => { it('should return 200 when correctly formatted searches are provided', async () => {

View file

@ -13,11 +13,13 @@ export default function ({ getService }) {
describe('Suggestions API', function () { describe('Suggestions API', function () {
before(async () => { before(async () => {
await esArchiver.load('index_patterns/basic_index'); await esArchiver.load('test/api_integration/fixtures/es_archiver/index_patterns/basic_index');
await kibanaServer.importExport.load('index_patterns/basic_kibana'); await kibanaServer.importExport.load('index_patterns/basic_kibana');
}); });
after(async () => { after(async () => {
await esArchiver.unload('index_patterns/basic_index'); await esArchiver.unload(
'test/api_integration/fixtures/es_archiver/index_patterns/basic_index'
);
await kibanaServer.importExport.unload('index_patterns/basic_kibana'); await kibanaServer.importExport.unload('index_patterns/basic_kibana');
}); });

View file

@ -19,15 +19,8 @@ export function EsArchiverProvider({ getService }: FtrProviderContext): EsArchiv
const kibanaServer = getService('kibanaServer'); const kibanaServer = getService('kibanaServer');
const retry = getService('retry'); const retry = getService('retry');
if (!config.get('esArchiver')) {
throw new Error(`esArchiver can't be used unless you specify it's config in your config file`);
}
const dataDir = config.get('esArchiver.directory');
const esArchiver = new EsArchiver({ const esArchiver = new EsArchiver({
client, client,
dataDir,
log, log,
kbnClient: kibanaServer, kbnClient: kibanaServer,
}); });

View file

@ -6,7 +6,7 @@
* Side Public License, v 1. * Side Public License, v 1.
*/ */
import path, { resolve } from 'path'; import { resolve } from 'path';
import { services } from '../plugin_functional/services'; import { services } from '../plugin_functional/services';
import fs from 'fs'; import fs from 'fs';
import { KIBANA_ROOT } from '@kbn/test'; import { KIBANA_ROOT } from '@kbn/test';
@ -47,9 +47,6 @@ export default async function ({ readConfigFile }) {
serverArgs: ['xpack.security.enabled=false'], serverArgs: ['xpack.security.enabled=false'],
}, },
apps: functionalConfig.get('apps'), apps: functionalConfig.get('apps'),
esArchiver: {
directory: path.resolve(__dirname, '../es_archives'),
},
screenshots: functionalConfig.get('screenshots'), screenshots: functionalConfig.get('screenshots'),
junit: { junit: {
reportName: 'Example plugin functional tests', reportName: 'Example plugin functional tests',

View file

@ -102,8 +102,10 @@ export default function ({ getService, getPageObjects }: PluginFunctionalProvide
describe('dashboard container', () => { describe('dashboard container', () => {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('../functional/fixtures/es_archiver/dashboard/current/data'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/dashboard/current/data');
await esArchiver.loadIfNeeded('../functional/fixtures/es_archiver/dashboard/current/kibana'); await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/dashboard/current/kibana'
);
await PageObjects.common.navigateToApp('dashboardEmbeddableExamples'); await PageObjects.common.navigateToApp('dashboardEmbeddableExamples');
await testSubjects.click('dashboardEmbeddableByValue'); await testSubjects.click('dashboardEmbeddableByValue');
await updateInput(JSON.stringify(testDashboardInput, null, 4)); await updateInput(JSON.stringify(testDashboardInput, null, 4));

View file

@ -22,7 +22,7 @@ export default function ({ getService, getPageObjects }) {
describe('context view for date_nanos', () => { describe('context view for date_nanos', () => {
before(async function () { before(async function () {
await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos']); await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos']);
await esArchiver.loadIfNeeded('date_nanos'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nanos');
await kibanaServer.uiSettings.replace({ defaultIndex: TEST_INDEX_PATTERN }); await kibanaServer.uiSettings.replace({ defaultIndex: TEST_INDEX_PATTERN });
await kibanaServer.uiSettings.update({ await kibanaServer.uiSettings.update({
'context:defaultSize': `${TEST_DEFAULT_CONTEXT_SIZE}`, 'context:defaultSize': `${TEST_DEFAULT_CONTEXT_SIZE}`,
@ -32,7 +32,7 @@ export default function ({ getService, getPageObjects }) {
after(async function unloadMakelogs() { after(async function unloadMakelogs() {
await security.testUser.restoreDefaults(); await security.testUser.restoreDefaults();
await esArchiver.unload('date_nanos'); await esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos');
}); });
it('displays predessors - anchor - successors in right order ', async function () { it('displays predessors - anchor - successors in right order ', async function () {

View file

@ -22,7 +22,7 @@ export default function ({ getService, getPageObjects }) {
describe('context view for date_nanos with custom timestamp', () => { describe('context view for date_nanos with custom timestamp', () => {
before(async function () { before(async function () {
await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos_custom']); await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos_custom']);
await esArchiver.loadIfNeeded('date_nanos_custom'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nanos_custom');
await kibanaServer.uiSettings.replace({ defaultIndex: TEST_INDEX_PATTERN }); await kibanaServer.uiSettings.replace({ defaultIndex: TEST_INDEX_PATTERN });
await kibanaServer.uiSettings.update({ await kibanaServer.uiSettings.update({
'context:defaultSize': `${TEST_DEFAULT_CONTEXT_SIZE}`, 'context:defaultSize': `${TEST_DEFAULT_CONTEXT_SIZE}`,
@ -43,7 +43,7 @@ export default function ({ getService, getPageObjects }) {
after(async function () { after(async function () {
await security.testUser.restoreDefaults(); await security.testUser.restoreDefaults();
await esArchiver.unload('date_nanos_custom'); await esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos_custom');
}); });
}); });
} }

View file

@ -17,14 +17,14 @@ export default function ({ getService, getPageObjects, loadTestFile }) {
before(async function () { before(async function () {
await browser.setWindowSize(1200, 800); await browser.setWindowSize(1200, 800);
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.load('visualize'); await esArchiver.load('test/functional/fixtures/es_archiver/visualize');
await kibanaServer.uiSettings.replace({ defaultIndex: 'logstash-*' }); await kibanaServer.uiSettings.replace({ defaultIndex: 'logstash-*' });
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');
}); });
after(function unloadMakelogs() { after(function unloadMakelogs() {
return esArchiver.unload('logstash_functional'); return esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional');
}); });
loadTestFile(require.resolve('./_context_navigation')); loadTestFile(require.resolve('./_context_navigation'));

View file

@ -40,7 +40,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard panel copy to', function viewEditModeTests() { describe('dashboard panel copy to', function viewEditModeTests() {
before(async function () { before(async function () {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -22,7 +22,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('create and add embeddables', () => { describe('create and add embeddables', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -17,7 +17,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard back button', () => { describe('dashboard back button', () => {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('dashboard/current/kibana'); await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -19,7 +19,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
*/ */
describe('dashboard error handling', () => { describe('dashboard error handling', () => {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('dashboard/current/kibana'); await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/dashboard/current/kibana'
);
await PageObjects.common.navigateToApp('dashboard'); await PageObjects.common.navigateToApp('dashboard');
}); });

View file

@ -31,7 +31,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard filter bar', () => { describe('dashboard filter bar', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -54,7 +54,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
}; };
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader', 'animals']); await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader', 'animals']);
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',

View file

@ -19,7 +19,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard grid', function () { describe('dashboard grid', function () {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -20,7 +20,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
let originalTitles: string[] = []; let originalTitles: string[] = [];
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -20,7 +20,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard query bar', () => { describe('dashboard query bar', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });
@ -30,7 +30,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
}); });
it('causes panels to reload when refresh is clicked', async () => { it('causes panels to reload when refresh is clicked', async () => {
await esArchiver.unload('dashboard/current/data'); await esArchiver.unload('test/functional/fixtures/es_archiver/dashboard/current/data');
await queryBar.clickQuerySubmitButton(); await queryBar.clickQuerySubmitButton();
await retry.tryForTime(5000, async () => { await retry.tryForTime(5000, async () => {

View file

@ -21,7 +21,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard saved queries', function describeIndexTests() { describe('dashboard saved queries', function describeIndexTests() {
before(async function () { before(async function () {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -25,7 +25,7 @@ export default function ({
describe('dashboard snapshots', function describeIndexTests() { describe('dashboard snapshots', function describeIndexTests() {
before(async function () { before(async function () {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -36,7 +36,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
}; };
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -23,7 +23,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
// FLAKY: https://github.com/elastic/kibana/issues/91191 // FLAKY: https://github.com/elastic/kibana/issues/91191
describe.skip('dashboard unsaved panels', () => { describe.skip('dashboard unsaved panels', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -21,7 +21,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
let originalPanelTitles: string[]; let originalPanelTitles: string[];
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -19,7 +19,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('edit embeddable redirects', () => { describe('edit embeddable redirects', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -44,7 +44,7 @@ export default function ({ getService, getPageObjects }) {
describe('edit visualizations from dashboard', () => { describe('edit visualizations from dashboard', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -28,7 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
]; ];
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -21,9 +21,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard embeddable data grid', () => { describe('dashboard embeddable data grid', () => {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.loadIfNeeded('dashboard/current/data'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/dashboard/current/data');
await esArchiver.loadIfNeeded('dashboard/current/kibana'); await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
'doc_table:legacy': false, 'doc_table:legacy': false,

View file

@ -21,7 +21,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('embeddable library', () => { describe('embeddable library', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -94,7 +94,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe.skip('dashboard embeddable rendering', function describeIndexTests() { describe.skip('dashboard embeddable rendering', function describeIndexTests() {
before(async () => { before(async () => {
await security.testUser.setRoles(['kibana_admin', 'animals', 'test_logstash_reader']); await security.testUser.setRoles(['kibana_admin', 'animals', 'test_logstash_reader']);
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -21,7 +21,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('empty dashboard', () => { describe('empty dashboard', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -20,7 +20,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('full screen mode', () => { describe('full screen mode', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -15,21 +15,21 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) {
async function loadCurrentData() { async function loadCurrentData() {
await browser.setWindowSize(1300, 900); await browser.setWindowSize(1300, 900);
await esArchiver.unload('logstash_functional'); await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.loadIfNeeded('dashboard/current/data'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/dashboard/current/data');
} }
async function unloadCurrentData() { async function unloadCurrentData() {
await esArchiver.unload('dashboard/current/data'); await esArchiver.unload('test/functional/fixtures/es_archiver/dashboard/current/data');
} }
async function loadLogstash() { async function loadLogstash() {
await browser.setWindowSize(1200, 900); await browser.setWindowSize(1200, 900);
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
} }
async function unloadLogstash() { async function unloadLogstash() {
await esArchiver.unload('logstash_functional'); await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional');
} }
describe('dashboard app', function () { describe('dashboard app', function () {

View file

@ -33,7 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('legacy urls', function describeIndexTests() { describe('legacy urls', function describeIndexTests() {
before(async function () { before(async function () {
await security.testUser.setRoles(['kibana_admin', 'animals']); await security.testUser.setRoles(['kibana_admin', 'animals']);
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await PageObjects.common.navigateToApp('dashboard'); await PageObjects.common.navigateToApp('dashboard');
await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.clickNewDashboard();
await dashboardAddPanel.addVisualization('Rendering-Test:-animal-sounds-pie'); await dashboardAddPanel.addVisualization('Rendering-Test:-animal-sounds-pie');

View file

@ -19,7 +19,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('expanding a panel', () => { describe('expanding a panel', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -19,9 +19,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard saved search embeddable', () => { describe('dashboard saved search embeddable', () => {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.loadIfNeeded('dashboard/current/data'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/dashboard/current/data');
await esArchiver.loadIfNeeded('dashboard/current/kibana'); await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -16,7 +16,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('share dashboard', () => { describe('share dashboard', () => {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -27,7 +27,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
this.tags('includeFirefox'); this.tags('includeFirefox');
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -39,7 +39,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
// FLAKY: https://github.com/elastic/kibana/issues/79463 // FLAKY: https://github.com/elastic/kibana/issues/79463
describe.skip('Changing field formatter to Url', () => { describe.skip('Changing field formatter to Url', () => {
before(async function () { before(async function () {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -21,7 +21,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('dashboard view edit mode', function viewEditModeTests() { describe('dashboard view edit mode', function viewEditModeTests() {
before(async () => { before(async () => {
await esArchiver.load('dashboard/current/kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
}); });

View file

@ -25,7 +25,7 @@ export default function ({
before(async function () { before(async function () {
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');
await PageObjects.timePicker.setDefaultAbsoluteRange(); await PageObjects.timePicker.setDefaultAbsoluteRange();

View file

@ -37,7 +37,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => { before(async () => {
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.uiSettings.update(defaultSettings); await kibanaServer.uiSettings.update(defaultSettings);
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');

View file

@ -21,8 +21,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('discover data grid doc link', function () { describe('discover data grid doc link', function () {
beforeEach(async function () { beforeEach(async function () {
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.loadIfNeeded('discover'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/discover');
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.uiSettings.update(defaultSettings); await kibanaServer.uiSettings.update(defaultSettings);
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');

View file

@ -29,7 +29,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
log.debug('load kibana index with default index pattern'); log.debug('load kibana index with default index pattern');
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');

View file

@ -24,7 +24,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async function () { before(async function () {
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.uiSettings.update(defaultSettings); await kibanaServer.uiSettings.update(defaultSettings);
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');

View file

@ -20,7 +20,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('date_nanos', function () { describe('date_nanos', function () {
before(async function () { before(async function () {
await esArchiver.loadIfNeeded('date_nanos'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nanos');
await kibanaServer.uiSettings.replace({ defaultIndex: 'date-nanos' }); await kibanaServer.uiSettings.replace({ defaultIndex: 'date-nanos' });
await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos']); await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos']);
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');
@ -29,7 +29,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
after(async function unloadMakelogs() { after(async function unloadMakelogs() {
await security.testUser.restoreDefaults(); await security.testUser.restoreDefaults();
await esArchiver.unload('date_nanos'); await esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos');
}); });
it('should show a timestamp with nanoseconds in the first result row', async function () { it('should show a timestamp with nanoseconds in the first result row', async function () {

View file

@ -20,7 +20,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('date_nanos_mixed', function () { describe('date_nanos_mixed', function () {
before(async function () { before(async function () {
await esArchiver.loadIfNeeded('date_nanos_mixed'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nanos_mixed');
await kibanaServer.uiSettings.replace({ defaultIndex: 'timestamp-*' }); await kibanaServer.uiSettings.replace({ defaultIndex: 'timestamp-*' });
await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos_mixed']); await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos_mixed']);
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');
@ -29,7 +29,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
after(async () => { after(async () => {
await security.testUser.restoreDefaults(); await security.testUser.restoreDefaults();
esArchiver.unload('date_nanos_mixed'); esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos_mixed');
}); });
it('shows a list of records of indices with date & date_nanos fields in the right order', async function () { it('shows a list of records of indices with date & date_nanos fields in the right order', async function () {

View file

@ -32,7 +32,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
// and load a set of makelogs data // and load a set of makelogs data
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');
await PageObjects.timePicker.setDefaultAbsoluteRange(); await PageObjects.timePicker.setDefaultAbsoluteRange();

View file

@ -24,7 +24,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
log.debug('load kibana index with default index pattern'); log.debug('load kibana index with default index pattern');
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
log.debug('discover'); log.debug('discover');
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');

View file

@ -25,16 +25,20 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('discover histogram', function describeIndexTests() { describe('discover histogram', function describeIndexTests() {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.load('long_window_logstash'); await esArchiver.load('test/functional/fixtures/es_archiver/long_window_logstash');
await esArchiver.load('long_window_logstash_index_pattern'); await esArchiver.load(
'test/functional/fixtures/es_archiver/long_window_logstash_index_pattern'
);
await security.testUser.setRoles(['kibana_admin', 'long_window_logstash']); await security.testUser.setRoles(['kibana_admin', 'long_window_logstash']);
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');
}); });
after(async () => { after(async () => {
await esArchiver.unload('long_window_logstash'); await esArchiver.unload('test/functional/fixtures/es_archiver/long_window_logstash');
await esArchiver.unload('long_window_logstash_index_pattern'); await esArchiver.unload(
'test/functional/fixtures/es_archiver/long_window_logstash_index_pattern'
);
await security.testUser.restoreDefaults(); await security.testUser.restoreDefaults();
}); });

View file

@ -21,8 +21,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('doc link in discover', function contextSize() { describe('doc link in discover', function contextSize() {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.loadIfNeeded('discover'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/discover');
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.uiSettings.update({ await kibanaServer.uiSettings.update({
'doc_table:legacy': true, 'doc_table:legacy': true,

View file

@ -33,7 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
// and load a set of makelogs data // and load a set of makelogs data
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
log.debug('discover doc table'); log.debug('discover doc table');

View file

@ -16,14 +16,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('errors', function describeIndexTests() { describe('errors', function describeIndexTests() {
before(async function () { before(async function () {
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.load('invalid_scripted_field'); await esArchiver.load('test/functional/fixtures/es_archiver/invalid_scripted_field');
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');
}); });
after(async function () { after(async function () {
await esArchiver.load('empty_kibana'); await esArchiver.load('test/functional/fixtures/es_archiver/empty_kibana');
}); });
describe('invalid scripted field error', () => { describe('invalid scripted field error', () => {

View file

@ -25,7 +25,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async function () { before(async function () {
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: 'logstash-*', defaultIndex: 'logstash-*',
'discover:searchFieldsFromSource': true, 'discover:searchFieldsFromSource': true,

View file

@ -25,7 +25,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async function () { before(async function () {
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: 'logstash-*', defaultIndex: 'logstash-*',
'discover:searchFieldsFromSource': false, 'discover:searchFieldsFromSource': false,

View file

@ -28,7 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
// and load a set of makelogs data // and load a set of makelogs data
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
log.debug('discover filter editor'); log.debug('discover filter editor');
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');

View file

@ -19,7 +19,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe.skip('test large number of fields in sidebar', function () { describe.skip('test large number of fields in sidebar', function () {
before(async function () { before(async function () {
await security.testUser.setRoles(['kibana_admin', 'test_testhuge_reader'], false); await security.testUser.setRoles(['kibana_admin', 'test_testhuge_reader'], false);
await esArchiver.loadIfNeeded('large_fields'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/large_fields');
await PageObjects.settings.navigateTo(); await PageObjects.settings.navigateTo();
await kibanaServer.uiSettings.update({ await kibanaServer.uiSettings.update({
'timepicker:timeDefaults': `{ "from": "2016-10-05T00:00:00", "to": "2016-10-06T00:00:00"}`, 'timepicker:timeDefaults': `{ "from": "2016-10-05T00:00:00", "to": "2016-10-06T00:00:00"}`,
@ -41,7 +41,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
after(async () => { after(async () => {
await security.testUser.restoreDefaults(); await security.testUser.restoreDefaults();
await esArchiver.unload('large_fields'); await esArchiver.unload('test/functional/fixtures/es_archiver/large_fields');
await kibanaServer.uiSettings.replace({}); await kibanaServer.uiSettings.replace({});
}); });
}); });

View file

@ -18,7 +18,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('index pattern with unmapped fields', () => { describe('index pattern with unmapped fields', () => {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('unmapped_fields'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/unmapped_fields');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: 'test-index-unmapped-fields', defaultIndex: 'test-index-unmapped-fields',
'discover:searchFieldsFromSource': false, 'discover:searchFieldsFromSource': false,
@ -31,7 +31,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
}); });
after(async () => { after(async () => {
await esArchiver.unload('unmapped_fields'); await esArchiver.unload('test/functional/fixtures/es_archiver/unmapped_fields');
}); });
it('unmapped fields exist on a new saved search', async () => { it('unmapped fields exist on a new saved search', async () => {

View file

@ -19,7 +19,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('indexpattern without timefield', () => { describe('indexpattern without timefield', () => {
before(async () => { before(async () => {
await security.testUser.setRoles(['kibana_admin', 'kibana_timefield']); await security.testUser.setRoles(['kibana_admin', 'kibana_timefield']);
await esArchiver.loadIfNeeded('index_pattern_without_timefield'); await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/index_pattern_without_timefield'
);
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: 'without-timefield', defaultIndex: 'without-timefield',
'timepicker:timeDefaults': '{ "from": "2019-01-18T19:37:13.000Z", "to": "now"}', 'timepicker:timeDefaults': '{ "from": "2019-01-18T19:37:13.000Z", "to": "now"}',
@ -31,7 +33,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await security.testUser.restoreDefaults(); await security.testUser.restoreDefaults();
await kibanaServer.uiSettings.unset('timepicker:timeDefaults'); await kibanaServer.uiSettings.unset('timepicker:timeDefaults');
await kibanaServer.uiSettings.unset('defaultIndex'); await kibanaServer.uiSettings.unset('defaultIndex');
await esArchiver.unload('index_pattern_without_timefield'); await esArchiver.unload(
'test/functional/fixtures/es_archiver/index_pattern_without_timefield'
);
}); });
it('should not display a timepicker', async () => { it('should not display a timepicker', async () => {

View file

@ -35,7 +35,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
// delete .kibana index and update configDoc // delete .kibana index and update configDoc
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: 'logstash-*', defaultIndex: 'logstash-*',

View file

@ -24,7 +24,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await security.testUser.setRoles(['kibana_admin', 'kibana_large_strings']); await security.testUser.setRoles(['kibana_admin', 'kibana_large_strings']);
await kibanaServer.importExport.load('testlargestring'); await kibanaServer.importExport.load('testlargestring');
await esArchiver.loadIfNeeded('hamlet'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/hamlet');
await kibanaServer.uiSettings.replace({ defaultIndex: 'testlargestring' }); await kibanaServer.uiSettings.replace({ defaultIndex: 'testlargestring' });
}); });
@ -68,7 +68,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
after(async () => { after(async () => {
await security.testUser.restoreDefaults(); await security.testUser.restoreDefaults();
await esArchiver.unload('hamlet'); await esArchiver.unload('test/functional/fixtures/es_archiver/hamlet');
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
}); });
}); });

View file

@ -33,8 +33,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('discover integration with runtime fields editor', function describeIndexTests() { describe('discover integration with runtime fields editor', function describeIndexTests() {
before(async function () { before(async function () {
await esArchiver.load('discover'); await esArchiver.load('test/functional/fixtures/es_archiver/discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
log.debug('discover'); log.debug('discover');
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');

View file

@ -33,7 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
// and load a set of makelogs data // and load a set of makelogs data
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace(defaultSettings); await kibanaServer.uiSettings.replace(defaultSettings);
log.debug('discover'); log.debug('discover');
await PageObjects.common.navigateToApp('discover'); await PageObjects.common.navigateToApp('discover');

View file

@ -39,7 +39,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
log.debug('load kibana index with default index pattern'); log.debug('load kibana index with default index pattern');
await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] });
await kibanaServer.importExport.load('discover'); await kibanaServer.importExport.load('discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
'state:storeInSessionStorage': storeStateInSessionStorage, 'state:storeInSessionStorage': storeStateInSessionStorage,

View file

@ -16,8 +16,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('discover sidebar', function describeIndexTests() { describe('discover sidebar', function describeIndexTests() {
before(async function () { before(async function () {
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await esArchiver.loadIfNeeded('discover'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/discover');
await kibanaServer.uiSettings.replace({ await kibanaServer.uiSettings.replace({
defaultIndex: 'logstash-*', defaultIndex: 'logstash-*',
}); });

View file

@ -24,10 +24,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
}); });
log.debug('load kibana index with default index pattern'); log.debug('load kibana index with default index pattern');
await esArchiver.load('visualize_source-filters'); await esArchiver.load('test/functional/fixtures/es_archiver/visualize_source-filters');
// and load a set of makelogs data // and load a set of makelogs data
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
await kibanaServer.uiSettings.update({ await kibanaServer.uiSettings.update({
'discover:searchFieldsFromSource': false, 'discover:searchFieldsFromSource': false,

View file

@ -20,7 +20,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) {
}); });
after(function unloadMakelogs() { after(function unloadMakelogs() {
return esArchiver.unload('logstash_functional'); return esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional');
}); });
loadTestFile(require.resolve('./_saved_queries')); loadTestFile(require.resolve('./_saved_queries'));

View file

@ -46,9 +46,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
); );
isNewChartsLibraryEnabled = await PageObjects.visChart.isNewChartsLibraryEnabled(); isNewChartsLibraryEnabled = await PageObjects.visChart.isNewChartsLibraryEnabled();
await security.testUser.setRoles(['kibana_admin', 'test_shakespeare_reader']); await security.testUser.setRoles(['kibana_admin', 'test_shakespeare_reader']);
await esArchiver.load('empty_kibana', { skipExisting: true }); await esArchiver.load('test/functional/fixtures/es_archiver/empty_kibana', {
skipExisting: true,
});
log.debug('Load shakespeare data'); log.debug('Load shakespeare data');
await esArchiver.loadIfNeeded('getting_started/shakespeare'); await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/getting_started/shakespeare'
);
if (isNewChartsLibraryEnabled) { if (isNewChartsLibraryEnabled) {
await kibanaServer.uiSettings.update({ await kibanaServer.uiSettings.update({

View file

@ -17,8 +17,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('Kibana browser back navigation should work', function describeIndexTests() { describe('Kibana browser back navigation should work', function describeIndexTests() {
before(async () => { before(async () => {
await esArchiver.loadIfNeeded('discover'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/discover');
await esArchiver.loadIfNeeded('logstash_functional'); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
}); });
it('detect navigate back issues', async () => { it('detect navigate back issues', async () => {

View file

@ -18,7 +18,7 @@ export default function ({ getService, getPageObjects }) {
before(async function () { before(async function () {
await browser.setWindowSize(1200, 800); await browser.setWindowSize(1200, 800);
await esArchiver.load('discover'); await esArchiver.load('test/functional/fixtures/es_archiver/discover');
await kibanaServer.uiSettings.replace({}); await kibanaServer.uiSettings.replace({});
await kibanaServer.uiSettings.update({}); await kibanaServer.uiSettings.update({});
}); });

Some files were not shown because too many files have changed in this diff Show more