From 124dab6c5abb2edadcd9b5dc6d0c0dc4468d9aee Mon Sep 17 00:00:00 2001 From: Derek McQuay Date: Thu, 3 Nov 2016 14:17:13 -0700 Subject: [PATCH] kubeadm: unit tests for app/master/kubeconfig.go --- cmd/kubeadm/app/master/kubeconfig_test.go | 70 +++++++++++++++++++++++ cmd/kubeadm/app/master/tokens_test.go | 3 - 2 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 cmd/kubeadm/app/master/kubeconfig_test.go diff --git a/cmd/kubeadm/app/master/kubeconfig_test.go b/cmd/kubeadm/app/master/kubeconfig_test.go new file mode 100644 index 00000000000..2b0fb0e1f48 --- /dev/null +++ b/cmd/kubeadm/app/master/kubeconfig_test.go @@ -0,0 +1,70 @@ +/* +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 master + +import ( + "crypto/rand" + "crypto/rsa" + "crypto/x509" + "testing" + + kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" +) + +func TestCreateCertsAndConfigForClients(t *testing.T) { + var tests = []struct { + a kubeadmapi.API + cn []string + caKeySize int + expected bool + }{ + { + a: kubeadmapi.API{AdvertiseAddresses: []string{"foo"}}, + cn: []string{"localhost"}, + caKeySize: 128, + expected: false, + }, + { + a: kubeadmapi.API{AdvertiseAddresses: []string{"foo"}}, + cn: []string{}, + caKeySize: 128, + expected: true, + }, + { + a: kubeadmapi.API{AdvertiseAddresses: []string{"foo"}}, + cn: []string{"localhost"}, + caKeySize: 2048, + expected: true, + }, + } + + for _, rt := range tests { + caKey, err := rsa.GenerateKey(rand.Reader, rt.caKeySize) + if err != nil { + t.Fatalf("Couldn't create rsa Private Key") + } + caCert := &x509.Certificate{} + _, actual := CreateCertsAndConfigForClients(rt.a, rt.cn, caKey, caCert) + if (actual == nil) != rt.expected { + t.Errorf( + "failed UseGivenTokenIfValid:\n\texpected: %t\n\t actual: %t", + rt.expected, + (actual == nil), + ) + } + } +} diff --git a/cmd/kubeadm/app/master/tokens_test.go b/cmd/kubeadm/app/master/tokens_test.go index 721caf4c9bd..3a09b403a3a 100644 --- a/cmd/kubeadm/app/master/tokens_test.go +++ b/cmd/kubeadm/app/master/tokens_test.go @@ -38,8 +38,6 @@ func TestGenerateTokenIfNeeded(t *testing.T) { for _, rt := range tests { actual := generateTokenIfNeeded(&rt.s) - fmt.Println("here is a run:") - fmt.Println(actual) if (actual == nil) != rt.expected { t.Errorf( "failed UseGivenTokenIfValid:\n\texpected: %t\n\t actual: %t\n\t token:%s", @@ -57,7 +55,6 @@ func TestCreateTokenAuthFile(t *testing.T) { t.Fatalf("Couldn't create tmpdir") } defer os.Remove(tmpdir) - fmt.Println(tmpdir) // set up tmp GlobalEnvParams values for testing oldEnv := kubeadmapi.GlobalEnvParams