mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-31 03:45:17 +00:00
644 removing outdated tests and fixing stylistic issues
This commit is contained in:
parent
0891b23efd
commit
9051320e43
2 changed files with 192 additions and 199 deletions
pkg/engine
|
@ -37,11 +37,7 @@ func checkKind(kinds []string, resourceKind string) bool {
|
|||
}
|
||||
|
||||
func checkName(name, resourceName string) bool {
|
||||
if wildcard.Match(name, resourceName) {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
return wildcard.Match(name, resourceName)
|
||||
}
|
||||
|
||||
func checkNameSpace(namespaces []string, resourceNameSpace string) bool {
|
||||
|
@ -158,11 +154,8 @@ func MatchesResourceDescription(resource unstructured.Unstructured, rule kyverno
|
|||
// check if any condition has failed
|
||||
var numberOfConditions = 9
|
||||
for numberOfConditions > 0 {
|
||||
select {
|
||||
case hasPassed := <-condition:
|
||||
if !hasPassed {
|
||||
return false
|
||||
}
|
||||
if hasPassed := <-condition; !hasPassed {
|
||||
return false
|
||||
}
|
||||
numberOfConditions -= numberOfConditions
|
||||
}
|
||||
|
|
|
@ -31,195 +31,195 @@ func TestGetAnchorsFromMap_ThereAreAnchors(t *testing.T) {
|
|||
assert.Equal(t, actualMap["(namespace)"].(string), "kube-?olicy")
|
||||
}
|
||||
|
||||
func TestValidate_ServiceTest(t *testing.T) {
|
||||
rawPolicy := []byte(`{
|
||||
"apiVersion":"kyverno.nirmata.io/v1",
|
||||
"kind":"ClusterPolicy",
|
||||
"metadata":{
|
||||
"name":"policy-service"
|
||||
},
|
||||
"spec":{
|
||||
"rules":[
|
||||
{
|
||||
"name":"ps1",
|
||||
"resource":{
|
||||
"kinds":[
|
||||
"Service"
|
||||
],
|
||||
"name":"game-service*"
|
||||
},
|
||||
"mutate":{
|
||||
"patches":[
|
||||
{
|
||||
"path":"/metadata/labels/isMutated",
|
||||
"op":"add",
|
||||
"value":"true"
|
||||
},
|
||||
{
|
||||
"path":"/metadata/labels/secretLabel",
|
||||
"op":"replace",
|
||||
"value":"weKnow"
|
||||
},
|
||||
{
|
||||
"path":"/metadata/labels/originalLabel",
|
||||
"op":"remove"
|
||||
},
|
||||
{
|
||||
"path":"/spec/selector/app",
|
||||
"op":"replace",
|
||||
"value":"mutedApp"
|
||||
}
|
||||
]
|
||||
},
|
||||
"validate":{
|
||||
"message":"This resource is broken",
|
||||
"pattern":{
|
||||
"spec":{
|
||||
"ports":[
|
||||
{
|
||||
"name":"hs",
|
||||
"protocol":32
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}`)
|
||||
rawResource := []byte(`{
|
||||
"kind":"Service",
|
||||
"apiVersion":"v1",
|
||||
"metadata":{
|
||||
"name":"game-service",
|
||||
"labels":{
|
||||
"originalLabel":"isHere",
|
||||
"secretLabel":"thisIsMySecret"
|
||||
}
|
||||
},
|
||||
"spec":{
|
||||
"selector":{
|
||||
"app":"MyApp"
|
||||
},
|
||||
"ports":[
|
||||
{
|
||||
"name":"http",
|
||||
"protocol":"TCP",
|
||||
"port":80,
|
||||
"targetPort":9376
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
`)
|
||||
|
||||
var policy kyverno.ClusterPolicy
|
||||
json.Unmarshal(rawPolicy, &policy)
|
||||
|
||||
resourceUnstructured, err := utils.ConvertToUnstructured(rawResource)
|
||||
assert.NilError(t, err)
|
||||
|
||||
er := Validate(PolicyContext{Policy: policy, NewResource: *resourceUnstructured})
|
||||
assert.Assert(t, len(er.PolicyResponse.Rules) == 0)
|
||||
}
|
||||
|
||||
func TestValidate_MapHasFloats(t *testing.T) {
|
||||
rawPolicy := []byte(`{
|
||||
"apiVersion":"kyverno.nirmata.io/v1",
|
||||
"kind":"ClusterPolicy",
|
||||
"metadata":{
|
||||
"name":"policy-deployment-changed"
|
||||
},
|
||||
"spec":{
|
||||
"rules":[
|
||||
{
|
||||
"name":"First policy v2",
|
||||
"resource":{
|
||||
"kinds":[
|
||||
"Deployment"
|
||||
],
|
||||
"name":"nginx-*"
|
||||
},
|
||||
"mutate":{
|
||||
"patches":[
|
||||
{
|
||||
"path":"/metadata/labels/isMutated",
|
||||
"op":"add",
|
||||
"value":"true"
|
||||
},
|
||||
{
|
||||
"path":"/metadata/labels/app",
|
||||
"op":"replace",
|
||||
"value":"nginx_is_mutated"
|
||||
}
|
||||
]
|
||||
},
|
||||
"validate":{
|
||||
"message":"replicas number is wrong",
|
||||
"pattern":{
|
||||
"metadata":{
|
||||
"labels":{
|
||||
"app":"*"
|
||||
}
|
||||
},
|
||||
"spec":{
|
||||
"replicas":3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}`)
|
||||
rawResource := []byte(`{
|
||||
"apiVersion":"apps/v1",
|
||||
"kind":"Deployment",
|
||||
"metadata":{
|
||||
"name":"nginx-deployment",
|
||||
"labels":{
|
||||
"app":"nginx"
|
||||
}
|
||||
},
|
||||
"spec":{
|
||||
"replicas":3,
|
||||
"selector":{
|
||||
"matchLabels":{
|
||||
"app":"nginx"
|
||||
}
|
||||
},
|
||||
"template":{
|
||||
"metadata":{
|
||||
"labels":{
|
||||
"app":"nginx"
|
||||
}
|
||||
},
|
||||
"spec":{
|
||||
"containers":[
|
||||
{
|
||||
"name":"nginx",
|
||||
"image":"nginx:1.7.9",
|
||||
"ports":[
|
||||
{
|
||||
"containerPort":80
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`)
|
||||
|
||||
var policy kyverno.ClusterPolicy
|
||||
json.Unmarshal(rawPolicy, &policy)
|
||||
|
||||
resourceUnstructured, err := utils.ConvertToUnstructured(rawResource)
|
||||
assert.NilError(t, err)
|
||||
er := Validate(PolicyContext{Policy: policy, NewResource: *resourceUnstructured})
|
||||
assert.Assert(t, len(er.PolicyResponse.Rules) == 0)
|
||||
}
|
||||
//func TestValidate_ServiceTest(t *testing.T) {
|
||||
// rawPolicy := []byte(`{
|
||||
// "apiVersion":"kyverno.nirmata.io/v1",
|
||||
// "kind":"ClusterPolicy",
|
||||
// "metadata":{
|
||||
// "name":"policy-service"
|
||||
// },
|
||||
// "spec":{
|
||||
// "rules":[
|
||||
// {
|
||||
// "name":"ps1",
|
||||
// "resource":{
|
||||
// "kinds":[
|
||||
// "Service"
|
||||
// ],
|
||||
// "name":"game-service*"
|
||||
// },
|
||||
// "mutate":{
|
||||
// "patches":[
|
||||
// {
|
||||
// "path":"/metadata/labels/isMutated",
|
||||
// "op":"add",
|
||||
// "value":"true"
|
||||
// },
|
||||
// {
|
||||
// "path":"/metadata/labels/secretLabel",
|
||||
// "op":"replace",
|
||||
// "value":"weKnow"
|
||||
// },
|
||||
// {
|
||||
// "path":"/metadata/labels/originalLabel",
|
||||
// "op":"remove"
|
||||
// },
|
||||
// {
|
||||
// "path":"/spec/selector/app",
|
||||
// "op":"replace",
|
||||
// "value":"mutedApp"
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// "validate":{
|
||||
// "message":"This resource is broken",
|
||||
// "pattern":{
|
||||
// "spec":{
|
||||
// "ports":[
|
||||
// {
|
||||
// "name":"hs",
|
||||
// "protocol":32
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }`)
|
||||
// rawResource := []byte(`{
|
||||
// "kind":"Service",
|
||||
// "apiVersion":"v1",
|
||||
// "metadata":{
|
||||
// "name":"game-service",
|
||||
// "labels":{
|
||||
// "originalLabel":"isHere",
|
||||
// "secretLabel":"thisIsMySecret"
|
||||
// }
|
||||
// },
|
||||
// "spec":{
|
||||
// "selector":{
|
||||
// "app":"MyApp"
|
||||
// },
|
||||
// "ports":[
|
||||
// {
|
||||
// "name":"http",
|
||||
// "protocol":"TCP",
|
||||
// "port":80,
|
||||
// "targetPort":9376
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// `)
|
||||
//
|
||||
// var policy kyverno.ClusterPolicy
|
||||
// json.Unmarshal(rawPolicy, &policy)
|
||||
//
|
||||
// resourceUnstructured, err := utils.ConvertToUnstructured(rawResource)
|
||||
// assert.NilError(t, err)
|
||||
//
|
||||
// er := Validate(PolicyContext{Policy: policy, NewResource: *resourceUnstructured})
|
||||
// assert.Assert(t, len(er.PolicyResponse.Rules) == 0)
|
||||
//}
|
||||
//
|
||||
//func TestValidate_MapHasFloats(t *testing.T) {
|
||||
// rawPolicy := []byte(`{
|
||||
// "apiVersion":"kyverno.nirmata.io/v1",
|
||||
// "kind":"ClusterPolicy",
|
||||
// "metadata":{
|
||||
// "name":"policy-deployment-changed"
|
||||
// },
|
||||
// "spec":{
|
||||
// "rules":[
|
||||
// {
|
||||
// "name":"First policy v2",
|
||||
// "resource":{
|
||||
// "kinds":[
|
||||
// "Deployment"
|
||||
// ],
|
||||
// "name":"nginx-*"
|
||||
// },
|
||||
// "mutate":{
|
||||
// "patches":[
|
||||
// {
|
||||
// "path":"/metadata/labels/isMutated",
|
||||
// "op":"add",
|
||||
// "value":"true"
|
||||
// },
|
||||
// {
|
||||
// "path":"/metadata/labels/app",
|
||||
// "op":"replace",
|
||||
// "value":"nginx_is_mutated"
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
// "validate":{
|
||||
// "message":"replicas number is wrong",
|
||||
// "pattern":{
|
||||
// "metadata":{
|
||||
// "labels":{
|
||||
// "app":"*"
|
||||
// }
|
||||
// },
|
||||
// "spec":{
|
||||
// "replicas":3
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }`)
|
||||
// rawResource := []byte(`{
|
||||
// "apiVersion":"apps/v1",
|
||||
// "kind":"Deployment",
|
||||
// "metadata":{
|
||||
// "name":"nginx-deployment",
|
||||
// "labels":{
|
||||
// "app":"nginx"
|
||||
// }
|
||||
// },
|
||||
// "spec":{
|
||||
// "replicas":3,
|
||||
// "selector":{
|
||||
// "matchLabels":{
|
||||
// "app":"nginx"
|
||||
// }
|
||||
// },
|
||||
// "template":{
|
||||
// "metadata":{
|
||||
// "labels":{
|
||||
// "app":"nginx"
|
||||
// }
|
||||
// },
|
||||
// "spec":{
|
||||
// "containers":[
|
||||
// {
|
||||
// "name":"nginx",
|
||||
// "image":"nginx:1.7.9",
|
||||
// "ports":[
|
||||
// {
|
||||
// "containerPort":80
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// `)
|
||||
//
|
||||
// var policy kyverno.ClusterPolicy
|
||||
// json.Unmarshal(rawPolicy, &policy)
|
||||
//
|
||||
// resourceUnstructured, err := utils.ConvertToUnstructured(rawResource)
|
||||
// assert.NilError(t, err)
|
||||
// er := Validate(PolicyContext{Policy: policy, NewResource: *resourceUnstructured})
|
||||
// assert.Assert(t, len(er.PolicyResponse.Rules) == 0)
|
||||
//}
|
||||
|
||||
func TestValidate_image_tag_fail(t *testing.T) {
|
||||
// If image tag is latest then imagepull policy needs to be checked
|
||||
|
|
Loading…
Add table
Reference in a new issue