本文整理匯總了TypeScript中@kbn/test.createEsTestCluster函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript createEsTestCluster函數的具體用法?TypeScript createEsTestCluster怎麽用?TypeScript createEsTestCluster使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了createEsTestCluster函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: startTestServers
export async function startTestServers({
adjustTimeout,
settings = {},
}: {
adjustTimeout: (timeout: number) => void;
settings: Record<string, any>;
}) {
if (!adjustTimeout) {
throw new Error('adjustTimeout is required in order to avoid flaky tests');
}
const log = new ToolingLog({
level: 'debug',
writeTo: process.stdout,
});
log.indent(6);
log.info('starting elasticsearch');
log.indent(4);
const es = createEsTestCluster({ log });
log.indent(-4);
adjustTimeout(es.getStartTimeout());
await es.start();
const root = createRootWithCorePlugins(settings);
await root.start();
const kbnServer = getKbnServer(root);
await kbnServer.server.plugins.elasticsearch.waitUntilReady();
return {
kbnServer,
root,
es,
async stop() {
await root.shutdown();
await es.cleanup();
},
};
}
示例2: startTestServers
export async function startTestServers({
adjustTimeout,
settings = {},
}: {
adjustTimeout: (timeout: number) => void;
settings: {
es?: {
license: 'oss' | 'basic' | 'gold' | 'trial';
[key: string]: any;
};
kbn?: {
/**
* An array of directories paths, passed in via absolute path strings
*/
plugins?: {
paths: string[];
[key: string]: any;
};
[key: string]: any;
};
/**
* Users passed in via this prop are created in ES in adition to the standard elastic and kibana users.
* Note, this prop is ignored when using an oss, or basic license
*/
users?: Array<{ username: string; password: string; roles: string[] }>;
};
}) {
if (!adjustTimeout) {
throw new Error('adjustTimeout is required in order to avoid flaky tests');
}
const license = get<'oss' | 'basic' | 'gold' | 'trial'>(settings, 'es.license', 'oss');
const usersToBeAdded = get(settings, 'users', []);
if (usersToBeAdded.length > 0) {
if (license !== 'trial') {
throw new Error(
'Adding users is only supported by startTestServers when using a trial license'
);
}
}
const log = new ToolingLog({
level: 'debug',
writeTo: process.stdout,
});
log.indent(6);
log.info('starting elasticsearch');
log.indent(4);
const es = createEsTestCluster(
defaultsDeep({}, get(settings, 'es', {}), {
log,
license,
password: license === 'trial' ? DEFAULT_SUPERUSER_PASS : undefined,
})
);
log.indent(-4);
// Add time for KBN and adding users
adjustTimeout(es.getStartTimeout() + 100000);
await es.start();
const kbnSettings: any = get(settings, 'kbn', {});
if (['gold', 'trial'].includes(license)) {
await setupUsers(log, esTestConfig.getUrlParts().port, [
...usersToBeAdded,
// user elastic
esTestConfig.getUrlParts(),
// user kibana
kbnTestConfig.getUrlParts(),
]);
// Override provided configs, we know what the elastic user is now
kbnSettings.elasticsearch = {
hosts: [esTestConfig.getUrl()],
username: esTestConfig.getUrlParts().username,
password: esTestConfig.getUrlParts().password,
};
}
const root = createRootWithCorePlugins(kbnSettings);
await root.setup();
await root.start();
const kbnServer = getKbnServer(root);
await kbnServer.server.plugins.elasticsearch.waitUntilReady();
return {
kbnServer,
root,
es,
async stop() {
await root.shutdown();
await es.cleanup();
},
};
//.........這裏部分代碼省略.........
示例3: createEsTestCluster
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
// file.skip
// @ts-ignore
import { createEsTestCluster } from '@kbn/test';
import { Root } from 'src/core/server/root';
// @ts-ignore
import * as kbnTestServer from '../../../../../../../../src/test_utils/kbn_server';
import { DatabaseKbnESPlugin } from '../adapter_types';
import { KibanaDatabaseAdapter } from '../kibana_database_adapter';
import { contractTests } from './test_contract';
const es = createEsTestCluster({});
let legacyServer: any;
let rootServer: Root;
contractTests('Kibana Database Adapter', {
before: async () => {
await es.start();
rootServer = kbnTestServer.createRootWithCorePlugins({
server: { maxPayloadBytes: 100 },
});
await rootServer.start();
legacyServer = kbnTestServer.getKbnServer(rootServer);
return await legacyServer.plugins.elasticsearch.waitUntilReady();
},