mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[APM] Migrate service overview api test to apmApiClient (#125404)
* [APM] Migrate service overview api test to apmApiClient * Pass path values via path property
This commit is contained in:
parent
ae31eb883d
commit
4c31b157be
3 changed files with 70 additions and 50 deletions
|
@ -6,22 +6,22 @@
|
|||
*/
|
||||
import { take } from 'lodash';
|
||||
import { LatencyAggregationType } from '../../../../plugins/apm/common/latency_aggregation_types';
|
||||
import { ApmApiSupertest } from '../../common/apm_api_supertest';
|
||||
import { ApmServices } from '../../common/config';
|
||||
|
||||
export async function getServiceNodeIds({
|
||||
apmApiSupertest,
|
||||
apmApiClient,
|
||||
start,
|
||||
end,
|
||||
serviceName = 'opbeans-java',
|
||||
count = 1,
|
||||
}: {
|
||||
apmApiSupertest: ApmApiSupertest;
|
||||
apmApiClient: Awaited<ReturnType<ApmServices['apmApiClient']>>;
|
||||
start: string;
|
||||
end: string;
|
||||
serviceName?: string;
|
||||
count?: number;
|
||||
}) {
|
||||
const { body } = await apmApiSupertest({
|
||||
const { body } = await apmApiClient.readUser({
|
||||
endpoint: `GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics`,
|
||||
params: {
|
||||
path: { serviceName },
|
||||
|
|
|
@ -4,22 +4,19 @@
|
|||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
import url from 'url';
|
||||
import expect from '@kbn/expect';
|
||||
import { omit } from 'lodash';
|
||||
import { FtrProviderContext } from '../../common/ftr_provider_context';
|
||||
import archives from '../../common/fixtures/es_archiver/archives_metadata';
|
||||
import { APIReturnType } from '../../../../plugins/apm/public/services/rest/create_call_apm_api';
|
||||
import { getServiceNodeIds } from './get_service_node_ids';
|
||||
import { createApmApiClient } from '../../common/apm_api_supertest';
|
||||
|
||||
type ServiceOverviewInstanceDetails =
|
||||
APIReturnType<'GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}'>;
|
||||
|
||||
export default function ApiTest({ getService }: FtrProviderContext) {
|
||||
const registry = getService('registry');
|
||||
const supertest = getService('legacySupertestAsApmReadUser');
|
||||
const apmApiSupertest = createApmApiClient(supertest);
|
||||
const apmApiClient = getService('apmApiClient');
|
||||
|
||||
const archiveName = 'apm_8.0.0';
|
||||
const { start, end } = archives[archiveName];
|
||||
|
@ -30,16 +27,17 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
() => {
|
||||
describe('when data is not loaded', () => {
|
||||
it('handles empty state', async () => {
|
||||
const response = await supertest.get(
|
||||
url.format({
|
||||
pathname:
|
||||
'/internal/apm/services/opbeans-java/service_overview_instances/details/foo',
|
||||
const response = await apmApiClient.readUser({
|
||||
endpoint:
|
||||
'GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}',
|
||||
params: {
|
||||
path: { serviceName: 'opbeans-java', serviceNodeName: 'foo' },
|
||||
query: {
|
||||
start,
|
||||
end,
|
||||
},
|
||||
})
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
expect(response.status).to.be(200);
|
||||
expect(response.body).to.eql({});
|
||||
|
@ -62,16 +60,23 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
let serviceNodeIds: string[];
|
||||
|
||||
before(async () => {
|
||||
serviceNodeIds = await getServiceNodeIds({ apmApiSupertest, start, end });
|
||||
response = await supertest.get(
|
||||
url.format({
|
||||
pathname: `/internal/apm/services/opbeans-java/service_overview_instances/details/${serviceNodeIds[0]}`,
|
||||
serviceNodeIds = await getServiceNodeIds({
|
||||
apmApiClient,
|
||||
start,
|
||||
end,
|
||||
});
|
||||
|
||||
response = await apmApiClient.readUser({
|
||||
endpoint:
|
||||
'GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}',
|
||||
params: {
|
||||
path: { serviceName: 'opbeans-node', serviceNodeName: serviceNodeIds[0] },
|
||||
query: {
|
||||
start,
|
||||
end,
|
||||
},
|
||||
})
|
||||
);
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('returns the instance details', () => {
|
||||
|
@ -90,15 +95,17 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
{ config: 'basic', archives: [archiveName] },
|
||||
() => {
|
||||
it('handles empty state when instance id not found', async () => {
|
||||
const response = await supertest.get(
|
||||
url.format({
|
||||
pathname: '/internal/apm/services/opbeans-java/service_overview_instances/details/foo',
|
||||
const response = await apmApiClient.readUser({
|
||||
endpoint:
|
||||
'GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}',
|
||||
params: {
|
||||
path: { serviceName: 'opbeans-java', serviceNodeName: 'foo' },
|
||||
query: {
|
||||
start,
|
||||
end,
|
||||
},
|
||||
})
|
||||
);
|
||||
},
|
||||
});
|
||||
expect(response.status).to.be(200);
|
||||
expect(response.body).to.eql({});
|
||||
});
|
||||
|
|
|
@ -6,21 +6,20 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import url from 'url';
|
||||
import moment from 'moment';
|
||||
import { Coordinate } from '../../../../plugins/apm/typings/timeseries';
|
||||
import { LatencyAggregationType } from '../../../../plugins/apm/common/latency_aggregation_types';
|
||||
import { isFiniteNumber } from '../../../../plugins/apm/common/utils/is_finite_number';
|
||||
import { APIReturnType } from '../../../../plugins/apm/public/services/rest/create_call_apm_api';
|
||||
import { FtrProviderContext } from '../../common/ftr_provider_context';
|
||||
import archives from '../../common/fixtures/es_archiver/archives_metadata';
|
||||
import { createApmApiClient } from '../../common/apm_api_supertest';
|
||||
import { getServiceNodeIds } from './get_service_node_ids';
|
||||
|
||||
export default function ApiTest({ getService }: FtrProviderContext) {
|
||||
const registry = getService('registry');
|
||||
const supertest = getService('legacySupertestAsApmReadUser');
|
||||
const apmApiSupertest = createApmApiClient(supertest);
|
||||
const apmApiClient = getService('apmApiClient');
|
||||
|
||||
const serviceName = 'opbeans-java';
|
||||
const archiveName = 'apm_8.0.0';
|
||||
const { start, end } = archives[archiveName];
|
||||
|
||||
|
@ -35,23 +34,25 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
() => {
|
||||
describe('when data is not loaded', () => {
|
||||
it('handles the empty state', async () => {
|
||||
const response: Response = await supertest.get(
|
||||
url.format({
|
||||
pathname: `/internal/apm/services/opbeans-java/service_overview_instances/detailed_statistics`,
|
||||
const response = await apmApiClient.readUser({
|
||||
endpoint:
|
||||
'GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics',
|
||||
params: {
|
||||
path: { serviceName },
|
||||
query: {
|
||||
latencyAggregationType: 'avg',
|
||||
latencyAggregationType: LatencyAggregationType.avg,
|
||||
start,
|
||||
end,
|
||||
numBuckets: 20,
|
||||
transactionType: 'request',
|
||||
serviceNodeIds: JSON.stringify(
|
||||
await getServiceNodeIds({ apmApiSupertest, start, end })
|
||||
await getServiceNodeIds({ apmApiClient, start, end })
|
||||
),
|
||||
environment: 'ENVIRONMENT_ALL',
|
||||
kuery: '',
|
||||
},
|
||||
})
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
expect(response.status).to.be(200);
|
||||
expect(response.body).to.be.eql({ currentPeriod: {}, previousPeriod: {} });
|
||||
|
@ -69,15 +70,21 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
let serviceNodeIds: string[];
|
||||
|
||||
beforeEach(async () => {
|
||||
serviceNodeIds = await getServiceNodeIds({ apmApiSupertest, start, end });
|
||||
serviceNodeIds = await getServiceNodeIds({
|
||||
apmApiClient,
|
||||
start,
|
||||
end,
|
||||
});
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
response = await supertest.get(
|
||||
url.format({
|
||||
pathname: `/internal/apm/services/opbeans-java/service_overview_instances/detailed_statistics`,
|
||||
response = await apmApiClient.readUser({
|
||||
endpoint:
|
||||
'GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics',
|
||||
params: {
|
||||
path: { serviceName },
|
||||
query: {
|
||||
latencyAggregationType: 'avg',
|
||||
latencyAggregationType: LatencyAggregationType.avg,
|
||||
start,
|
||||
end,
|
||||
numBuckets: 20,
|
||||
|
@ -86,8 +93,8 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
environment: 'ENVIRONMENT_ALL',
|
||||
kuery: '',
|
||||
},
|
||||
})
|
||||
);
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('returns a service node item', () => {
|
||||
|
@ -123,15 +130,21 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
let serviceNodeIds: string[];
|
||||
|
||||
beforeEach(async () => {
|
||||
serviceNodeIds = await getServiceNodeIds({ apmApiSupertest, start, end });
|
||||
serviceNodeIds = await getServiceNodeIds({
|
||||
apmApiClient,
|
||||
start,
|
||||
end,
|
||||
});
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
response = await supertest.get(
|
||||
url.format({
|
||||
pathname: `/internal/apm/services/opbeans-java/service_overview_instances/detailed_statistics`,
|
||||
response = await apmApiClient.readUser({
|
||||
endpoint:
|
||||
'GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics',
|
||||
params: {
|
||||
path: { serviceName },
|
||||
query: {
|
||||
latencyAggregationType: 'avg',
|
||||
latencyAggregationType: LatencyAggregationType.avg,
|
||||
numBuckets: 20,
|
||||
transactionType: 'request',
|
||||
serviceNodeIds: JSON.stringify(serviceNodeIds),
|
||||
|
@ -142,8 +155,8 @@ export default function ApiTest({ getService }: FtrProviderContext) {
|
|||
environment: 'ENVIRONMENT_ALL',
|
||||
kuery: '',
|
||||
},
|
||||
})
|
||||
);
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('returns a service node item for current and previous periods', () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue