mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-31 03:45:17 +00:00
fixed test cases
Signed-off-by: NoSkillGirl <singhpooja240393@gmail.com>
This commit is contained in:
parent
1180ba4a86
commit
1b0c80b39f
2 changed files with 21 additions and 14 deletions
|
@ -76,7 +76,7 @@ type TestResults struct {
|
|||
Result report.PolicyResult `json:"result"`
|
||||
Status report.PolicyResult `json:"status"`
|
||||
Resource string `json:"resource"`
|
||||
AutoGeneratedRule bool `json:"auto_generated_rule"`
|
||||
AutoGeneratedRule string `json:"auto_generated_rule"`
|
||||
}
|
||||
|
||||
type ReportResult struct {
|
||||
|
@ -247,6 +247,7 @@ func buildPolicyResults(resps []*response.EngineResponse, testResults []TestResu
|
|||
for _, rule := range resp.PolicyResponse.Rules {
|
||||
rules = append(rules, rule.Name)
|
||||
}
|
||||
|
||||
result := report.PolicyReportResult{
|
||||
Policy: policyName,
|
||||
Resources: []*corev1.ObjectReference{
|
||||
|
@ -255,16 +256,23 @@ func buildPolicyResults(resps []*response.EngineResponse, testResults []TestResu
|
|||
},
|
||||
},
|
||||
}
|
||||
|
||||
for i, test := range testResults {
|
||||
if test.Policy == policyName && test.Resource == resourceName {
|
||||
if !util.ContainsString(rules, test.Rule) {
|
||||
if !util.ContainsString(rules, "autogen-"+test.Rule) {
|
||||
result.Result = report.StatusSkip
|
||||
if !util.ContainsString(rules, "autogen-cronjob-"+test.Rule) {
|
||||
result.Result = report.StatusSkip
|
||||
} else {
|
||||
testResults[i].AutoGeneratedRule = "autogen-cronjob"
|
||||
test.Rule = "autogen-cronjob-" + test.Rule
|
||||
}
|
||||
} else {
|
||||
testResults[i].AutoGeneratedRule = true
|
||||
testResults[i].AutoGeneratedRule = "autogen"
|
||||
test.Rule = "autogen-" + test.Rule
|
||||
}
|
||||
}
|
||||
|
||||
resultsKey := fmt.Sprintf("%s-%s-%s", test.Policy, test.Rule, test.Resource)
|
||||
if _, ok := results[resultsKey]; !ok {
|
||||
results[resultsKey] = result
|
||||
|
@ -276,10 +284,10 @@ func buildPolicyResults(resps []*response.EngineResponse, testResults []TestResu
|
|||
for _, info := range infos {
|
||||
for _, infoResult := range info.Results {
|
||||
for _, rule := range infoResult.Rules {
|
||||
|
||||
if rule.Type != utils.Validation.String() {
|
||||
continue
|
||||
}
|
||||
|
||||
var result report.PolicyReportResult
|
||||
resultsKey := fmt.Sprintf("%s-%s-%s", info.PolicyName, rule.Name, infoResult.Resource.Name)
|
||||
if val, ok := results[resultsKey]; ok {
|
||||
|
@ -287,13 +295,12 @@ func buildPolicyResults(resps []*response.EngineResponse, testResults []TestResu
|
|||
} else {
|
||||
continue
|
||||
}
|
||||
|
||||
result.Rule = rule.Name
|
||||
result.Result = report.PolicyResult(rule.Check)
|
||||
|
||||
result.Source = policyreport.SourceValue
|
||||
result.Timestamp = now
|
||||
results[resultsKey] = result
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -439,8 +446,8 @@ func printTestResult(resps map[string]report.PolicyReportResult, testResults []T
|
|||
res.Resource = boldFgCyan.Sprintf(v.Resource)
|
||||
|
||||
var ruleNameInResultKey string
|
||||
if v.AutoGeneratedRule {
|
||||
ruleNameInResultKey = fmt.Sprintf("autogen-%s", v.Rule)
|
||||
if v.AutoGeneratedRule != "" {
|
||||
ruleNameInResultKey = fmt.Sprintf("%s-%s", v.AutoGeneratedRule, v.Rule)
|
||||
} else {
|
||||
ruleNameInResultKey = v.Rule
|
||||
}
|
||||
|
|
|
@ -17,36 +17,36 @@ results:
|
|||
|
||||
# TEST: Deployment with Labels Should Pass
|
||||
- policy: require-common-labels
|
||||
rule: autogen-check-for-labels
|
||||
rule: check-for-labels
|
||||
result: pass
|
||||
resource: deployment-with-labels
|
||||
|
||||
# TEST: Deployment with Labels Should Fail
|
||||
- policy: require-common-labels
|
||||
rule: autogen-check-for-labels
|
||||
rule: check-for-labels
|
||||
result: fail
|
||||
resource: deployment-missing-labels
|
||||
|
||||
# TEST: StatefulSet with Labels Should Pass
|
||||
- policy: require-common-labels
|
||||
rule: autogen-check-for-labels
|
||||
rule: check-for-labels
|
||||
result: pass
|
||||
resource: StatefulSet-with-labels
|
||||
|
||||
# TEST: StatefulSet with Labels Should fail
|
||||
- policy: require-common-labels
|
||||
rule: autogen-check-for-labels
|
||||
rule: check-for-labels
|
||||
result: fail
|
||||
resource: StatefulSet-without-labels
|
||||
|
||||
# TEST: Cronjob with Labels Should pass
|
||||
- policy: require-common-labels
|
||||
rule: autogen-cronjob-check-for-labels
|
||||
rule: check-for-labels
|
||||
result: pass
|
||||
resource: cronjob-with-labels
|
||||
|
||||
# TEST: Cronjob without Labels Should fail
|
||||
- policy: require-common-labels
|
||||
rule: autogen-cronjob-check-for-labels
|
||||
rule: check-for-labels
|
||||
result: fail
|
||||
resource: cronjob-without-labels
|
||||
|
|
Loading…
Add table
Reference in a new issue