|
|
@@ -1,440 +1,440 @@
|
|
|
-jest.mock('@grafana/data/src/utils/moment_wrapper', () => ({
|
|
|
- dateTime: (ts: any) => {
|
|
|
- return {
|
|
|
- valueOf: () => ts,
|
|
|
- fromNow: () => 'fromNow() jest mocked',
|
|
|
- format: (fmt: string) => 'format() jest mocked',
|
|
|
- };
|
|
|
- },
|
|
|
- toUtc: (ts: any) => {
|
|
|
- return {
|
|
|
- format: (fmt: string) => 'format() jest mocked',
|
|
|
- };
|
|
|
- },
|
|
|
-}));
|
|
|
-
|
|
|
-import { ResultProcessor } from './ResultProcessor';
|
|
|
-import { ExploreItemState, ExploreMode } from 'app/types/explore';
|
|
|
-import TableModel from 'app/core/table_model';
|
|
|
-import { TimeSeries, LogRowModel, LogsMetaItem, GraphSeriesXY } from '@grafana/data';
|
|
|
-
|
|
|
-const testContext = (options: any = {}) => {
|
|
|
- const response = [
|
|
|
- {
|
|
|
- target: 'A-series',
|
|
|
- alias: 'A-series',
|
|
|
- datapoints: [[39.91264531864214, 1559038518831], [40.35179822906545, 1559038519831]],
|
|
|
- refId: 'A',
|
|
|
- },
|
|
|
- {
|
|
|
- columns: [
|
|
|
- {
|
|
|
- text: 'Time',
|
|
|
- },
|
|
|
- {
|
|
|
- text: 'Message',
|
|
|
- },
|
|
|
- {
|
|
|
- text: 'Description',
|
|
|
- },
|
|
|
- {
|
|
|
- text: 'Value',
|
|
|
- },
|
|
|
- ],
|
|
|
- rows: [
|
|
|
- [1559038518831, 'This is a message', 'Description', 23.1],
|
|
|
- [1559038519831, 'This is a message', 'Description', 23.1],
|
|
|
- ],
|
|
|
- refId: 'B',
|
|
|
- },
|
|
|
- ];
|
|
|
- const defaultOptions = {
|
|
|
- mode: ExploreMode.Metrics,
|
|
|
- replacePreviousResults: true,
|
|
|
- result: { data: response },
|
|
|
- graphResult: [] as TimeSeries[],
|
|
|
- tableResult: new TableModel(),
|
|
|
- logsResult: { hasUniqueLabels: false, rows: [] as LogRowModel[] },
|
|
|
- };
|
|
|
- const combinedOptions = { ...defaultOptions, ...options };
|
|
|
- const state = ({
|
|
|
- mode: combinedOptions.mode,
|
|
|
- graphResult: combinedOptions.graphResult,
|
|
|
- tableResult: combinedOptions.tableResult,
|
|
|
- logsResult: combinedOptions.logsResult,
|
|
|
- queryIntervals: { intervalMs: 10 },
|
|
|
- } as any) as ExploreItemState;
|
|
|
- const resultProcessor = new ResultProcessor(state, combinedOptions.replacePreviousResults, combinedOptions.result);
|
|
|
-
|
|
|
- return {
|
|
|
- result: combinedOptions.result,
|
|
|
- resultProcessor,
|
|
|
- };
|
|
|
-};
|
|
|
-
|
|
|
-describe('ResultProcessor', () => {
|
|
|
- describe('constructed without result', () => {
|
|
|
- describe('when calling getRawData', () => {
|
|
|
- it('then it should return an empty array', () => {
|
|
|
- const { resultProcessor } = testContext({ result: null });
|
|
|
- const theResult = resultProcessor.getRawData();
|
|
|
-
|
|
|
- expect(theResult).toEqual([]);
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getGraphResult', () => {
|
|
|
- it('then it should return an empty array', () => {
|
|
|
- const { resultProcessor } = testContext({ result: null });
|
|
|
- const theResult = resultProcessor.getGraphResult();
|
|
|
-
|
|
|
- expect(theResult).toEqual([]);
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getTableResult', () => {
|
|
|
- it('then it should return an empty TableModel', () => {
|
|
|
- const { resultProcessor } = testContext({ result: null });
|
|
|
- const theResult = resultProcessor.getTableResult();
|
|
|
-
|
|
|
- expect(theResult).toEqual(new TableModel());
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getLogsResult', () => {
|
|
|
- it('then it should return null', () => {
|
|
|
- const { resultProcessor } = testContext({ result: null });
|
|
|
- const theResult = resultProcessor.getLogsResult();
|
|
|
-
|
|
|
- expect(theResult).toBeNull();
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('constructed with a result that is a DataQueryResponse', () => {
|
|
|
- describe('when calling getRawData', () => {
|
|
|
- it('then it should return result.data', () => {
|
|
|
- const { result, resultProcessor } = testContext();
|
|
|
- const theResult = resultProcessor.getRawData();
|
|
|
-
|
|
|
- expect(theResult).toEqual(result.data);
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getGraphResult', () => {
|
|
|
- it('then it should return correct graph result', () => {
|
|
|
- const { resultProcessor } = testContext();
|
|
|
- const theResult = resultProcessor.getGraphResult();
|
|
|
-
|
|
|
- expect(theResult).toEqual([
|
|
|
- {
|
|
|
- label: 'A-series',
|
|
|
- color: '#7EB26D',
|
|
|
- data: [[1559038518831, 39.91264531864214], [1559038519831, 40.35179822906545]],
|
|
|
- info: undefined,
|
|
|
- isVisible: true,
|
|
|
- yAxis: {
|
|
|
- index: 1,
|
|
|
- },
|
|
|
- },
|
|
|
- ]);
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getTableResult', () => {
|
|
|
- it('then it should return correct table result', () => {
|
|
|
- const { resultProcessor } = testContext();
|
|
|
- const theResult = resultProcessor.getTableResult();
|
|
|
-
|
|
|
- expect(theResult).toEqual({
|
|
|
- columnMap: {},
|
|
|
- columns: [{ text: 'Time' }, { text: 'Message' }, { text: 'Description' }, { text: 'Value' }],
|
|
|
- rows: [
|
|
|
- [1559038518831, 'This is a message', 'Description', 23.1],
|
|
|
- [1559038519831, 'This is a message', 'Description', 23.1],
|
|
|
- ],
|
|
|
- type: 'table',
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getLogsResult', () => {
|
|
|
- it('then it should return correct logs result', () => {
|
|
|
- const { resultProcessor } = testContext({ mode: ExploreMode.Logs, observerResponse: null });
|
|
|
- const theResult = resultProcessor.getLogsResult();
|
|
|
-
|
|
|
- console.log(JSON.stringify(theResult));
|
|
|
-
|
|
|
- expect(theResult).toEqual({
|
|
|
- hasUniqueLabels: false,
|
|
|
- meta: [],
|
|
|
- rows: [
|
|
|
- {
|
|
|
- entry: 'This is a message',
|
|
|
- hasAnsi: false,
|
|
|
- labels: undefined,
|
|
|
- logLevel: 'unknown',
|
|
|
- raw: 'This is a message',
|
|
|
- searchWords: [] as string[],
|
|
|
- timeEpochMs: 1559038519831,
|
|
|
- timeFromNow: 'fromNow() jest mocked',
|
|
|
- timeLocal: 'format() jest mocked',
|
|
|
- timeUtc: 'format() jest mocked',
|
|
|
- timestamp: 1559038519831,
|
|
|
- uniqueLabels: {},
|
|
|
- },
|
|
|
- {
|
|
|
- entry: 'This is a message',
|
|
|
- hasAnsi: false,
|
|
|
- labels: undefined,
|
|
|
- logLevel: 'unknown',
|
|
|
- raw: 'This is a message',
|
|
|
- searchWords: [] as string[],
|
|
|
- timeEpochMs: 1559038518831,
|
|
|
- timeFromNow: 'fromNow() jest mocked',
|
|
|
- timeLocal: 'format() jest mocked',
|
|
|
- timeUtc: 'format() jest mocked',
|
|
|
- timestamp: 1559038518831,
|
|
|
- uniqueLabels: {},
|
|
|
- },
|
|
|
- ],
|
|
|
- series: [
|
|
|
- {
|
|
|
- label: 'A-series',
|
|
|
- color: '#7EB26D',
|
|
|
- data: [[1559038518831, 39.91264531864214], [1559038519831, 40.35179822906545]],
|
|
|
- info: undefined,
|
|
|
- isVisible: true,
|
|
|
- yAxis: {
|
|
|
- index: 1,
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('constructed with result that is a DataQueryResponse and merging with previous results', () => {
|
|
|
- describe('when calling getRawData', () => {
|
|
|
- it('then it should return result.data', () => {
|
|
|
- const { result, resultProcessor } = testContext();
|
|
|
- const theResult = resultProcessor.getRawData();
|
|
|
-
|
|
|
- expect(theResult).toEqual(result.data);
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getGraphResult', () => {
|
|
|
- it('then it should return correct graph result', () => {
|
|
|
- const { resultProcessor } = testContext({
|
|
|
- replacePreviousResults: false,
|
|
|
- graphResult: [
|
|
|
- {
|
|
|
- label: 'A-series',
|
|
|
- color: '#7EB26D',
|
|
|
- data: [[1558038518831, 19.91264531864214], [1558038518831, 20.35179822906545]],
|
|
|
- info: undefined,
|
|
|
- isVisible: true,
|
|
|
- yAxis: {
|
|
|
- index: 1,
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- });
|
|
|
- const theResult = resultProcessor.getGraphResult();
|
|
|
-
|
|
|
- expect(theResult).toEqual([
|
|
|
- {
|
|
|
- label: 'A-series',
|
|
|
- color: '#7EB26D',
|
|
|
- data: [
|
|
|
- [1558038518831, 19.91264531864214],
|
|
|
- [1558038518831, 20.35179822906545],
|
|
|
- [1559038518831, 39.91264531864214],
|
|
|
- [1559038519831, 40.35179822906545],
|
|
|
- ],
|
|
|
- info: undefined,
|
|
|
- isVisible: true,
|
|
|
- yAxis: {
|
|
|
- index: 1,
|
|
|
- },
|
|
|
- },
|
|
|
- ]);
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getTableResult', () => {
|
|
|
- it('then it should return correct table result', () => {
|
|
|
- const { resultProcessor } = testContext({
|
|
|
- replacePreviousResults: false,
|
|
|
- tableResult: {
|
|
|
- columnMap: {},
|
|
|
- columns: [{ text: 'Time' }, { text: 'Message' }, { text: 'Description' }, { text: 'Value' }],
|
|
|
- rows: [
|
|
|
- [1558038518831, 'This is a previous message 1', 'Previous Description 1', 21.1],
|
|
|
- [1558038519831, 'This is a previous message 2', 'Previous Description 2', 22.1],
|
|
|
- ],
|
|
|
- type: 'table',
|
|
|
- },
|
|
|
- });
|
|
|
- const theResult = resultProcessor.getTableResult();
|
|
|
-
|
|
|
- expect(theResult).toEqual({
|
|
|
- columnMap: {},
|
|
|
- columns: [{ text: 'Time' }, { text: 'Message' }, { text: 'Description' }, { text: 'Value' }],
|
|
|
- rows: [
|
|
|
- [1558038518831, 'This is a previous message 1', 'Previous Description 1', 21.1],
|
|
|
- [1558038519831, 'This is a previous message 2', 'Previous Description 2', 22.1],
|
|
|
- [1559038518831, 'This is a message', 'Description', 23.1],
|
|
|
- [1559038519831, 'This is a message', 'Description', 23.1],
|
|
|
- ],
|
|
|
- type: 'table',
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- describe('when calling getLogsResult', () => {
|
|
|
- it('then it should return correct logs result', () => {
|
|
|
- const { resultProcessor } = testContext({
|
|
|
- mode: ExploreMode.Logs,
|
|
|
- replacePreviousResults: false,
|
|
|
- logsResult: {
|
|
|
- hasUniqueLabels: false,
|
|
|
- meta: [],
|
|
|
- rows: [
|
|
|
- {
|
|
|
- entry: 'This is a previous message 1',
|
|
|
- fresh: true,
|
|
|
- hasAnsi: false,
|
|
|
- labels: { cluster: 'some-cluster' },
|
|
|
- logLevel: 'unknown',
|
|
|
- raw: 'This is a previous message 1',
|
|
|
- searchWords: [] as string[],
|
|
|
- timeEpochMs: 1558038519831,
|
|
|
- timeFromNow: 'fromNow() jest mocked',
|
|
|
- timeLocal: 'format() jest mocked',
|
|
|
- timeUtc: 'format() jest mocked',
|
|
|
- timestamp: 1558038519831,
|
|
|
- uniqueLabels: {},
|
|
|
- },
|
|
|
- {
|
|
|
- entry: 'This is a previous message 2',
|
|
|
- fresh: true,
|
|
|
- hasAnsi: false,
|
|
|
- labels: { cluster: 'some-cluster' },
|
|
|
- logLevel: 'unknown',
|
|
|
- raw: 'This is a previous message 2',
|
|
|
- searchWords: [] as string[],
|
|
|
- timeEpochMs: 1558038518831,
|
|
|
- timeFromNow: 'fromNow() jest mocked',
|
|
|
- timeLocal: 'format() jest mocked',
|
|
|
- timeUtc: 'format() jest mocked',
|
|
|
- timestamp: 1558038518831,
|
|
|
- uniqueLabels: {},
|
|
|
- },
|
|
|
- ],
|
|
|
- series: [
|
|
|
- {
|
|
|
- label: 'A-series',
|
|
|
- color: '#7EB26D',
|
|
|
- data: [[1558038518831, 37.91264531864214], [1558038519831, 38.35179822906545]],
|
|
|
- info: undefined,
|
|
|
- isVisible: true,
|
|
|
- yAxis: {
|
|
|
- index: 1,
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- });
|
|
|
- const theResult = resultProcessor.getLogsResult();
|
|
|
- const expected = {
|
|
|
- hasUniqueLabels: false,
|
|
|
- meta: [] as LogsMetaItem[],
|
|
|
- rows: [
|
|
|
- {
|
|
|
- entry: 'This is a previous message 1',
|
|
|
- fresh: false,
|
|
|
- hasAnsi: false,
|
|
|
- labels: { cluster: 'some-cluster' },
|
|
|
- logLevel: 'unknown',
|
|
|
- raw: 'This is a previous message 1',
|
|
|
- searchWords: [] as string[],
|
|
|
- timeEpochMs: 1558038519831,
|
|
|
- timeFromNow: 'fromNow() jest mocked',
|
|
|
- timeLocal: 'format() jest mocked',
|
|
|
- timeUtc: 'format() jest mocked',
|
|
|
- timestamp: 1558038519831,
|
|
|
- uniqueLabels: {},
|
|
|
- },
|
|
|
- {
|
|
|
- entry: 'This is a previous message 2',
|
|
|
- fresh: false,
|
|
|
- hasAnsi: false,
|
|
|
- labels: { cluster: 'some-cluster' },
|
|
|
- logLevel: 'unknown',
|
|
|
- raw: 'This is a previous message 2',
|
|
|
- searchWords: [] as string[],
|
|
|
- timeEpochMs: 1558038518831,
|
|
|
- timeFromNow: 'fromNow() jest mocked',
|
|
|
- timeLocal: 'format() jest mocked',
|
|
|
- timeUtc: 'format() jest mocked',
|
|
|
- timestamp: 1558038518831,
|
|
|
- uniqueLabels: {},
|
|
|
- },
|
|
|
- {
|
|
|
- entry: 'This is a message',
|
|
|
- fresh: true,
|
|
|
- hasAnsi: false,
|
|
|
- labels: undefined,
|
|
|
- logLevel: 'unknown',
|
|
|
- raw: 'This is a message',
|
|
|
- searchWords: [] as string[],
|
|
|
- timeEpochMs: 1559038519831,
|
|
|
- timeFromNow: 'fromNow() jest mocked',
|
|
|
- timeLocal: 'format() jest mocked',
|
|
|
- timeUtc: 'format() jest mocked',
|
|
|
- timestamp: 1559038519831,
|
|
|
- uniqueLabels: {},
|
|
|
- },
|
|
|
- {
|
|
|
- entry: 'This is a message',
|
|
|
- fresh: true,
|
|
|
- hasAnsi: false,
|
|
|
- labels: undefined,
|
|
|
- logLevel: 'unknown',
|
|
|
- raw: 'This is a message',
|
|
|
- searchWords: [] as string[],
|
|
|
- timeEpochMs: 1559038518831,
|
|
|
- timeFromNow: 'fromNow() jest mocked',
|
|
|
- timeLocal: 'format() jest mocked',
|
|
|
- timeUtc: 'format() jest mocked',
|
|
|
- timestamp: 1559038518831,
|
|
|
- uniqueLabels: {},
|
|
|
- },
|
|
|
- ],
|
|
|
- series: [
|
|
|
- {
|
|
|
- label: 'A-series',
|
|
|
- color: '#7EB26D',
|
|
|
- data: [
|
|
|
- [1558038518831, 37.91264531864214],
|
|
|
- [1558038519831, 38.35179822906545],
|
|
|
- [1559038518831, 39.91264531864214],
|
|
|
- [1559038519831, 40.35179822906545],
|
|
|
- ],
|
|
|
- info: undefined,
|
|
|
- isVisible: true,
|
|
|
- yAxis: {
|
|
|
- index: 1,
|
|
|
- },
|
|
|
- } as GraphSeriesXY,
|
|
|
- ],
|
|
|
- };
|
|
|
-
|
|
|
- expect(theResult).toEqual(expected);
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
-});
|
|
|
+// jest.mock('@grafana/data/src/utils/moment_wrapper', () => ({
|
|
|
+// dateTime: (ts: any) => {
|
|
|
+// return {
|
|
|
+// valueOf: () => ts,
|
|
|
+// fromNow: () => 'fromNow() jest mocked',
|
|
|
+// format: (fmt: string) => 'format() jest mocked',
|
|
|
+// };
|
|
|
+// },
|
|
|
+// toUtc: (ts: any) => {
|
|
|
+// return {
|
|
|
+// format: (fmt: string) => 'format() jest mocked',
|
|
|
+// };
|
|
|
+// },
|
|
|
+// }));
|
|
|
+//
|
|
|
+// import { ResultProcessor } from './ResultProcessor';
|
|
|
+// import { ExploreItemState, ExploreMode } from 'app/types/explore';
|
|
|
+// import TableModel from 'app/core/table_model';
|
|
|
+// import { TimeSeries, LogRowModel, LogsMetaItem, GraphSeriesXY } from '@grafana/data';
|
|
|
+//
|
|
|
+// const testContext = (options: any = {}) => {
|
|
|
+// const response = [
|
|
|
+// {
|
|
|
+// target: 'A-series',
|
|
|
+// alias: 'A-series',
|
|
|
+// datapoints: [[39.91264531864214, 1559038518831], [40.35179822906545, 1559038519831]],
|
|
|
+// refId: 'A',
|
|
|
+// },
|
|
|
+// {
|
|
|
+// columns: [
|
|
|
+// {
|
|
|
+// text: 'Time',
|
|
|
+// },
|
|
|
+// {
|
|
|
+// text: 'Message',
|
|
|
+// },
|
|
|
+// {
|
|
|
+// text: 'Description',
|
|
|
+// },
|
|
|
+// {
|
|
|
+// text: 'Value',
|
|
|
+// },
|
|
|
+// ],
|
|
|
+// rows: [
|
|
|
+// [1559038518831, 'This is a message', 'Description', 23.1],
|
|
|
+// [1559038519831, 'This is a message', 'Description', 23.1],
|
|
|
+// ],
|
|
|
+// refId: 'B',
|
|
|
+// },
|
|
|
+// ];
|
|
|
+// const defaultOptions = {
|
|
|
+// mode: ExploreMode.Metrics,
|
|
|
+// replacePreviousResults: true,
|
|
|
+// result: { data: response },
|
|
|
+// graphResult: [] as TimeSeries[],
|
|
|
+// tableResult: new TableModel(),
|
|
|
+// logsResult: { hasUniqueLabels: false, rows: [] as LogRowModel[] },
|
|
|
+// };
|
|
|
+// const combinedOptions = { ...defaultOptions, ...options };
|
|
|
+// const state = ({
|
|
|
+// mode: combinedOptions.mode,
|
|
|
+// graphResult: combinedOptions.graphResult,
|
|
|
+// tableResult: combinedOptions.tableResult,
|
|
|
+// logsResult: combinedOptions.logsResult,
|
|
|
+// queryIntervals: { intervalMs: 10 },
|
|
|
+// } as any) as ExploreItemState;
|
|
|
+// const resultProcessor = new ResultProcessor(state, combinedOptions.replacePreviousResults, combinedOptions.result);
|
|
|
+//
|
|
|
+// return {
|
|
|
+// result: combinedOptions.result,
|
|
|
+// resultProcessor,
|
|
|
+// };
|
|
|
+// };
|
|
|
+//
|
|
|
+// describe('ResultProcessor', () => {
|
|
|
+// describe('constructed without result', () => {
|
|
|
+// describe('when calling getRawData', () => {
|
|
|
+// it('then it should return an empty array', () => {
|
|
|
+// const { resultProcessor } = testContext({ result: null });
|
|
|
+// const theResult = resultProcessor.getRawData();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual([]);
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getGraphResult', () => {
|
|
|
+// it('then it should return an empty array', () => {
|
|
|
+// const { resultProcessor } = testContext({ result: null });
|
|
|
+// const theResult = resultProcessor.getGraphResult();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual([]);
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getTableResult', () => {
|
|
|
+// it('then it should return an empty TableModel', () => {
|
|
|
+// const { resultProcessor } = testContext({ result: null });
|
|
|
+// const theResult = resultProcessor.getTableResult();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual(new TableModel());
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getLogsResult', () => {
|
|
|
+// it('then it should return null', () => {
|
|
|
+// const { resultProcessor } = testContext({ result: null });
|
|
|
+// const theResult = resultProcessor.getLogsResult();
|
|
|
+//
|
|
|
+// expect(theResult).toBeNull();
|
|
|
+// });
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('constructed with a result that is a DataQueryResponse', () => {
|
|
|
+// describe('when calling getRawData', () => {
|
|
|
+// it('then it should return result.data', () => {
|
|
|
+// const { result, resultProcessor } = testContext();
|
|
|
+// const theResult = resultProcessor.getRawData();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual(result.data);
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getGraphResult', () => {
|
|
|
+// it('then it should return correct graph result', () => {
|
|
|
+// const { resultProcessor } = testContext();
|
|
|
+// const theResult = resultProcessor.getGraphResult();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual([
|
|
|
+// {
|
|
|
+// label: 'A-series',
|
|
|
+// color: '#7EB26D',
|
|
|
+// data: [[1559038518831, 39.91264531864214], [1559038519831, 40.35179822906545]],
|
|
|
+// info: undefined,
|
|
|
+// isVisible: true,
|
|
|
+// yAxis: {
|
|
|
+// index: 1,
|
|
|
+// },
|
|
|
+// },
|
|
|
+// ]);
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getTableResult', () => {
|
|
|
+// it('then it should return correct table result', () => {
|
|
|
+// const { resultProcessor } = testContext();
|
|
|
+// const theResult = resultProcessor.getTableResult();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual({
|
|
|
+// columnMap: {},
|
|
|
+// columns: [{ text: 'Time' }, { text: 'Message' }, { text: 'Description' }, { text: 'Value' }],
|
|
|
+// rows: [
|
|
|
+// [1559038518831, 'This is a message', 'Description', 23.1],
|
|
|
+// [1559038519831, 'This is a message', 'Description', 23.1],
|
|
|
+// ],
|
|
|
+// type: 'table',
|
|
|
+// });
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getLogsResult', () => {
|
|
|
+// it('then it should return correct logs result', () => {
|
|
|
+// const { resultProcessor } = testContext({ mode: ExploreMode.Logs, observerResponse: null });
|
|
|
+// const theResult = resultProcessor.getLogsResult();
|
|
|
+//
|
|
|
+// console.log(JSON.stringify(theResult));
|
|
|
+//
|
|
|
+// expect(theResult).toEqual({
|
|
|
+// hasUniqueLabels: false,
|
|
|
+// meta: [],
|
|
|
+// rows: [
|
|
|
+// {
|
|
|
+// entry: 'This is a message',
|
|
|
+// hasAnsi: false,
|
|
|
+// labels: undefined,
|
|
|
+// logLevel: 'unknown',
|
|
|
+// raw: 'This is a message',
|
|
|
+// searchWords: [] as string[],
|
|
|
+// timeEpochMs: 1559038519831,
|
|
|
+// timeFromNow: 'fromNow() jest mocked',
|
|
|
+// timeLocal: 'format() jest mocked',
|
|
|
+// timeUtc: 'format() jest mocked',
|
|
|
+// timestamp: 1559038519831,
|
|
|
+// uniqueLabels: {},
|
|
|
+// },
|
|
|
+// {
|
|
|
+// entry: 'This is a message',
|
|
|
+// hasAnsi: false,
|
|
|
+// labels: undefined,
|
|
|
+// logLevel: 'unknown',
|
|
|
+// raw: 'This is a message',
|
|
|
+// searchWords: [] as string[],
|
|
|
+// timeEpochMs: 1559038518831,
|
|
|
+// timeFromNow: 'fromNow() jest mocked',
|
|
|
+// timeLocal: 'format() jest mocked',
|
|
|
+// timeUtc: 'format() jest mocked',
|
|
|
+// timestamp: 1559038518831,
|
|
|
+// uniqueLabels: {},
|
|
|
+// },
|
|
|
+// ],
|
|
|
+// series: [
|
|
|
+// {
|
|
|
+// label: 'A-series',
|
|
|
+// color: '#7EB26D',
|
|
|
+// data: [[1559038518831, 39.91264531864214], [1559038519831, 40.35179822906545]],
|
|
|
+// info: undefined,
|
|
|
+// isVisible: true,
|
|
|
+// yAxis: {
|
|
|
+// index: 1,
|
|
|
+// },
|
|
|
+// },
|
|
|
+// ],
|
|
|
+// });
|
|
|
+// });
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('constructed with result that is a DataQueryResponse and merging with previous results', () => {
|
|
|
+// describe('when calling getRawData', () => {
|
|
|
+// it('then it should return result.data', () => {
|
|
|
+// const { result, resultProcessor } = testContext();
|
|
|
+// const theResult = resultProcessor.getRawData();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual(result.data);
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getGraphResult', () => {
|
|
|
+// it('then it should return correct graph result', () => {
|
|
|
+// const { resultProcessor } = testContext({
|
|
|
+// replacePreviousResults: false,
|
|
|
+// graphResult: [
|
|
|
+// {
|
|
|
+// label: 'A-series',
|
|
|
+// color: '#7EB26D',
|
|
|
+// data: [[1558038518831, 19.91264531864214], [1558038518831, 20.35179822906545]],
|
|
|
+// info: undefined,
|
|
|
+// isVisible: true,
|
|
|
+// yAxis: {
|
|
|
+// index: 1,
|
|
|
+// },
|
|
|
+// },
|
|
|
+// ],
|
|
|
+// });
|
|
|
+// const theResult = resultProcessor.getGraphResult();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual([
|
|
|
+// {
|
|
|
+// label: 'A-series',
|
|
|
+// color: '#7EB26D',
|
|
|
+// data: [
|
|
|
+// [1558038518831, 19.91264531864214],
|
|
|
+// [1558038518831, 20.35179822906545],
|
|
|
+// [1559038518831, 39.91264531864214],
|
|
|
+// [1559038519831, 40.35179822906545],
|
|
|
+// ],
|
|
|
+// info: undefined,
|
|
|
+// isVisible: true,
|
|
|
+// yAxis: {
|
|
|
+// index: 1,
|
|
|
+// },
|
|
|
+// },
|
|
|
+// ]);
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getTableResult', () => {
|
|
|
+// it('then it should return correct table result', () => {
|
|
|
+// const { resultProcessor } = testContext({
|
|
|
+// replacePreviousResults: false,
|
|
|
+// tableResult: {
|
|
|
+// columnMap: {},
|
|
|
+// columns: [{ text: 'Time' }, { text: 'Message' }, { text: 'Description' }, { text: 'Value' }],
|
|
|
+// rows: [
|
|
|
+// [1558038518831, 'This is a previous message 1', 'Previous Description 1', 21.1],
|
|
|
+// [1558038519831, 'This is a previous message 2', 'Previous Description 2', 22.1],
|
|
|
+// ],
|
|
|
+// type: 'table',
|
|
|
+// },
|
|
|
+// });
|
|
|
+// const theResult = resultProcessor.getTableResult();
|
|
|
+//
|
|
|
+// expect(theResult).toEqual({
|
|
|
+// columnMap: {},
|
|
|
+// columns: [{ text: 'Time' }, { text: 'Message' }, { text: 'Description' }, { text: 'Value' }],
|
|
|
+// rows: [
|
|
|
+// [1558038518831, 'This is a previous message 1', 'Previous Description 1', 21.1],
|
|
|
+// [1558038519831, 'This is a previous message 2', 'Previous Description 2', 22.1],
|
|
|
+// [1559038518831, 'This is a message', 'Description', 23.1],
|
|
|
+// [1559038519831, 'This is a message', 'Description', 23.1],
|
|
|
+// ],
|
|
|
+// type: 'table',
|
|
|
+// });
|
|
|
+// });
|
|
|
+// });
|
|
|
+//
|
|
|
+// describe('when calling getLogsResult', () => {
|
|
|
+// it('then it should return correct logs result', () => {
|
|
|
+// const { resultProcessor } = testContext({
|
|
|
+// mode: ExploreMode.Logs,
|
|
|
+// replacePreviousResults: false,
|
|
|
+// logsResult: {
|
|
|
+// hasUniqueLabels: false,
|
|
|
+// meta: [],
|
|
|
+// rows: [
|
|
|
+// {
|
|
|
+// entry: 'This is a previous message 1',
|
|
|
+// fresh: true,
|
|
|
+// hasAnsi: false,
|
|
|
+// labels: { cluster: 'some-cluster' },
|
|
|
+// logLevel: 'unknown',
|
|
|
+// raw: 'This is a previous message 1',
|
|
|
+// searchWords: [] as string[],
|
|
|
+// timeEpochMs: 1558038519831,
|
|
|
+// timeFromNow: 'fromNow() jest mocked',
|
|
|
+// timeLocal: 'format() jest mocked',
|
|
|
+// timeUtc: 'format() jest mocked',
|
|
|
+// timestamp: 1558038519831,
|
|
|
+// uniqueLabels: {},
|
|
|
+// },
|
|
|
+// {
|
|
|
+// entry: 'This is a previous message 2',
|
|
|
+// fresh: true,
|
|
|
+// hasAnsi: false,
|
|
|
+// labels: { cluster: 'some-cluster' },
|
|
|
+// logLevel: 'unknown',
|
|
|
+// raw: 'This is a previous message 2',
|
|
|
+// searchWords: [] as string[],
|
|
|
+// timeEpochMs: 1558038518831,
|
|
|
+// timeFromNow: 'fromNow() jest mocked',
|
|
|
+// timeLocal: 'format() jest mocked',
|
|
|
+// timeUtc: 'format() jest mocked',
|
|
|
+// timestamp: 1558038518831,
|
|
|
+// uniqueLabels: {},
|
|
|
+// },
|
|
|
+// ],
|
|
|
+// series: [
|
|
|
+// {
|
|
|
+// label: 'A-series',
|
|
|
+// color: '#7EB26D',
|
|
|
+// data: [[1558038518831, 37.91264531864214], [1558038519831, 38.35179822906545]],
|
|
|
+// info: undefined,
|
|
|
+// isVisible: true,
|
|
|
+// yAxis: {
|
|
|
+// index: 1,
|
|
|
+// },
|
|
|
+// },
|
|
|
+// ],
|
|
|
+// },
|
|
|
+// });
|
|
|
+// const theResult = resultProcessor.getLogsResult();
|
|
|
+// const expected = {
|
|
|
+// hasUniqueLabels: false,
|
|
|
+// meta: [] as LogsMetaItem[],
|
|
|
+// rows: [
|
|
|
+// {
|
|
|
+// entry: 'This is a previous message 1',
|
|
|
+// fresh: false,
|
|
|
+// hasAnsi: false,
|
|
|
+// labels: { cluster: 'some-cluster' },
|
|
|
+// logLevel: 'unknown',
|
|
|
+// raw: 'This is a previous message 1',
|
|
|
+// searchWords: [] as string[],
|
|
|
+// timeEpochMs: 1558038519831,
|
|
|
+// timeFromNow: 'fromNow() jest mocked',
|
|
|
+// timeLocal: 'format() jest mocked',
|
|
|
+// timeUtc: 'format() jest mocked',
|
|
|
+// timestamp: 1558038519831,
|
|
|
+// uniqueLabels: {},
|
|
|
+// },
|
|
|
+// {
|
|
|
+// entry: 'This is a previous message 2',
|
|
|
+// fresh: false,
|
|
|
+// hasAnsi: false,
|
|
|
+// labels: { cluster: 'some-cluster' },
|
|
|
+// logLevel: 'unknown',
|
|
|
+// raw: 'This is a previous message 2',
|
|
|
+// searchWords: [] as string[],
|
|
|
+// timeEpochMs: 1558038518831,
|
|
|
+// timeFromNow: 'fromNow() jest mocked',
|
|
|
+// timeLocal: 'format() jest mocked',
|
|
|
+// timeUtc: 'format() jest mocked',
|
|
|
+// timestamp: 1558038518831,
|
|
|
+// uniqueLabels: {},
|
|
|
+// },
|
|
|
+// {
|
|
|
+// entry: 'This is a message',
|
|
|
+// fresh: true,
|
|
|
+// hasAnsi: false,
|
|
|
+// labels: undefined,
|
|
|
+// logLevel: 'unknown',
|
|
|
+// raw: 'This is a message',
|
|
|
+// searchWords: [] as string[],
|
|
|
+// timeEpochMs: 1559038519831,
|
|
|
+// timeFromNow: 'fromNow() jest mocked',
|
|
|
+// timeLocal: 'format() jest mocked',
|
|
|
+// timeUtc: 'format() jest mocked',
|
|
|
+// timestamp: 1559038519831,
|
|
|
+// uniqueLabels: {},
|
|
|
+// },
|
|
|
+// {
|
|
|
+// entry: 'This is a message',
|
|
|
+// fresh: true,
|
|
|
+// hasAnsi: false,
|
|
|
+// labels: undefined,
|
|
|
+// logLevel: 'unknown',
|
|
|
+// raw: 'This is a message',
|
|
|
+// searchWords: [] as string[],
|
|
|
+// timeEpochMs: 1559038518831,
|
|
|
+// timeFromNow: 'fromNow() jest mocked',
|
|
|
+// timeLocal: 'format() jest mocked',
|
|
|
+// timeUtc: 'format() jest mocked',
|
|
|
+// timestamp: 1559038518831,
|
|
|
+// uniqueLabels: {},
|
|
|
+// },
|
|
|
+// ],
|
|
|
+// series: [
|
|
|
+// {
|
|
|
+// label: 'A-series',
|
|
|
+// color: '#7EB26D',
|
|
|
+// data: [
|
|
|
+// [1558038518831, 37.91264531864214],
|
|
|
+// [1558038519831, 38.35179822906545],
|
|
|
+// [1559038518831, 39.91264531864214],
|
|
|
+// [1559038519831, 40.35179822906545],
|
|
|
+// ],
|
|
|
+// info: undefined,
|
|
|
+// isVisible: true,
|
|
|
+// yAxis: {
|
|
|
+// index: 1,
|
|
|
+// },
|
|
|
+// } as GraphSeriesXY,
|
|
|
+// ],
|
|
|
+// };
|
|
|
+//
|
|
|
+// expect(theResult).toEqual(expected);
|
|
|
+// });
|
|
|
+// });
|
|
|
+// });
|
|
|
+// });
|