Exemplo n.º 1
0
        private void ValidateSummarizeResults(SummarizeResults summarizeResults)
        {
            Assert.NotNull(summarizeResults);

            Assert.False(string.IsNullOrEmpty(summarizeResults.Odatacontext));
            Assert.True(summarizeResults.Odatacount.HasValue);
            Assert.True(1 == summarizeResults.Odatacount.Value);

            Assert.NotNull(summarizeResults.Value);
            Assert.True(1 == summarizeResults.Value.Count);

            var summary = summarizeResults.Value[0];

            Assert.NotNull(summary);

            Assert.Null(summary.Odataid);
            Assert.False(string.IsNullOrEmpty(summary.Odatacontext));

            Assert.NotNull(summary.Results);
            Assert.False(string.IsNullOrEmpty(summary.Results.QueryResultsUri));
            Assert.True(summary.Results.NonCompliantResources.HasValue);
            Assert.True(summary.Results.NonCompliantPolicies.HasValue);

            Assert.NotNull(summary.PolicyAssignments);

            foreach (var policyAssignmentSummary in summary.PolicyAssignments)
            {
                Assert.NotNull(policyAssignmentSummary);

                Assert.False(string.IsNullOrEmpty(policyAssignmentSummary.PolicyAssignmentId));

                Assert.NotNull(policyAssignmentSummary.Results);
                Assert.False(string.IsNullOrEmpty(policyAssignmentSummary.Results.QueryResultsUri));
                Assert.True(policyAssignmentSummary.Results.NonCompliantResources.HasValue);
                Assert.True(policyAssignmentSummary.Results.NonCompliantPolicies.HasValue);

                Assert.NotNull(policyAssignmentSummary.PolicyDefinitions);
                Assert.True(policyAssignmentSummary.PolicyDefinitions.Count == policyAssignmentSummary.Results.NonCompliantPolicies.Value);

                if (policyAssignmentSummary.Results.NonCompliantPolicies.Value > 1)
                {
                    Assert.False(string.IsNullOrEmpty(policyAssignmentSummary.PolicySetDefinitionId));
                }

                foreach (var policyDefinitionSummary in policyAssignmentSummary.PolicyDefinitions)
                {
                    Assert.NotNull(policyDefinitionSummary);

                    Assert.False(string.IsNullOrEmpty(policyDefinitionSummary.PolicyDefinitionId));
                    Assert.False(string.IsNullOrEmpty(policyDefinitionSummary.Effect));

                    Assert.NotNull(policyDefinitionSummary.Results);
                    Assert.False(string.IsNullOrEmpty(policyDefinitionSummary.Results.QueryResultsUri));
                    Assert.True(policyDefinitionSummary.Results.NonCompliantResources.HasValue);
                    Assert.False(policyDefinitionSummary.Results.NonCompliantPolicies.HasValue);
                }
            }
        }
        private void ValidateSummarizeResults(SummarizeResults summarizeResults)
        {
            Assert.NotNull(summarizeResults);

            Assert.False(string.IsNullOrEmpty(summarizeResults.Odatacontext));
            Assert.True(summarizeResults.Odatacount.HasValue);
            Assert.True(1 == summarizeResults.Odatacount.Value);

            Assert.NotNull(summarizeResults.Value);
            Assert.True(1 == summarizeResults.Value.Count);

            var summary = summarizeResults.Value[0];

            Assert.NotNull(summary);

            Assert.Null(summary.Odataid);
            Assert.False(string.IsNullOrEmpty(summary.Odatacontext));

            Assert.NotNull(summary.Results);
            Assert.False(string.IsNullOrEmpty(summary.Results.QueryResultsUri));
            Assert.True(summary.Results.NonCompliantResources.HasValue);
            Assert.True(summary.Results.NonCompliantPolicies.HasValue);
            Assert.NotNull(summary.Results.ResourceDetails);
            Assert.NotNull(summary.Results.PolicyDetails);
            Assert.NotNull(summary.Results.PolicyGroupDetails);
            Assert.NotNull(summary.PolicyAssignments);

            foreach (var policyAssignmentSummary in summary.PolicyAssignments)
            {
                Assert.NotNull(policyAssignmentSummary);

                Assert.False(string.IsNullOrEmpty(policyAssignmentSummary.PolicyAssignmentId));

                Assert.NotNull(policyAssignmentSummary.Results);
                Assert.False(string.IsNullOrEmpty(policyAssignmentSummary.Results.QueryResultsUri));
                Assert.True(policyAssignmentSummary.Results.NonCompliantResources.HasValue);
                Assert.True(policyAssignmentSummary.Results.NonCompliantPolicies.HasValue);

                Assert.NotNull(policyAssignmentSummary.PolicyDefinitions);
                var nonCompliantPolicies =
                    policyAssignmentSummary
                    .PolicyDefinitions
                    .Where(policyDef => policyDef.Results.PolicyDetails.Any(policyDetails =>
                                                                            string.Equals(policyDetails.ComplianceState, "NonCompliant",
                                                                                          StringComparison.OrdinalIgnoreCase)));

                Assert.True(nonCompliantPolicies.Count() == policyAssignmentSummary.Results.NonCompliantPolicies.Value);

                if (policyAssignmentSummary.Results.NonCompliantPolicies.Value > 1)
                {
                    Assert.False(string.IsNullOrEmpty(policyAssignmentSummary.PolicySetDefinitionId));
                }

                foreach (var policyDefinitionSummary in policyAssignmentSummary.PolicyDefinitions)
                {
                    Assert.NotNull(policyDefinitionSummary);

                    Assert.False(string.IsNullOrEmpty(policyDefinitionSummary.PolicyDefinitionId));
                    Assert.False(string.IsNullOrEmpty(policyDefinitionSummary.Effect));

                    Assert.NotNull(policyDefinitionSummary.Results);
                    Assert.False(string.IsNullOrEmpty(policyDefinitionSummary.Results.QueryResultsUri));
                    Assert.True(policyDefinitionSummary.Results.NonCompliantResources.HasValue);
                    Assert.False(policyDefinitionSummary.Results.NonCompliantPolicies.HasValue);
                    Assert.NotNull(policyDefinitionSummary.PolicyDefinitionGroupNames);
                }

                Assert.NotNull(policyAssignmentSummary.PolicyGroups);

                foreach (var policyGroup in policyAssignmentSummary.PolicyGroups)
                {
                    Assert.NotNull(policyGroup);
                    Assert.NotNull(policyGroup.PolicyGroupName);
                    Assert.NotNull(policyGroup.Results);
                    Assert.False(string.IsNullOrEmpty(policyGroup.Results.QueryResultsUri));
                    Assert.True(policyGroup.Results.NonCompliantResources.HasValue);
                    Assert.False(policyGroup.Results.NonCompliantPolicies.HasValue);
                    Assert.NotNull(policyGroup.Results.ResourceDetails);
                    Assert.NotNull(policyGroup.Results.PolicyDetails);
                    Assert.NotNull(policyGroup.Results.PolicyGroupDetails);
                    Assert.NotEmpty(policyGroup.Results.PolicyGroupDetails);
                }
            }
        }