From 8e9f6ece8d9dd2cf5a9e4e230d65e1aa9eb65966 Mon Sep 17 00:00:00 2001 From: Derek McQuay Date: Tue, 17 Jan 2017 14:20:37 -0800 Subject: [PATCH 1/2] kubeadm: adding integration tests for init removed two tests cases that tested for success because they require waiting for the control plan to get ready --- cmd/kubeadm/test/cmd/init_test.go | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 cmd/kubeadm/test/cmd/init_test.go diff --git a/cmd/kubeadm/test/cmd/init_test.go b/cmd/kubeadm/test/cmd/init_test.go new file mode 100644 index 00000000000..2c43483e489 --- /dev/null +++ b/cmd/kubeadm/test/cmd/init_test.go @@ -0,0 +1,49 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package kubeadm + +import "testing" + +// kubeadmReset executes "kubeadm reset" and restarts kubelet. +func kubeadmReset() error { + _, _, err := RunCmd(kubeadmPath, "reset") + return err +} + +func TestCmdInitToken(t *testing.T) { + var initTest = []struct { + args string + expected bool + }{ + {"--discovery=token://abcd:1234567890abcd", false}, // invalid token size + {"--discovery=token://Abcdef:1234567890abcdef", false}, // invalid token non-lowercase + } + + for _, rt := range initTest { + _, _, actual := RunCmd(kubeadmPath, "init", rt.args, "--skip-preflight-checks") + if (actual == nil) != rt.expected { + t.Errorf( + "failed CmdInitToken running 'kubeadm init %s' with an error: %v\n\texpected: %t\n\t actual: %t", + rt.args, + actual, + rt.expected, + (actual == nil), + ) + } + kubeadmReset() + } +} From 3fc181fb1b8a6cb1e01e50e561fdbeb62dd95111 Mon Sep 17 00:00:00 2001 From: Derek McQuay Date: Wed, 8 Feb 2017 10:10:08 -0800 Subject: [PATCH 2/2] kubeadm: moved to location after SIG discussion --- cmd/kubeadm/test/cmd/BUILD | 5 ++++- cmd/kubeadm/test/cmd/init_test.go | 9 +++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/cmd/kubeadm/test/cmd/BUILD b/cmd/kubeadm/test/cmd/BUILD index 48e86ffd2f6..5b385a59d86 100644 --- a/cmd/kubeadm/test/cmd/BUILD +++ b/cmd/kubeadm/test/cmd/BUILD @@ -16,7 +16,10 @@ go_library( go_test( name = "go_default_test", - srcs = ["token_test.go"], + srcs = [ + "init_test.go", + "token_test.go", + ], args = ["--kubeadm-path=../../kubeadm"], data = ["//cmd/kubeadm"], library = ":go_default_library", diff --git a/cmd/kubeadm/test/cmd/init_test.go b/cmd/kubeadm/test/cmd/init_test.go index 2c43483e489..fbc524237fa 100644 --- a/cmd/kubeadm/test/cmd/init_test.go +++ b/cmd/kubeadm/test/cmd/init_test.go @@ -20,11 +20,16 @@ import "testing" // kubeadmReset executes "kubeadm reset" and restarts kubelet. func kubeadmReset() error { - _, _, err := RunCmd(kubeadmPath, "reset") + _, _, err := RunCmd(*kubeadmPath, "reset") return err } func TestCmdInitToken(t *testing.T) { + if *kubeadmCmdSkip { + t.Log("kubeadm cmd tests being skipped") + t.Skip() + } + var initTest = []struct { args string expected bool @@ -34,7 +39,7 @@ func TestCmdInitToken(t *testing.T) { } for _, rt := range initTest { - _, _, actual := RunCmd(kubeadmPath, "init", rt.args, "--skip-preflight-checks") + _, _, actual := RunCmd(*kubeadmPath, "init", rt.args, "--skip-preflight-checks") if (actual == nil) != rt.expected { t.Errorf( "failed CmdInitToken running 'kubeadm init %s' with an error: %v\n\texpected: %t\n\t actual: %t",