|
|
@@ -219,25 +219,37 @@ describe('PrometheusDatasource', () => {
|
|
|
|
|
|
describe('alignRange', () => {
|
|
|
it('does not modify already aligned intervals with perfect step', () => {
|
|
|
- const range = alignRange(0, 3, 3);
|
|
|
+ const range = alignRange(0, 3, 3, 0);
|
|
|
expect(range.start).toEqual(0);
|
|
|
expect(range.end).toEqual(3);
|
|
|
});
|
|
|
it('does modify end-aligned intervals to reflect number of steps possible', () => {
|
|
|
- const range = alignRange(1, 6, 3);
|
|
|
+ const range = alignRange(1, 6, 3, 0);
|
|
|
expect(range.start).toEqual(0);
|
|
|
expect(range.end).toEqual(6);
|
|
|
});
|
|
|
it('does align intervals that are a multiple of steps', () => {
|
|
|
- const range = alignRange(1, 4, 3);
|
|
|
+ const range = alignRange(1, 4, 3, 0);
|
|
|
expect(range.start).toEqual(0);
|
|
|
expect(range.end).toEqual(3);
|
|
|
});
|
|
|
it('does align intervals that are not a multiple of steps', () => {
|
|
|
- const range = alignRange(1, 5, 3);
|
|
|
+ const range = alignRange(1, 5, 3, 0);
|
|
|
expect(range.start).toEqual(0);
|
|
|
expect(range.end).toEqual(3);
|
|
|
});
|
|
|
+ it('does align intervals with local midnight -UTC offset', () => {
|
|
|
+ //week range, location 4+ hours UTC offset, 24h step time
|
|
|
+ const range = alignRange(4 * 60 * 60, (7 * 24 + 4) * 60 * 60, 24 * 60 * 60, -4 * 60 * 60); //04:00 UTC, 7 day range
|
|
|
+ expect(range.start).toEqual(4 * 60 * 60);
|
|
|
+ expect(range.end).toEqual((7 * 24 + 4) * 60 * 60);
|
|
|
+ });
|
|
|
+ it('does align intervals with local midnight +UTC offset', () => {
|
|
|
+ //week range, location 4- hours UTC offset, 24h step time
|
|
|
+ const range = alignRange(20 * 60 * 60, (8 * 24 - 4) * 60 * 60, 24 * 60 * 60, 4 * 60 * 60); //20:00 UTC on day1, 7 days later is 20:00 on day8
|
|
|
+ expect(range.start).toEqual(20 * 60 * 60);
|
|
|
+ expect(range.end).toEqual((8 * 24 - 4) * 60 * 60);
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
describe('extractRuleMappingFromGroups()', () => {
|
|
|
@@ -419,7 +431,10 @@ const templateSrv = ({
|
|
|
|
|
|
const timeSrv = ({
|
|
|
timeRange: () => {
|
|
|
- return { to: { diff: () => 2000 }, from: '' };
|
|
|
+ return {
|
|
|
+ from: dateTime(1531468681),
|
|
|
+ to: dateTime(1531468681 + 2000),
|
|
|
+ };
|
|
|
},
|
|
|
} as unknown) as TimeSrv;
|
|
|
|