UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

46 lines 1.74 kB
import { setupAppWithAuth, } from '../../helpers/test-helper.js'; import metricsExample from '../../../examples/client-metrics.json' with { type: 'json' }; import dbInit from '../../helpers/database-init.js'; import getLogger from '../../../fixtures/no-logger.js'; import { ApiTokenType } from '../../../../lib/types/model.js'; import { vi } from 'vitest'; let app; let db; beforeAll(async () => { db = await dbInit('metrics_api_e2e_access_client', getLogger); app = await setupAppWithAuth(db.stores, undefined, db.rawDatabase); }); 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.createApiTokenWithProjects({ type: ApiTokenType.CLIENT, tokenName: 'test', environment: 'some', projects: ['*'], }); const featureName = Object.keys(metricsExample.bucket.toggles)[0]; // @ts-expect-error - cachedFeatureNames is a private property in ClientMetricsServiceV2 app.services.clientMetricsServiceV2.cachedFeatureNames = vi .fn() .mockResolvedValue([featureName]); 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'); }); //# sourceMappingURL=metrics.access.e2e.test.js.map