Exemple #1
0
        public void ExtantParametersTest()
        {
            string           environment = "Staging";
            List <Parameter> parameters  = new List <Parameter>(_parameters);

            JObject parameterizedDashboard = GrafanaSerialization.ParameterizeDashboard(_valueReplacementDashboard, parameters, _environments, environment);

            // Expect that the parameters list has not changed
            parameters.Select(p => p.Values[environment]).Should()
            .BeEquivalentTo(_parameters
                            .SelectMany(p => p.Values
                                        .Where(kvp => kvp.Key == environment)
                                        .Select(kvp => kvp.Value)));

            // Expect that the dashboard values are replaced with the preset parameter names
            parameterizedDashboard.SelectToken("$.dashboard.panels[0].targets[0].azureMonitor.resourceGroup")?.Value <string>()
            .Should().NotBeNull()
            .And.StartWith("[parameter(MyNamedValue1Parameter)]");
            parameterizedDashboard.SelectToken("$.dashboard.panels[0].targets[0].azureMonitor.resourceName")?.Value <string>()
            .Should().NotBeNull()
            .And.StartWith("[parameter(MyNamedValue2Parameter)]");
            parameterizedDashboard.SelectToken("$.dashboard.panels[1].targets[0].azureLogAnalytics.resource")?.Value <string>()
            .Should().NotBeNull()
            .And.StartWith("[parameter(MyNamedValue1Parameter)]");
        }
Exemple #2
0
        public void NoExtantParametersTest()
        {
            List <Parameter> parameters = new List <Parameter>();

            string environment = "Staging";

            JObject parameterizedDashboard = GrafanaSerialization.ParameterizeDashboard(_valueReplacementDashboard, parameters, _environments, environment);

            parameters.Should()
            .HaveCount(2);
            parameters.Select(p => p.Values.Keys).Should()
            .AllBeEquivalentTo(_environments);
            parameters.Select(p => p.Values[environment]).Should()
            .BeEquivalentTo(_parameters
                            .SelectMany(p => p.Values
                                        .Where(kvp => kvp.Key == environment)
                                        .Select(kvp => kvp.Value)));

            parameterizedDashboard.SelectToken("$.dashboard.panels[0].targets[0].azureMonitor.resourceGroup")?.Value <string>()
            .Should().NotBeNull().And.StartWith("[parameter(");
            parameterizedDashboard.SelectToken("$.dashboard.panels[0].targets[0].azureMonitor.resourceName")?.Value <string>()
            .Should().NotBeNull().And.StartWith("[parameter(");
            parameterizedDashboard.SelectToken("$.dashboard.panels[1].targets[0].azureLogAnalytics.resource")?.Value <string>()
            .Should().NotBeNull().And.StartWith("[parameter(");
        }