|
|
@ -6,7 +6,11 @@ import { TypeaheadInput } from '@grafana/ui'; |
|
|
|
import LanguageProvider, { LokiHistoryItem } from './LanguageProvider'; |
|
|
|
import LanguageProvider, { LokiHistoryItem } from './LanguageProvider'; |
|
|
|
import { LokiDatasource } from './datasource'; |
|
|
|
import { LokiDatasource } from './datasource'; |
|
|
|
import { createLokiDatasource, createMetadataRequest } from './mocks'; |
|
|
|
import { createLokiDatasource, createMetadataRequest } from './mocks'; |
|
|
|
import { extractLogParserFromDataFrame, extractLabelKeysFromDataFrame } from './responseUtils'; |
|
|
|
import { |
|
|
|
|
|
|
|
extractLogParserFromDataFrame, |
|
|
|
|
|
|
|
extractLabelKeysFromDataFrame, |
|
|
|
|
|
|
|
extractUnwrapLabelKeysFromDataFrame, |
|
|
|
|
|
|
|
} from './responseUtils'; |
|
|
|
import { LokiQueryType } from './types'; |
|
|
|
import { LokiQueryType } from './types'; |
|
|
|
|
|
|
|
|
|
|
|
jest.mock('./responseUtils'); |
|
|
|
jest.mock('./responseUtils'); |
|
|
@ -304,11 +308,13 @@ describe('Query imports', () => { |
|
|
|
let datasource: LokiDatasource, languageProvider: LanguageProvider; |
|
|
|
let datasource: LokiDatasource, languageProvider: LanguageProvider; |
|
|
|
const extractLogParserFromDataFrameMock = jest.mocked(extractLogParserFromDataFrame); |
|
|
|
const extractLogParserFromDataFrameMock = jest.mocked(extractLogParserFromDataFrame); |
|
|
|
const extractedLabelKeys = ['extracted', 'label']; |
|
|
|
const extractedLabelKeys = ['extracted', 'label']; |
|
|
|
|
|
|
|
const unwrapLabelKeys = ['unwrap', 'labels']; |
|
|
|
|
|
|
|
|
|
|
|
beforeEach(() => { |
|
|
|
beforeEach(() => { |
|
|
|
datasource = createLokiDatasource(); |
|
|
|
datasource = createLokiDatasource(); |
|
|
|
languageProvider = new LanguageProvider(datasource); |
|
|
|
languageProvider = new LanguageProvider(datasource); |
|
|
|
jest.mocked(extractLabelKeysFromDataFrame).mockReturnValue(extractedLabelKeys); |
|
|
|
jest.mocked(extractLabelKeysFromDataFrame).mockReturnValue(extractedLabelKeys); |
|
|
|
|
|
|
|
jest.mocked(extractUnwrapLabelKeysFromDataFrame).mockReturnValue(unwrapLabelKeys); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('identifies selectors with JSON parser data', async () => { |
|
|
|
it('identifies selectors with JSON parser data', async () => { |
|
|
@ -317,6 +323,7 @@ describe('Query imports', () => { |
|
|
|
|
|
|
|
|
|
|
|
expect(await languageProvider.getParserAndLabelKeys('{place="luna"}')).toEqual({ |
|
|
|
expect(await languageProvider.getParserAndLabelKeys('{place="luna"}')).toEqual({ |
|
|
|
extractedLabelKeys, |
|
|
|
extractedLabelKeys, |
|
|
|
|
|
|
|
unwrapLabelKeys, |
|
|
|
hasJSON: true, |
|
|
|
hasJSON: true, |
|
|
|
hasLogfmt: false, |
|
|
|
hasLogfmt: false, |
|
|
|
}); |
|
|
|
}); |
|
|
@ -328,6 +335,7 @@ describe('Query imports', () => { |
|
|
|
|
|
|
|
|
|
|
|
expect(await languageProvider.getParserAndLabelKeys('{place="luna"}')).toEqual({ |
|
|
|
expect(await languageProvider.getParserAndLabelKeys('{place="luna"}')).toEqual({ |
|
|
|
extractedLabelKeys, |
|
|
|
extractedLabelKeys, |
|
|
|
|
|
|
|
unwrapLabelKeys, |
|
|
|
hasJSON: false, |
|
|
|
hasJSON: false, |
|
|
|
hasLogfmt: true, |
|
|
|
hasLogfmt: true, |
|
|
|
}); |
|
|
|
}); |
|
|
@ -339,6 +347,7 @@ describe('Query imports', () => { |
|
|
|
|
|
|
|
|
|
|
|
expect(await languageProvider.getParserAndLabelKeys('{place="luna"}')).toEqual({ |
|
|
|
expect(await languageProvider.getParserAndLabelKeys('{place="luna"}')).toEqual({ |
|
|
|
extractedLabelKeys: [], |
|
|
|
extractedLabelKeys: [], |
|
|
|
|
|
|
|
unwrapLabelKeys: [], |
|
|
|
hasJSON: false, |
|
|
|
hasJSON: false, |
|
|
|
hasLogfmt: false, |
|
|
|
hasLogfmt: false, |
|
|
|
}); |
|
|
|
}); |
|
|
|