mirror of https://github.com/k3s-io/k3s
Merge pull request #70956 from apelisse/add-diff-test
Add test for CRD server-dry-run and fix bugpull/58/head
commit
4c4a76557d
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
package util
|
package util
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
@ -34,10 +35,10 @@ func CRDFromDynamic(client dynamic.Interface) CRDGetter {
|
||||||
list, err := client.Resource(schema.GroupVersionResource{
|
list, err := client.Resource(schema.GroupVersionResource{
|
||||||
Group: "apiextensions.k8s.io",
|
Group: "apiextensions.k8s.io",
|
||||||
Version: "v1beta1",
|
Version: "v1beta1",
|
||||||
Resource: "curstomresourcedefinitions",
|
Resource: "customresourcedefinitions",
|
||||||
}).List(metav1.ListOptions{})
|
}).List(metav1.ListOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("failed to list CRDs: %v", err)
|
||||||
}
|
}
|
||||||
if list == nil {
|
if list == nil {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
|
|
@ -93,6 +93,37 @@ run_kubectl_apply_tests() {
|
||||||
# clean-up
|
# clean-up
|
||||||
kubectl delete -f hack/testdata/pod.yaml "${kube_flags[@]}"
|
kubectl delete -f hack/testdata/pod.yaml "${kube_flags[@]}"
|
||||||
|
|
||||||
|
## kubectl apply dry-run on CR
|
||||||
|
# Create CRD
|
||||||
|
kubectl "${kube_flags_with_token[@]}" create -f - << __EOF__
|
||||||
|
{
|
||||||
|
"kind": "CustomResourceDefinition",
|
||||||
|
"apiVersion": "apiextensions.k8s.io/v1beta1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "resources.mygroup.example.com"
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"group": "mygroup.example.com",
|
||||||
|
"version": "v1alpha1",
|
||||||
|
"scope": "Namespaced",
|
||||||
|
"names": {
|
||||||
|
"plural": "resources",
|
||||||
|
"singular": "resource",
|
||||||
|
"kind": "Kind",
|
||||||
|
"listKind": "KindList"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
__EOF__
|
||||||
|
|
||||||
|
# Dry-run create the CR
|
||||||
|
kubectl "${kube_flags[@]}" apply --server-dry-run -f hack/testdata/CRD/resource.yaml "${kube_flags[@]}"
|
||||||
|
# Make sure that the CR doesn't exist
|
||||||
|
! kubectl "${kube_flags[@]}" get resource/myobj
|
||||||
|
|
||||||
|
# clean-up
|
||||||
|
kubectl "${kube_flags[@]}" delete customresourcedefinition resources.mygroup.example.com
|
||||||
|
|
||||||
## kubectl apply --prune
|
## kubectl apply --prune
|
||||||
# Pre-Condition: no POD exists
|
# Pre-Condition: no POD exists
|
||||||
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" ''
|
kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" ''
|
||||||
|
|
Loading…
Reference in New Issue