mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Explore: Fix encoding of internal URLs (#36919)
* Encode internal explore url * Fix tests * Fix comma
This commit is contained in:
parent
8af83b8b78
commit
93b4cc7035
@ -644,7 +644,7 @@ describe('getLinksSupplier', () => {
|
|||||||
expect(links[0]).toEqual(
|
expect(links[0]).toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
title: 'testDS',
|
title: 'testDS',
|
||||||
href: '/explore?left={"datasource":"testDS","queries":["12345"]}',
|
href: `/explore?left=${encodeURIComponent('{"datasource":"testDS","queries":["12345"]}')}`,
|
||||||
onClick: undefined,
|
onClick: undefined,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -31,7 +31,7 @@ describe('mapInternalLinkToExplore', () => {
|
|||||||
expect(link).toEqual(
|
expect(link).toEqual(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
title: 'dsName',
|
title: 'dsName',
|
||||||
href: '/explore?left={"datasource":"dsName","queries":[{"query":"12344"}]}',
|
href: `/explore?left=${encodeURIComponent('{"datasource":"dsName","queries":[{"query":"12344"}]}')}`,
|
||||||
onClick: undefined,
|
onClick: undefined,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
@ -67,11 +67,13 @@ export function mapInternalLinkToExplore(options: LinkToExploreOptions): LinkMod
|
|||||||
*/
|
*/
|
||||||
function generateInternalHref<T extends DataQuery = any>(datasourceName: string, query: T, range: TimeRange): string {
|
function generateInternalHref<T extends DataQuery = any>(datasourceName: string, query: T, range: TimeRange): string {
|
||||||
return locationUtil.assureBaseUrl(
|
return locationUtil.assureBaseUrl(
|
||||||
`/explore?left=${serializeStateToUrlParam({
|
`/explore?left=${encodeURIComponent(
|
||||||
range: range.raw,
|
serializeStateToUrlParam({
|
||||||
datasource: datasourceName,
|
range: range.raw,
|
||||||
queries: [query],
|
datasource: datasourceName,
|
||||||
})}`
|
queries: [query],
|
||||||
|
})
|
||||||
|
)}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,9 @@ describe('createSpanLinkFactory', () => {
|
|||||||
} as any);
|
} as any);
|
||||||
|
|
||||||
expect(linkDef.href).toBe(
|
expect(linkDef.href).toBe(
|
||||||
`/explore?left={"range":{"from":"2020-10-14T01:00:00.000Z","to":"2020-10-14T01:00:01.000Z"},"datasource":"loki1","queries":[{"expr":"{cluster=\\"cluster1\\", hostname=\\"hostname1\\"}","refId":""}]}`
|
`/explore?left=${encodeURIComponent(
|
||||||
|
'{"range":{"from":"2020-10-14T01:00:00.000Z","to":"2020-10-14T01:00:01.000Z"},"datasource":"loki1","queries":[{"expr":"{cluster=\\"cluster1\\", hostname=\\"hostname1\\"}","refId":""}]}'
|
||||||
|
)}`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -91,7 +93,9 @@ describe('createSpanLinkFactory', () => {
|
|||||||
} as any);
|
} as any);
|
||||||
|
|
||||||
expect(linkDef.href).toBe(
|
expect(linkDef.href).toBe(
|
||||||
`/explore?left={"range":{"from":"2020-10-14T01:00:00.000Z","to":"2020-10-14T01:00:01.000Z"},"datasource":"loki1","queries":[{"expr":"{ip=\\"192.168.0.1\\"}","refId":""}]}`
|
`/explore?left=${encodeURIComponent(
|
||||||
|
'{"range":{"from":"2020-10-14T01:00:00.000Z","to":"2020-10-14T01:00:01.000Z"},"datasource":"loki1","queries":[{"expr":"{ip=\\"192.168.0.1\\"}","refId":""}]}'
|
||||||
|
)}`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -126,7 +130,9 @@ describe('createSpanLinkFactory', () => {
|
|||||||
} as any);
|
} as any);
|
||||||
|
|
||||||
expect(linkDef.href).toBe(
|
expect(linkDef.href).toBe(
|
||||||
`/explore?left={"range":{"from":"2020-10-14T01:00:00.000Z","to":"2020-10-14T01:00:01.000Z"},"datasource":"loki1","queries":[{"expr":"{ip=\\"192.168.0.1\\", host=\\"host\\"}","refId":""}]}`
|
`/explore?left=${encodeURIComponent(
|
||||||
|
'{"range":{"from":"2020-10-14T01:00:00.000Z","to":"2020-10-14T01:00:01.000Z"},"datasource":"loki1","queries":[{"expr":"{ip=\\"192.168.0.1\\", host=\\"host\\"}","refId":""}]}'
|
||||||
|
)}`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -163,7 +169,9 @@ describe('createSpanLinkFactory', () => {
|
|||||||
} as any);
|
} as any);
|
||||||
|
|
||||||
expect(linkDef.href).toBe(
|
expect(linkDef.href).toBe(
|
||||||
`/explore?left={"range":{"from":"2020-10-14T01:01:00.000Z","to":"2020-10-14T01:01:01.000Z"},"datasource":"loki1","queries":[{"expr":"{hostname=\\"hostname1\\"}","refId":""}]}`
|
`/explore?left=${encodeURIComponent(
|
||||||
|
'{"range":{"from":"2020-10-14T01:01:00.000Z","to":"2020-10-14T01:01:01.000Z"},"datasource":"loki1","queries":[{"expr":"{hostname=\\"hostname1\\"}","refId":""}]}'
|
||||||
|
)}`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -49,7 +49,9 @@ describe('getFieldLinksForExplore', () => {
|
|||||||
const links = getFieldLinksForExplore({ field, rowIndex: 0, splitOpenFn: splitfn, range });
|
const links = getFieldLinksForExplore({ field, rowIndex: 0, splitOpenFn: splitfn, range });
|
||||||
|
|
||||||
expect(links[0].href).toBe(
|
expect(links[0].href).toBe(
|
||||||
'/explore?left={"range":{"from":"now-1h","to":"now"},"datasource":"test_ds","queries":[{"query":"query_1"}]}'
|
`/explore?left=${encodeURIComponent(
|
||||||
|
'{"range":{"from":"now-1h","to":"now"},"datasource":"test_ds","queries":[{"query":"query_1"}]}'
|
||||||
|
)}`
|
||||||
);
|
);
|
||||||
expect(links[0].title).toBe('test_ds');
|
expect(links[0].title).toBe('test_ds');
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user