From f8f311d7e6c55c6393819362616d83faa9978692 Mon Sep 17 00:00:00 2001 From: Eugene Cheung <81188333+echeung-amzn@users.noreply.github.com> Date: Thu, 28 Sep 2023 15:53:41 -0400 Subject: [PATCH] fix(dashboard): fix dynamic dashboard range (#436) Fixes #430 --- _By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license_ --- lib/dashboard/DynamicDashboardFactory.ts | 4 +++- test/dashboard/DynamicDashboardFactory.test.ts | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/dashboard/DynamicDashboardFactory.ts b/lib/dashboard/DynamicDashboardFactory.ts index 003c6852..0008fdb0 100644 --- a/lib/dashboard/DynamicDashboardFactory.ts +++ b/lib/dashboard/DynamicDashboardFactory.ts @@ -88,7 +88,9 @@ export class DynamicDashboardFactory dashboardConfig.renderingPreference ?? DashboardRenderingPreference.INTERACTIVE_ONLY; const start: string = - "-" + (dashboardConfig.range ?? Duration.hours(8).toIsoString()); + "-" + + (dashboardConfig.range?.toIsoString() ?? + Duration.hours(8).toIsoString()); const dashboard = this.createDashboard( renderingPreference, diff --git a/test/dashboard/DynamicDashboardFactory.test.ts b/test/dashboard/DynamicDashboardFactory.test.ts index 24d0a9e9..cde84e8c 100644 --- a/test/dashboard/DynamicDashboardFactory.test.ts +++ b/test/dashboard/DynamicDashboardFactory.test.ts @@ -1,4 +1,4 @@ -import { Stack } from "aws-cdk-lib"; +import { Duration, Stack } from "aws-cdk-lib"; import { Template } from "aws-cdk-lib/assertions"; import { IWidget, TextWidget } from "aws-cdk-lib/aws-cloudwatch"; import { DynamicDashboardFactory, IDynamicDashboardSegment } from "../../lib"; @@ -28,7 +28,7 @@ test("dynamic dashboards created", () => { dashboardNamePrefix: "testPrefix", dashboardConfigs: [ { name: TestDashboards.Dynamic1 }, - { name: TestDashboards.Dynamic2 }, + { name: TestDashboards.Dynamic2, range: Duration.days(7) }, ], }); @@ -45,7 +45,7 @@ test("dynamic dashboards created", () => { DashboardName: "testPrefix-Dynamic1", }); result.hasResourceProperties("AWS::CloudWatch::Dashboard", { - DashboardBody: `{"start":"-PT8H","periodOverride":"inherit","widgets":[{"type":"text","width":6,"height":2,"x":0,"y":0,"properties":{"markdown":"Dynamic2"}}]}`, + DashboardBody: `{"start":"-P7D","periodOverride":"inherit","widgets":[{"type":"text","width":6,"height":2,"x":0,"y":0,"properties":{"markdown":"Dynamic2"}}]}`, DashboardName: "testPrefix-Dynamic2", }); });