1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-04-15 01:16:22 +02:00
unleash.unleash/src/test/e2e/api/client/metrics.e2e.access.e2e.test.ts
olav d2999d816d
refactor: batch feature metric inserts (#1928)
* refactor: batch feature metric inserts

* fix: use startOfHour when collapsing metrics

* refactor: avoid extra loop to sum yes/no values

* refactor: add experimental flag for batching metrics
2022-08-19 10:38:26 +02:00

46 lines
1.3 KiB
TypeScript

import { IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper';
import metricsExample from '../../../examples/client-metrics.json';
import dbInit, { ITestDb } from '../../helpers/database-init';
import getLogger from '../../../fixtures/no-logger';
import { ApiTokenType } from '../../../../lib/types/models/api-token';
let app: IUnleashTest;
let db: ITestDb;
beforeAll(async () => {
db = await dbInit('metrics_api_e2e_access_client', getLogger);
app = await setupAppWithAuth(db.stores);
});
afterAll(async () => {
await app.destroy();
await db.destroy();
});
test('should enrich metrics with environment from api-token', async () => {
const { apiTokenService } = app.services;
const { environmentStore, clientMetricsStoreV2 } = db.stores;
await environmentStore.create({
name: 'some',
type: 'test',
});
const token = await apiTokenService.createApiToken({
type: ApiTokenType.CLIENT,
username: 'test',
environment: 'some',
project: '*',
});
await app.request
.post('/api/client/metrics')
.set('Authorization', token.secret)
.send(metricsExample)
.expect(202);
await app.services.clientMetricsServiceV2.bulkAdd();
const all = await clientMetricsStoreV2.getAll();
expect(all[0].environment).toBe('some');
});