From 7767af1179b6ca041f120d30b13e7e14b878988a Mon Sep 17 00:00:00 2001 From: ismail simsek Date: Wed, 28 May 2025 11:15:42 +0200 Subject: [PATCH] update tests --- .../src/language_provider.test.ts | 37 +++++-------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/packages/grafana-prometheus/src/language_provider.test.ts b/packages/grafana-prometheus/src/language_provider.test.ts index 272a3337f59..df14a811b81 100644 --- a/packages/grafana-prometheus/src/language_provider.test.ts +++ b/packages/grafana-prometheus/src/language_provider.test.ts @@ -729,7 +729,7 @@ describe('PrometheusLanguageProvider with feature toggle', () => { describe('constructor', () => { it('should initialize with SeriesApiClient when labels match API is not supported', () => { - const provider = new PrometheusLanguageProvider(defaultDatasource, true); + const provider = new PrometheusLanguageProvider(defaultDatasource); expect(provider).toBeInstanceOf(PrometheusLanguageProvider); }); @@ -738,7 +738,7 @@ describe('PrometheusLanguageProvider with feature toggle', () => { ...defaultDatasource, hasLabelsMatchAPISupport: () => true, } as unknown as PrometheusDatasource; - const provider = new PrometheusLanguageProvider(datasourceWithLabelsAPI, true); + const provider = new PrometheusLanguageProvider(datasourceWithLabelsAPI); expect(provider).toBeInstanceOf(PrometheusLanguageProvider); }); }); @@ -749,13 +749,13 @@ describe('PrometheusLanguageProvider with feature toggle', () => { ...defaultDatasource, lookupsDisabled: true, } as unknown as PrometheusDatasource; - const provider = new PrometheusLanguageProvider(datasourceWithLookupsDisabled, true); + const provider = new PrometheusLanguageProvider(datasourceWithLookupsDisabled); const result = await provider.start(); expect(result).toEqual([]); }); - it('should use resource client start when feature toggle is enabled', async () => { - const provider = new PrometheusLanguageProvider(defaultDatasource, true); + it('should use resource client and metricsMetadata is available', async () => { + const provider = new PrometheusLanguageProvider(defaultDatasource); const mockMetadata = { metric1: { type: 'counter', help: 'help text' } }; // Mock the resource client's start method @@ -767,30 +767,13 @@ describe('PrometheusLanguageProvider with feature toggle', () => { expect(resourceClientStartSpy).toHaveBeenCalled(); expect(queryMetadataSpy).toHaveBeenCalled(); expect(provider.retrieveMetricsMetadata()).toEqual(mockMetadata); - }); - - it('should use legacy API path when feature toggle is disabled', async () => { - const provider = new PrometheusLanguageProvider(defaultDatasource, false); - const metrics = ['metric1', 'metric2']; - - // Mock the legacy methods - const fetchLabelValuesSpy = jest.spyOn(provider, 'fetchLabelValues').mockResolvedValue(metrics); - const loadMetricsMetadataSpy = jest.spyOn(provider, 'loadMetricsMetadata').mockResolvedValue(); - const fetchLabelsSpy = jest.spyOn(provider, 'fetchLabels').mockResolvedValue(['label1', 'label2']); - - await provider.start(); - - expect(fetchLabelValuesSpy).toHaveBeenCalledWith(expect.any(Object), '__name__'); - expect(loadMetricsMetadataSpy).toHaveBeenCalled(); - expect(fetchLabelsSpy).toHaveBeenCalled(); - expect(provider.metrics).toEqual(metrics); - expect(provider.histogramMetrics).toEqual(metrics); + expect(provider.metricsMetadata).toEqual(mockMetadata); }); }); describe('queryMetricsMetadata', () => { it('should fetch and store metadata', async () => { - const provider = new PrometheusLanguageProvider(defaultDatasource, true); + const provider = new PrometheusLanguageProvider(defaultDatasource); const mockMetadata = { metric1: { type: 'counter', help: 'help text' } }; const queryMetadataSpy = jest.spyOn(provider as any, '_queryMetadata').mockResolvedValue(mockMetadata); @@ -807,7 +790,7 @@ describe('PrometheusLanguageProvider with feature toggle', () => { const timeRange = getMockTimeRange(); it('should delegate to resource client queryLabelKeys', async () => { - const provider = new PrometheusLanguageProvider(defaultDatasource, true); + const provider = new PrometheusLanguageProvider(defaultDatasource); const resourceClientSpy = jest .spyOn(provider['_resourceClient'], 'queryLabelKeys') .mockResolvedValue(['label1', 'label2']); @@ -819,7 +802,7 @@ describe('PrometheusLanguageProvider with feature toggle', () => { }); it('should delegate to resource client queryLabelValues', async () => { - const provider = new PrometheusLanguageProvider(defaultDatasource, true); + const provider = new PrometheusLanguageProvider(defaultDatasource); const resourceClientSpy = jest .spyOn(provider['_resourceClient'], 'queryLabelValues') .mockResolvedValue(['value1', 'value2']); @@ -833,7 +816,7 @@ describe('PrometheusLanguageProvider with feature toggle', () => { describe('retrieveMethods', () => { it('should delegate to resource client for metrics and labels', () => { - const provider = new PrometheusLanguageProvider(defaultDatasource, true); + const provider = new PrometheusLanguageProvider(defaultDatasource); const mockResourceClient = { histogramMetrics: ['histogram1', 'histogram2'], metrics: ['metric1', 'metric2'],