From 45f157e5db304cf82e40557cd19e517e07f78dc1 Mon Sep 17 00:00:00 2001 From: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> Date: Fri, 5 Jan 2024 16:54:46 +0100 Subject: [PATCH] Loki: Fix import of escapeLabelValueInExactSelector to be from Loki (#80063) * Loki: Fix import of escapeLabelValueInExactSelector to be from Loki * Add test * Update test nane --- .../CompletionDataProvider.test.ts | 7 +++++++ .../monaco-completion-provider/CompletionDataProvider.ts | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.test.ts b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.test.ts index c11caa9d44d..f406e91a701 100644 --- a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.test.ts +++ b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.test.ts @@ -182,4 +182,11 @@ describe('CompletionDataProvider', () => { test('Returns the expected series labels', async () => { expect(await completionProvider.getSeriesLabels([])).toEqual(seriesLabels); }); + + test('Escapes correct characters when building stream selector in getSeriesLabels', async () => { + completionProvider.getSeriesLabels([{ name: 'job', op: '=', value: '"a\\b\n' }]); + expect(languageProvider.fetchSeriesLabels).toHaveBeenCalledWith('{job="\\"a\\\\b\\n"}', { + timeRange: mockTimeRange, + }); + }); }); diff --git a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts index 83bb111de1f..f982d524855 100644 --- a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts +++ b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts @@ -1,9 +1,9 @@ import { chain } from 'lodash'; import { HistoryItem, TimeRange } from '@grafana/data'; -import { escapeLabelValueInExactSelector } from 'app/plugins/datasource/prometheus/language_utils'; import LanguageProvider from '../../../LanguageProvider'; +import { escapeLabelValueInExactSelector } from '../../../languageUtils'; import { ParserAndLabelKeysResult, LokiQuery } from '../../../types'; import { Label } from './situation';