kibana/test/api_integration/services/supertest.ts
Robert Oskamp 1dccab352a
Functional tests - Add esSupertest support for SSL (#90425) (#90755)
This PR allows the functional test service esSupertest to work correctly in environments that have ES SSL enabled in the Kibana server configuration.
2021-02-09 14:34:01 +01:00

33 lines
1.3 KiB
TypeScript

/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import { FtrProviderContext } from 'test/functional/ftr_provider_context';
import { format as formatUrl } from 'url';
import supertestAsPromised from 'supertest-as-promised';
export function KibanaSupertestProvider({ getService }: FtrProviderContext) {
const config = getService('config');
const kibanaServerUrl = formatUrl(config.get('servers.kibana'));
return supertestAsPromised(kibanaServerUrl);
}
export function ElasticsearchSupertestProvider({ getService }: FtrProviderContext) {
const config = getService('config');
const esServerConfig = config.get('servers.elasticsearch');
const elasticSearchServerUrl = formatUrl(esServerConfig);
let agentOptions = {};
if ('certificateAuthorities' in esServerConfig) {
agentOptions = { ca: esServerConfig!.certificateAuthorities };
}
// @ts-ignore - supertestAsPromised doesn't like the agentOptions, but still passes it correctly to supertest
return supertestAsPromised.agent(elasticSearchServerUrl, agentOptions);
}