test(core): Add tests for Prometheus metrics service (no-changelog) (#10050)

This commit is contained in:
Iván Ovejero
2024-07-15 12:16:27 +02:00
committed by GitHub
parent cd24c71a9e
commit b42f652f1b
5 changed files with 134 additions and 9 deletions

View File

@@ -4,7 +4,7 @@ import request from 'supertest';
import config from '@/config';
import { N8N_VERSION } from '@/constants';
import { MetricsService } from '@/services/metrics.service';
import { PrometheusMetricsService } from '@/metrics/prometheus-metrics.service';
import { ExecutionRecoveryService } from '@/executions/execution-recovery.service';
import { setupTestServer } from './shared/utils';
@@ -42,7 +42,7 @@ describe('Metrics', () => {
it('should return cache metrics when enabled', async () => {
config.set('endpoints.metrics.includeCacheMetrics', true);
await Container.get(MetricsService).configureMetrics(testServer.app);
await Container.get(PrometheusMetricsService).configureMetrics(testServer.app);
const lines = await getMetricsResponseAsLines();
expect(lines).toContain('n8n_test_cache_hits_total 0');
expect(lines).toContain('n8n_test_cache_misses_total 0');
@@ -67,7 +67,7 @@ describe('Metrics', () => {
it('should return default metrics', async () => {
config.set('endpoints.metrics.includeDefaultMetrics', true);
await Container.get(MetricsService).configureMetrics(testServer.app);
await Container.get(PrometheusMetricsService).configureMetrics(testServer.app);
const lines = await getMetricsResponseAsLines();
expect(lines).toContain('nodejs_heap_space_size_total_bytes{space="read_only"} 0');
config.set('endpoints.metrics.includeDefaultMetrics', false);
@@ -75,7 +75,7 @@ describe('Metrics', () => {
it('should not return default metrics only when disabled', async () => {
config.set('endpoints.metrics.includeDefaultMetrics', false);
await Container.get(MetricsService).configureMetrics(testServer.app);
await Container.get(PrometheusMetricsService).configureMetrics(testServer.app);
const lines = await getMetricsResponseAsLines();
expect(lines).not.toContain('nodejs_heap_space_size_total_bytes{space="read_only"} 0');
config.set('endpoints.metrics.includeDefaultMetrics', true);