feat: Add active workflow triggers metric (no-changelog) (#11398)

This commit is contained in:
Marc Littlemore
2024-10-24 17:27:56 +01:00
committed by GitHub
parent 5341ed228d
commit 8201d322dd
10 changed files with 63 additions and 23 deletions

View File

@@ -6,11 +6,14 @@ import { LicenseMetricsService } from '@/metrics/license-metrics.service';
describe('LicenseMetricsService', () => {
const workflowRepository = mock<WorkflowRepository>();
const licenseMetricsRespository = mock<LicenseMetricsRepository>();
const licenseMetricsService = new LicenseMetricsService(
mock<LicenseMetricsRepository>(),
licenseMetricsRespository,
workflowRepository,
);
beforeEach(() => jest.clearAllMocks());
describe('collectPassthroughData', () => {
test('should return an object with active workflow IDs', async () => {
/**
@@ -30,4 +33,36 @@ describe('LicenseMetricsService', () => {
expect(result).toEqual({ activeWorkflowIds });
});
});
describe('collectUsageMetrics', () => {
test('should return an array of expected usage metrics', async () => {
const mockActiveTriggerCount = 1234;
workflowRepository.getActiveTriggerCount.mockResolvedValue(mockActiveTriggerCount);
const mockRenewalMetrics = {
activeWorkflows: 100,
totalWorkflows: 200,
enabledUsers: 300,
totalUsers: 400,
totalCredentials: 500,
productionExecutions: 600,
manualExecutions: 700,
};
licenseMetricsRespository.getLicenseRenewalMetrics.mockResolvedValue(mockRenewalMetrics);
const result = await licenseMetricsService.collectUsageMetrics();
expect(result).toEqual([
{ name: 'activeWorkflows', value: mockRenewalMetrics.activeWorkflows },
{ name: 'totalWorkflows', value: mockRenewalMetrics.totalWorkflows },
{ name: 'enabledUsers', value: mockRenewalMetrics.enabledUsers },
{ name: 'totalUsers', value: mockRenewalMetrics.totalUsers },
{ name: 'totalCredentials', value: mockRenewalMetrics.totalCredentials },
{ name: 'productionExecutions', value: mockRenewalMetrics.productionExecutions },
{ name: 'manualExecutions', value: mockRenewalMetrics.manualExecutions },
{ name: 'activeWorkflowTriggers', value: mockActiveTriggerCount },
]);
});
});
});