Skip to content

Commit c545cba

Browse files
committed
Add test for create controller
1 parent 62a5b54 commit c545cba

File tree

1 file changed

+48
-2
lines changed

1 file changed

+48
-2
lines changed

test.sh

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ EOF
361361

362362

363363
kubebuilder create resource --group insect --version v1beta1 --kind Wasp
364-
kubebuilder create resource --group ant --version v1beta1 --kind Ant
364+
kubebuilder create resource --group ant --version v1beta1 --kind Ant --controller=false
365365
kubebuilder create config --crds --output crd.yaml
366366

367367
# Check for ordering of generated YAML
@@ -502,15 +502,61 @@ function test_docs {
502502
diff docs/reference/config.yaml $kb_orig/test/docs/expected/config.yaml
503503
}
504504

505+
function generate_controller {
506+
header_text "creating controller"
507+
kubebuilder create controller --group ant --version v1beta1 --kind Ant
508+
}
509+
510+
function update_controller_test {
511+
# Update import
512+
sed -i 's!"k8s.io/client-go/kubernetes/typed/apps/v1beta2"!&\n "k8s.io/api/core/v1"!' ./pkg/controller/deployment/controller_test.go
513+
514+
# Fill deployment instance
515+
sed -i 's!instance.Name = "instance-1"!&\n instance.Spec.Template.Spec.Containers = []v1.Container{{Name: "name", Image: "someimage"}}\n labels := map[string]string{"foo": "bar"}\n instance.Spec.Template.ObjectMeta.Labels = labels\n instance.Spec.Selector = \&metav1.LabelSelector{MatchLabels: labels}!' ./pkg/controller/deployment/controller_test.go
516+
}
517+
518+
function generate_coretype_controller {
519+
header_text "generating controller for coretype Deployment"
520+
521+
# Run the commands
522+
kubebuilder init repo --domain sample.kubernetes.io --controller-only
523+
kubebuilder create controller --group apps --version v1beta2 --kind Deployment --core-type
524+
525+
# Update the controller test
526+
update_controller_test
527+
}
528+
529+
function generate_resource_with_coretype_controller {
530+
header_text "generating CRD resource as well as controller for coretype Deployment"
531+
532+
# Run the commands
533+
kubebuilder init repo --domain sample.kubernetes.io
534+
kubebuilder create resource --group ant --version v1beta1 --kind Ant
535+
kubebuilder create controller --group apps --version v1beta2 --kind Deployment --core-type
536+
537+
# Update the controller test
538+
update_controller_test
539+
}
540+
505541
prepare_staging_dir
506542
fetch_tools
507543
build_kb
508-
prepare_testdir_under_gopath
509544

545+
prepare_testdir_under_gopath
510546
generate_crd_resources
547+
generate_controller
511548
test_docs
512549
test_generated_controller
513550
test_vendor_update
514551
# re-running controller tests post vendor update
515552
test_generated_controller
553+
554+
prepare_testdir_under_gopath
555+
generate_resource_with_coretype_controller
556+
test_generated_controller
557+
558+
prepare_testdir_under_gopath
559+
generate_coretype_controller
560+
test_generated_controller
561+
516562
exit $rc

0 commit comments

Comments
 (0)