mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[Alerting] Track fields usage in find api (#112096)
* Track fields usage * Add test * Add missing change
This commit is contained in:
parent
6c73b2ad2f
commit
49977b2e4b
4 changed files with 79 additions and 2 deletions
|
@ -4,7 +4,7 @@
|
|||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { usageCountersServiceMock } from 'src/plugins/usage_collection/server/usage_counters/usage_counters_service.mock';
|
||||
import { findRulesRoute } from './find_rules';
|
||||
import { httpServiceMock } from 'src/core/server/mocks';
|
||||
import { licenseStateMock } from '../lib/license_state.mock';
|
||||
|
@ -12,7 +12,6 @@ import { verifyApiAccess } from '../lib/license_api_access';
|
|||
import { mockHandlerArguments } from './_mock_handler_arguments';
|
||||
import { rulesClientMock } from '../rules_client.mock';
|
||||
import { trackLegacyTerminology } from './lib/track_legacy_terminology';
|
||||
import { usageCountersServiceMock } from 'src/plugins/usage_collection/server/usage_counters/usage_counters_service.mock';
|
||||
|
||||
const rulesClient = rulesClientMock.create();
|
||||
const mockUsageCountersSetup = usageCountersServiceMock.createSetupContract();
|
||||
|
@ -187,4 +186,40 @@ describe('findRulesRoute', () => {
|
|||
'alertTypeId',
|
||||
]);
|
||||
});
|
||||
|
||||
it('should track calls to deprecated functionality', async () => {
|
||||
const licenseState = licenseStateMock.create();
|
||||
const router = httpServiceMock.createRouter();
|
||||
|
||||
findRulesRoute(router, licenseState, mockUsageCounter);
|
||||
|
||||
const findResult = {
|
||||
page: 1,
|
||||
perPage: 1,
|
||||
total: 0,
|
||||
data: [],
|
||||
};
|
||||
rulesClient.find.mockResolvedValueOnce(findResult);
|
||||
|
||||
const [, handler] = router.get.mock.calls[0];
|
||||
const [context, req, res] = mockHandlerArguments(
|
||||
{ rulesClient },
|
||||
{
|
||||
params: {},
|
||||
query: {
|
||||
fields: ['foo', 'bar'],
|
||||
per_page: 1,
|
||||
page: 1,
|
||||
default_search_operator: 'OR',
|
||||
},
|
||||
},
|
||||
['ok']
|
||||
);
|
||||
await handler(context, req, res);
|
||||
expect(mockUsageCounter.incrementCounter).toHaveBeenCalledWith({
|
||||
counterName: `alertingFieldsUsage`,
|
||||
counterType: 'alertingFieldsUsage',
|
||||
incrementBy: 1,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -136,6 +136,14 @@ export const findRulesRoute = (
|
|||
search_fields: searchFieldsAsArray(req.query.search_fields),
|
||||
});
|
||||
|
||||
if (req.query.fields) {
|
||||
usageCounter?.incrementCounter({
|
||||
counterName: `alertingFieldsUsage`,
|
||||
counterType: 'alertingFieldsUsage',
|
||||
incrementBy: 1,
|
||||
});
|
||||
}
|
||||
|
||||
const findResult = await rulesClient.find({ options });
|
||||
return res.ok({
|
||||
body: rewriteBodyRes(findResult),
|
||||
|
|
|
@ -194,4 +194,30 @@ describe('findAlertRoute', () => {
|
|||
'alertTypeId',
|
||||
]);
|
||||
});
|
||||
|
||||
it('should track calls to deprecated functionality', async () => {
|
||||
const licenseState = licenseStateMock.create();
|
||||
const router = httpServiceMock.createRouter();
|
||||
const mockUsageCountersSetup = usageCountersServiceMock.createSetupContract();
|
||||
const mockUsageCounter = mockUsageCountersSetup.createUsageCounter('test');
|
||||
|
||||
findAlertRoute(router, licenseState, mockUsageCounter);
|
||||
const [, handler] = router.get.mock.calls[0];
|
||||
const [context, req, res] = mockHandlerArguments(
|
||||
{ rulesClient },
|
||||
{
|
||||
params: {},
|
||||
query: {
|
||||
fields: ['foo', 'bar'],
|
||||
},
|
||||
},
|
||||
['ok']
|
||||
);
|
||||
await handler(context, req, res);
|
||||
expect(mockUsageCounter.incrementCounter).toHaveBeenCalledWith({
|
||||
counterName: `legacyAlertingFieldsUsage`,
|
||||
counterType: 'alertingFieldsUsage',
|
||||
incrementBy: 1,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -89,6 +89,14 @@ export const findAlertRoute = (
|
|||
: [query.search_fields];
|
||||
}
|
||||
|
||||
if (query.fields) {
|
||||
usageCounter?.incrementCounter({
|
||||
counterName: `legacyAlertingFieldsUsage`,
|
||||
counterType: 'alertingFieldsUsage',
|
||||
incrementBy: 1,
|
||||
});
|
||||
}
|
||||
|
||||
const findResult = await rulesClient.find({ options });
|
||||
return res.ok({
|
||||
body: findResult,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue