Merge pull request #116656 from HirazawaUi/fik-fd-leaks
Cleanup fd leaks and file removal cleanup
This commit is contained in:
@@ -26,6 +26,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
"github.com/lithammer/dedent"
|
"github.com/lithammer/dedent"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
@@ -195,7 +197,7 @@ func TestFileExistingCheck(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to create file: %v", err)
|
t.Fatalf("Failed to create file: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(f.Name())
|
defer utiltesting.CloseAndRemove(t, f)
|
||||||
var tests = []struct {
|
var tests = []struct {
|
||||||
name string
|
name string
|
||||||
check FileExistingCheck
|
check FileExistingCheck
|
||||||
@@ -234,7 +236,7 @@ func TestFileAvailableCheck(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to create file: %v", err)
|
t.Fatalf("Failed to create file: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(f.Name())
|
defer utiltesting.CloseAndRemove(t, f)
|
||||||
var tests = []struct {
|
var tests = []struct {
|
||||||
name string
|
name string
|
||||||
check FileAvailableCheck
|
check FileAvailableCheck
|
||||||
@@ -461,8 +463,8 @@ func TestConfigRootCAs(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("failed configRootCAs:\n\texpected: succeed creating temp CA file\n\tactual:%v", err)
|
t.Errorf("failed configRootCAs:\n\texpected: succeed creating temp CA file\n\tactual:%v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(f.Name())
|
defer utiltesting.CloseAndRemove(t, f)
|
||||||
if err := os.WriteFile(f.Name(), []byte(externalEtcdRootCAFileContent), 0644); err != nil {
|
if _, err := f.Write([]byte(externalEtcdRootCAFileContent)); err != nil {
|
||||||
t.Errorf("failed configRootCAs:\n\texpected: succeed writing contents to temp CA file %s\n\tactual:%v", f.Name(), err)
|
t.Errorf("failed configRootCAs:\n\texpected: succeed writing contents to temp CA file %s\n\tactual:%v", f.Name(), err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -490,8 +492,8 @@ func TestConfigCertAndKey(t *testing.T) {
|
|||||||
err,
|
err,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
defer os.Remove(certFile.Name())
|
defer utiltesting.CloseAndRemove(t, certFile)
|
||||||
if err := os.WriteFile(certFile.Name(), []byte(externalEtcdCertFileContent), 0644); err != nil {
|
if _, err := certFile.Write([]byte(externalEtcdCertFileContent)); err != nil {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed configCertAndKey:\n\texpected: succeed writing contents to temp CertFile file %s\n\tactual:%v",
|
"failed configCertAndKey:\n\texpected: succeed writing contents to temp CertFile file %s\n\tactual:%v",
|
||||||
certFile.Name(),
|
certFile.Name(),
|
||||||
@@ -506,8 +508,8 @@ func TestConfigCertAndKey(t *testing.T) {
|
|||||||
err,
|
err,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
defer os.Remove(keyFile.Name())
|
defer utiltesting.CloseAndRemove(t, keyFile)
|
||||||
if err := os.WriteFile(keyFile.Name(), []byte(externalEtcdKeyFileContent), 0644); err != nil {
|
if _, err := keyFile.Write([]byte(externalEtcdKeyFileContent)); err != nil {
|
||||||
t.Errorf(
|
t.Errorf(
|
||||||
"failed configCertAndKey:\n\texpected: succeed writing contents to temp KeyFile file %s\n\tactual:%v",
|
"failed configCertAndKey:\n\texpected: succeed writing contents to temp KeyFile file %s\n\tactual:%v",
|
||||||
keyFile.Name(),
|
keyFile.Name(),
|
||||||
|
@@ -24,6 +24,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
@@ -172,7 +174,7 @@ func TestGetPatchSetsForPathMustBeDirectory(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("error creating temporary file: %v", err)
|
t.Errorf("error creating temporary file: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(tempFile.Name())
|
defer utiltesting.CloseAndRemove(t, tempFile)
|
||||||
|
|
||||||
_, _, _, err = getPatchSetsFromPath(tempFile.Name(), testKnownTargets, io.Discard)
|
_, _, _, err = getPatchSetsFromPath(tempFile.Name(), testKnownTargets, io.Discard)
|
||||||
var pathErr *os.PathError
|
var pathErr *os.PathError
|
||||||
|
@@ -22,6 +22,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
|
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
|
||||||
)
|
)
|
||||||
@@ -320,7 +322,7 @@ providers:
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(file.Name())
|
defer utiltesting.CloseAndRemove(t, file)
|
||||||
|
|
||||||
_, err = file.WriteString(testcase.configData)
|
_, err = file.WriteString(testcase.configData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@@ -25,6 +25,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
certificatesv1 "k8s.io/api/certificates/v1"
|
certificatesv1 "k8s.io/api/certificates/v1"
|
||||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
@@ -324,8 +326,8 @@ users:
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(f.Name())
|
defer utiltesting.CloseAndRemove(t, f)
|
||||||
os.WriteFile(f.Name(), testData, os.FileMode(0755))
|
f.Write(testData)
|
||||||
|
|
||||||
config, err := loadRESTClientConfig(f.Name())
|
config, err := loadRESTClientConfig(f.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@@ -26,6 +26,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apitesting "k8s.io/cri-api/pkg/apis/testing"
|
apitesting "k8s.io/cri-api/pkg/apis/testing"
|
||||||
"k8s.io/utils/pointer"
|
"k8s.io/utils/pointer"
|
||||||
@@ -79,7 +81,7 @@ func TestReadLogs(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to create temp file")
|
t.Fatalf("unable to create temp file")
|
||||||
}
|
}
|
||||||
defer os.Remove(file.Name())
|
defer utiltesting.CloseAndRemove(t, file)
|
||||||
file.WriteString(`{"log":"line1\n","stream":"stdout","time":"2020-09-27T11:18:01.00000000Z"}` + "\n")
|
file.WriteString(`{"log":"line1\n","stream":"stdout","time":"2020-09-27T11:18:01.00000000Z"}` + "\n")
|
||||||
file.WriteString(`{"log":"line2\n","stream":"stdout","time":"2020-09-27T11:18:02.00000000Z"}` + "\n")
|
file.WriteString(`{"log":"line2\n","stream":"stdout","time":"2020-09-27T11:18:02.00000000Z"}` + "\n")
|
||||||
file.WriteString(`{"log":"line3\n","stream":"stdout","time":"2020-09-27T11:18:03.00000000Z"}` + "\n")
|
file.WriteString(`{"log":"line3\n","stream":"stdout","time":"2020-09-27T11:18:03.00000000Z"}` + "\n")
|
||||||
|
@@ -29,6 +29,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/api/imagepolicy/v1alpha1"
|
"k8s.io/api/imagepolicy/v1alpha1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apiserver/pkg/admission"
|
"k8s.io/apiserver/pkg/admission"
|
||||||
@@ -67,7 +69,7 @@ imagePolicy:
|
|||||||
`
|
`
|
||||||
|
|
||||||
func TestNewFromConfig(t *testing.T) {
|
func TestNewFromConfig(t *testing.T) {
|
||||||
dir, err := ioutil.TempDir("", "")
|
dir, err := os.MkdirTemp("", "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -200,8 +202,7 @@ current-context: default
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
p := tempfile.Name()
|
defer utiltesting.CloseAndRemove(t, tempfile)
|
||||||
defer os.Remove(p)
|
|
||||||
|
|
||||||
tmpl, err := template.New("test").Parse(tt.kubeConfigTmpl)
|
tmpl, err := template.New("test").Parse(tt.kubeConfigTmpl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -215,8 +216,7 @@ current-context: default
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
pc := tempconfigfile.Name()
|
defer os.Remove(tempconfigfile.Name())
|
||||||
defer os.Remove(pc)
|
|
||||||
|
|
||||||
configTmpl, err := template.New("testconfig").Parse(defaultConfigTmplJSON)
|
configTmpl, err := template.New("testconfig").Parse(defaultConfigTmplJSON)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -229,7 +229,7 @@ current-context: default
|
|||||||
RetryBackoff int
|
RetryBackoff int
|
||||||
DefaultAllow bool
|
DefaultAllow bool
|
||||||
}{
|
}{
|
||||||
KubeConfig: p,
|
KubeConfig: tempfile.Name(),
|
||||||
AllowTTL: 500,
|
AllowTTL: 500,
|
||||||
DenyTTL: 500,
|
DenyTTL: 500,
|
||||||
RetryBackoff: 500,
|
RetryBackoff: 500,
|
||||||
@@ -240,7 +240,7 @@ current-context: default
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create a new admission controller
|
// Create a new admission controller
|
||||||
configFile, err := os.Open(pc)
|
configFile, err := os.Open(tempconfigfile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to read test config: %v", err)
|
return fmt.Errorf("failed to read test config: %v", err)
|
||||||
}
|
}
|
||||||
@@ -358,13 +358,13 @@ func (m *mockService) HTTPStatusCode() int { return m.statusCode }
|
|||||||
|
|
||||||
// newImagePolicyWebhook creates a temporary kubeconfig file from the provided arguments and attempts to load
|
// newImagePolicyWebhook creates a temporary kubeconfig file from the provided arguments and attempts to load
|
||||||
// a new newImagePolicyWebhook from it.
|
// a new newImagePolicyWebhook from it.
|
||||||
func newImagePolicyWebhook(callbackURL string, clientCert, clientKey, ca []byte, cacheTime time.Duration, defaultAllow bool) (*Plugin, error) {
|
func newImagePolicyWebhook(t *testing.T, callbackURL string, clientCert, clientKey, ca []byte, cacheTime time.Duration, defaultAllow bool) (*Plugin, error) {
|
||||||
tempfile, err := ioutil.TempFile("", "")
|
tempfile, err := ioutil.TempFile("", "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
p := tempfile.Name()
|
p := tempfile.Name()
|
||||||
defer os.Remove(p)
|
defer utiltesting.CloseAndRemove(t, tempfile)
|
||||||
config := v1.Config{
|
config := v1.Config{
|
||||||
Clusters: []v1.NamedCluster{
|
Clusters: []v1.NamedCluster{
|
||||||
{
|
{
|
||||||
@@ -386,7 +386,7 @@ func newImagePolicyWebhook(callbackURL string, clientCert, clientKey, ca []byte,
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
pc := tempconfigfile.Name()
|
pc := tempconfigfile.Name()
|
||||||
defer os.Remove(pc)
|
defer utiltesting.CloseAndRemove(t, tempconfigfile)
|
||||||
|
|
||||||
configTmpl, err := template.New("testconfig").Parse(defaultConfigTmplYAML)
|
configTmpl, err := template.New("testconfig").Parse(defaultConfigTmplYAML)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -478,7 +478,7 @@ func TestTLSConfig(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer server.Close()
|
defer server.Close()
|
||||||
|
|
||||||
wh, err := newImagePolicyWebhook(server.URL, tt.clientCert, tt.clientKey, tt.clientCA, -1, false)
|
wh, err := newImagePolicyWebhook(t, server.URL, tt.clientCert, tt.clientKey, tt.clientCA, -1, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
||||||
return
|
return
|
||||||
@@ -559,7 +559,7 @@ func TestWebhookCache(t *testing.T) {
|
|||||||
defer s.Close()
|
defer s.Close()
|
||||||
|
|
||||||
// Create an admission controller that caches successful responses.
|
// Create an admission controller that caches successful responses.
|
||||||
wh, err := newImagePolicyWebhook(s.URL, clientCert, clientKey, caCert, 200, false)
|
wh, err := newImagePolicyWebhook(t, s.URL, clientCert, clientKey, caCert, 200, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -753,7 +753,7 @@ func TestContainerCombinations(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer server.Close()
|
defer server.Close()
|
||||||
|
|
||||||
wh, err := newImagePolicyWebhook(server.URL, clientCert, clientKey, caCert, 0, false)
|
wh, err := newImagePolicyWebhook(t, server.URL, clientCert, clientKey, caCert, 0, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
||||||
return
|
return
|
||||||
@@ -847,7 +847,7 @@ func TestDefaultAllow(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer server.Close()
|
defer server.Close()
|
||||||
|
|
||||||
wh, err := newImagePolicyWebhook(server.URL, clientCert, clientKey, caCert, 0, tt.defaultAllow)
|
wh, err := newImagePolicyWebhook(t, server.URL, clientCert, clientKey, caCert, 0, tt.defaultAllow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
||||||
return
|
return
|
||||||
@@ -954,7 +954,7 @@ func TestAnnotationFiltering(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer server.Close()
|
defer server.Close()
|
||||||
|
|
||||||
wh, err := newImagePolicyWebhook(server.URL, clientCert, clientKey, caCert, 0, true)
|
wh, err := newImagePolicyWebhook(t, server.URL, clientCert, clientKey, caCert, 0, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
||||||
return
|
return
|
||||||
@@ -1047,7 +1047,7 @@ func TestReturnedAnnotationAdd(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer server.Close()
|
defer server.Close()
|
||||||
|
|
||||||
wh, err := newImagePolicyWebhook(server.URL, clientCert, clientKey, caCert, 0, true)
|
wh, err := newImagePolicyWebhook(t, server.URL, clientCert, clientKey, caCert, 0, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
t.Errorf("%s: failed to create client: %v", tt.test, err)
|
||||||
return
|
return
|
||||||
|
@@ -23,6 +23,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apiserver/pkg/apis/apiserver"
|
"k8s.io/apiserver/pkg/apis/apiserver"
|
||||||
)
|
)
|
||||||
@@ -281,7 +283,7 @@ spec:
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(f.Name())
|
defer utiltesting.CloseAndRemove(t, f)
|
||||||
if err := ioutil.WriteFile(f.Name(), []byte(tc.contents), os.FileMode(0755)); err != nil {
|
if err := ioutil.WriteFile(f.Name(), []byte(tc.contents), os.FileMode(0755)); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@@ -704,6 +704,7 @@ func bootstrapTestDir(t *testing.T) string {
|
|||||||
// Write the certificate files to disk or fail
|
// Write the certificate files to disk or fail
|
||||||
for fileName, fileData := range files {
|
for fileName, fileData := range files {
|
||||||
if err := ioutil.WriteFile(filepath.Join(dir, fileName), fileData, 0400); err != nil {
|
if err := ioutil.WriteFile(filepath.Join(dir, fileName), fileData, 0400); err != nil {
|
||||||
|
os.RemoveAll(dir)
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -713,6 +714,10 @@ func bootstrapTestDir(t *testing.T) string {
|
|||||||
|
|
||||||
func newKubeConfigFile(config v1.Config) (string, error) {
|
func newKubeConfigFile(config v1.Config) (string, error) {
|
||||||
configFile, err := ioutil.TempFile("", "")
|
configFile, err := ioutil.TempFile("", "")
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
defer configFile.Close()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("unable to create the Kubernetes client config file: %v", err)
|
return "", fmt.Errorf("unable to create the Kubernetes client config file: %v", err)
|
||||||
|
@@ -34,6 +34,8 @@ import (
|
|||||||
"text/template"
|
"text/template"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
authorizationv1 "k8s.io/api/authorization/v1"
|
authorizationv1 "k8s.io/api/authorization/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@@ -185,7 +187,7 @@ current-context: default
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
p := tempfile.Name()
|
p := tempfile.Name()
|
||||||
defer os.Remove(p)
|
defer utiltesting.CloseAndRemove(t, tempfile)
|
||||||
|
|
||||||
tmpl, err := template.New("test").Parse(tt.configTmpl)
|
tmpl, err := template.New("test").Parse(tt.configTmpl)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@@ -322,7 +322,7 @@ func TestRequestBody(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// test error set when failing to read file
|
// test error set when failing to read file
|
||||||
f, err := os.CreateTemp("", "test")
|
f, err := os.CreateTemp("", "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unable to create temp file")
|
t.Fatalf("unable to create temp file")
|
||||||
}
|
}
|
||||||
|
@@ -23,6 +23,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -53,11 +55,9 @@ func newMergedConfig(certFile, certContent, keyFile, keyContent, caFile, caConte
|
|||||||
|
|
||||||
func TestMinifySuccess(t *testing.T) {
|
func TestMinifySuccess(t *testing.T) {
|
||||||
certFile, _ := os.CreateTemp("", "")
|
certFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(certFile.Name())
|
|
||||||
keyFile, _ := os.CreateTemp("", "")
|
keyFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(keyFile.Name())
|
|
||||||
caFile, _ := os.CreateTemp("", "")
|
caFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(caFile.Name())
|
defer utiltesting.CloseAndRemove(t, certFile, keyFile, caFile)
|
||||||
|
|
||||||
mutatingConfig := newMergedConfig(certFile.Name(), "cert", keyFile.Name(), "key", caFile.Name(), "ca", t)
|
mutatingConfig := newMergedConfig(certFile.Name(), "cert", keyFile.Name(), "key", caFile.Name(), "ca", t)
|
||||||
|
|
||||||
@@ -89,11 +89,9 @@ func TestMinifySuccess(t *testing.T) {
|
|||||||
|
|
||||||
func TestMinifyMissingContext(t *testing.T) {
|
func TestMinifyMissingContext(t *testing.T) {
|
||||||
certFile, _ := os.CreateTemp("", "")
|
certFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(certFile.Name())
|
|
||||||
keyFile, _ := os.CreateTemp("", "")
|
keyFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(keyFile.Name())
|
|
||||||
caFile, _ := os.CreateTemp("", "")
|
caFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(caFile.Name())
|
defer utiltesting.CloseAndRemove(t, certFile, keyFile, caFile)
|
||||||
|
|
||||||
mutatingConfig := newMergedConfig(certFile.Name(), "cert", keyFile.Name(), "key", caFile.Name(), "ca", t)
|
mutatingConfig := newMergedConfig(certFile.Name(), "cert", keyFile.Name(), "key", caFile.Name(), "ca", t)
|
||||||
mutatingConfig.CurrentContext = "missing"
|
mutatingConfig.CurrentContext = "missing"
|
||||||
@@ -107,11 +105,9 @@ func TestMinifyMissingContext(t *testing.T) {
|
|||||||
|
|
||||||
func TestMinifyMissingCluster(t *testing.T) {
|
func TestMinifyMissingCluster(t *testing.T) {
|
||||||
certFile, _ := os.CreateTemp("", "")
|
certFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(certFile.Name())
|
|
||||||
keyFile, _ := os.CreateTemp("", "")
|
keyFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(keyFile.Name())
|
|
||||||
caFile, _ := os.CreateTemp("", "")
|
caFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(caFile.Name())
|
defer utiltesting.CloseAndRemove(t, certFile, keyFile, caFile)
|
||||||
|
|
||||||
mutatingConfig := newMergedConfig(certFile.Name(), "cert", keyFile.Name(), "key", caFile.Name(), "ca", t)
|
mutatingConfig := newMergedConfig(certFile.Name(), "cert", keyFile.Name(), "key", caFile.Name(), "ca", t)
|
||||||
delete(mutatingConfig.Clusters, mutatingConfig.Contexts[mutatingConfig.CurrentContext].Cluster)
|
delete(mutatingConfig.Clusters, mutatingConfig.Contexts[mutatingConfig.CurrentContext].Cluster)
|
||||||
@@ -125,11 +121,9 @@ func TestMinifyMissingCluster(t *testing.T) {
|
|||||||
|
|
||||||
func TestMinifyMissingAuthInfo(t *testing.T) {
|
func TestMinifyMissingAuthInfo(t *testing.T) {
|
||||||
certFile, _ := os.CreateTemp("", "")
|
certFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(certFile.Name())
|
|
||||||
keyFile, _ := os.CreateTemp("", "")
|
keyFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(keyFile.Name())
|
|
||||||
caFile, _ := os.CreateTemp("", "")
|
caFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(caFile.Name())
|
defer utiltesting.CloseAndRemove(t, certFile, keyFile, caFile)
|
||||||
|
|
||||||
mutatingConfig := newMergedConfig(certFile.Name(), "cert", keyFile.Name(), "key", caFile.Name(), "ca", t)
|
mutatingConfig := newMergedConfig(certFile.Name(), "cert", keyFile.Name(), "key", caFile.Name(), "ca", t)
|
||||||
delete(mutatingConfig.AuthInfos, mutatingConfig.Contexts[mutatingConfig.CurrentContext].AuthInfo)
|
delete(mutatingConfig.AuthInfos, mutatingConfig.Contexts[mutatingConfig.CurrentContext].AuthInfo)
|
||||||
@@ -143,11 +137,9 @@ func TestMinifyMissingAuthInfo(t *testing.T) {
|
|||||||
|
|
||||||
func TestFlattenSuccess(t *testing.T) {
|
func TestFlattenSuccess(t *testing.T) {
|
||||||
certFile, _ := os.CreateTemp("", "")
|
certFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(certFile.Name())
|
|
||||||
keyFile, _ := os.CreateTemp("", "")
|
keyFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(keyFile.Name())
|
|
||||||
caFile, _ := os.CreateTemp("", "")
|
caFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(caFile.Name())
|
defer utiltesting.CloseAndRemove(t, certFile, keyFile, caFile)
|
||||||
|
|
||||||
certData := "cert"
|
certData := "cert"
|
||||||
keyData := "key"
|
keyData := "key"
|
||||||
@@ -208,11 +200,9 @@ func TestFlattenSuccess(t *testing.T) {
|
|||||||
|
|
||||||
func Example_minifyAndShorten() {
|
func Example_minifyAndShorten() {
|
||||||
certFile, _ := os.CreateTemp("", "")
|
certFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(certFile.Name())
|
|
||||||
keyFile, _ := os.CreateTemp("", "")
|
keyFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(keyFile.Name())
|
|
||||||
caFile, _ := os.CreateTemp("", "")
|
caFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(caFile.Name())
|
defer utiltesting.CloseAndRemove(&testing.T{}, certFile, keyFile, caFile)
|
||||||
|
|
||||||
certData := "cert"
|
certData := "cert"
|
||||||
keyData := "key"
|
keyData := "key"
|
||||||
@@ -245,11 +235,9 @@ func Example_minifyAndShorten() {
|
|||||||
|
|
||||||
func TestShortenSuccess(t *testing.T) {
|
func TestShortenSuccess(t *testing.T) {
|
||||||
certFile, _ := os.CreateTemp("", "")
|
certFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(certFile.Name())
|
|
||||||
keyFile, _ := os.CreateTemp("", "")
|
keyFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(keyFile.Name())
|
|
||||||
caFile, _ := os.CreateTemp("", "")
|
caFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(caFile.Name())
|
defer utiltesting.CloseAndRemove(t, certFile, keyFile, caFile)
|
||||||
|
|
||||||
certData := "cert"
|
certData := "cert"
|
||||||
keyData := "key"
|
keyData := "key"
|
||||||
|
@@ -22,6 +22,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/imdario/mergo"
|
"github.com/imdario/mergo"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
@@ -177,7 +179,7 @@ func TestCAOverridesCAData(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("could not create tempfile: %v", err)
|
t.Fatalf("could not create tempfile: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(file.Name())
|
defer utiltesting.CloseAndRemove(t, file)
|
||||||
|
|
||||||
config := createCAValidTestConfig()
|
config := createCAValidTestConfig()
|
||||||
clientBuilder := NewNonInteractiveClientConfig(*config, "clean", &ConfigOverrides{
|
clientBuilder := NewNonInteractiveClientConfig(*config, "clean", &ConfigOverrides{
|
||||||
@@ -312,8 +314,7 @@ func TestModifyContext(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(tempPath.Name())
|
defer utiltesting.CloseAndRemove(t, tempPath)
|
||||||
|
|
||||||
pathOptions := NewDefaultPathOptions()
|
pathOptions := NewDefaultPathOptions()
|
||||||
config := createValidTestConfig()
|
config := createValidTestConfig()
|
||||||
|
|
||||||
@@ -498,7 +499,7 @@ func TestBasicTokenFile(t *testing.T) {
|
|||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer os.Remove(f.Name())
|
defer utiltesting.CloseAndRemove(t, f)
|
||||||
if err := os.WriteFile(f.Name(), []byte(token), 0644); err != nil {
|
if err := os.WriteFile(f.Name(), []byte(token), 0644); err != nil {
|
||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
return
|
return
|
||||||
@@ -534,7 +535,7 @@ func TestPrecedenceTokenFile(t *testing.T) {
|
|||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer os.Remove(f.Name())
|
defer utiltesting.CloseAndRemove(t, f)
|
||||||
if err := os.WriteFile(f.Name(), []byte(token), 0644); err != nil {
|
if err := os.WriteFile(f.Name(), []byte(token), 0644); err != nil {
|
||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
return
|
return
|
||||||
@@ -923,7 +924,7 @@ users:
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(tmpfile.Name())
|
defer utiltesting.CloseAndRemove(t, tmpfile)
|
||||||
if err := os.WriteFile(tmpfile.Name(), []byte(content), 0666); err != nil {
|
if err := os.WriteFile(tmpfile.Name(), []byte(content), 0666); err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
|
@@ -27,6 +27,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
"sigs.k8s.io/yaml"
|
"sigs.k8s.io/yaml"
|
||||||
|
|
||||||
@@ -197,7 +199,7 @@ func TestNoWarningMissingFiles(t *testing.T) {
|
|||||||
|
|
||||||
func TestErrorReadingFile(t *testing.T) {
|
func TestErrorReadingFile(t *testing.T) {
|
||||||
commandLineFile, _ := os.CreateTemp("", "")
|
commandLineFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(commandLineFile.Name())
|
defer utiltesting.CloseAndRemove(t, commandLineFile)
|
||||||
|
|
||||||
if err := os.WriteFile(commandLineFile.Name(), []byte("bogus value"), 0644); err != nil {
|
if err := os.WriteFile(commandLineFile.Name(), []byte("bogus value"), 0644); err != nil {
|
||||||
t.Fatalf("Error creating tempfile: %v", err)
|
t.Fatalf("Error creating tempfile: %v", err)
|
||||||
@@ -238,9 +240,8 @@ func TestErrorReadingNonFile(t *testing.T) {
|
|||||||
|
|
||||||
func TestConflictingCurrentContext(t *testing.T) {
|
func TestConflictingCurrentContext(t *testing.T) {
|
||||||
commandLineFile, _ := os.CreateTemp("", "")
|
commandLineFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(commandLineFile.Name())
|
|
||||||
envVarFile, _ := os.CreateTemp("", "")
|
envVarFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(envVarFile.Name())
|
defer utiltesting.CloseAndRemove(t, commandLineFile, envVarFile)
|
||||||
|
|
||||||
mockCommandLineConfig := clientcmdapi.Config{
|
mockCommandLineConfig := clientcmdapi.Config{
|
||||||
CurrentContext: "any-context-value",
|
CurrentContext: "any-context-value",
|
||||||
@@ -319,7 +320,7 @@ users: null
|
|||||||
|
|
||||||
func TestLoadingEmptyMaps(t *testing.T) {
|
func TestLoadingEmptyMaps(t *testing.T) {
|
||||||
configFile, _ := os.CreateTemp("", "")
|
configFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(configFile.Name())
|
defer utiltesting.CloseAndRemove(t, configFile)
|
||||||
|
|
||||||
mockConfig := clientcmdapi.Config{
|
mockConfig := clientcmdapi.Config{
|
||||||
CurrentContext: "any-context-value",
|
CurrentContext: "any-context-value",
|
||||||
@@ -345,7 +346,7 @@ func TestLoadingEmptyMaps(t *testing.T) {
|
|||||||
|
|
||||||
func TestDuplicateClusterName(t *testing.T) {
|
func TestDuplicateClusterName(t *testing.T) {
|
||||||
configFile, _ := os.CreateTemp("", "")
|
configFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(configFile.Name())
|
defer utiltesting.CloseAndRemove(t, configFile)
|
||||||
|
|
||||||
err := os.WriteFile(configFile.Name(), []byte(`
|
err := os.WriteFile(configFile.Name(), []byte(`
|
||||||
kind: Config
|
kind: Config
|
||||||
@@ -387,7 +388,7 @@ users:
|
|||||||
|
|
||||||
func TestDuplicateContextName(t *testing.T) {
|
func TestDuplicateContextName(t *testing.T) {
|
||||||
configFile, _ := os.CreateTemp("", "")
|
configFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(configFile.Name())
|
defer utiltesting.CloseAndRemove(t, configFile)
|
||||||
|
|
||||||
err := os.WriteFile(configFile.Name(), []byte(`
|
err := os.WriteFile(configFile.Name(), []byte(`
|
||||||
kind: Config
|
kind: Config
|
||||||
@@ -429,7 +430,7 @@ users:
|
|||||||
|
|
||||||
func TestDuplicateUserName(t *testing.T) {
|
func TestDuplicateUserName(t *testing.T) {
|
||||||
configFile, _ := os.CreateTemp("", "")
|
configFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(configFile.Name())
|
defer utiltesting.CloseAndRemove(t, configFile)
|
||||||
|
|
||||||
err := os.WriteFile(configFile.Name(), []byte(`
|
err := os.WriteFile(configFile.Name(), []byte(`
|
||||||
kind: Config
|
kind: Config
|
||||||
@@ -469,7 +470,7 @@ users:
|
|||||||
|
|
||||||
func TestDuplicateExtensionName(t *testing.T) {
|
func TestDuplicateExtensionName(t *testing.T) {
|
||||||
configFile, _ := os.CreateTemp("", "")
|
configFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(configFile.Name())
|
defer utiltesting.CloseAndRemove(t, configFile)
|
||||||
|
|
||||||
err := os.WriteFile(configFile.Name(), []byte(`
|
err := os.WriteFile(configFile.Name(), []byte(`
|
||||||
kind: Config
|
kind: Config
|
||||||
@@ -625,7 +626,7 @@ func TestResolveRelativePaths(t *testing.T) {
|
|||||||
|
|
||||||
func TestMigratingFile(t *testing.T) {
|
func TestMigratingFile(t *testing.T) {
|
||||||
sourceFile, _ := os.CreateTemp("", "")
|
sourceFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(sourceFile.Name())
|
defer utiltesting.CloseAndRemove(t, sourceFile)
|
||||||
destinationFile, _ := os.CreateTemp("", "")
|
destinationFile, _ := os.CreateTemp("", "")
|
||||||
// delete the file so that we'll write to it
|
// delete the file so that we'll write to it
|
||||||
os.Remove(destinationFile.Name())
|
os.Remove(destinationFile.Name())
|
||||||
@@ -639,9 +640,8 @@ func TestMigratingFile(t *testing.T) {
|
|||||||
if _, err := loadingRules.Load(); err != nil {
|
if _, err := loadingRules.Load(); err != nil {
|
||||||
t.Errorf("unexpected error %v", err)
|
t.Errorf("unexpected error %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// the load should have recreated this file
|
// the load should have recreated this file
|
||||||
defer os.Remove(destinationFile.Name())
|
defer utiltesting.CloseAndRemove(t, destinationFile)
|
||||||
|
|
||||||
sourceContent, err := os.ReadFile(sourceFile.Name())
|
sourceContent, err := os.ReadFile(sourceFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -659,9 +659,8 @@ func TestMigratingFile(t *testing.T) {
|
|||||||
|
|
||||||
func TestMigratingFileLeaveExistingFileAlone(t *testing.T) {
|
func TestMigratingFileLeaveExistingFileAlone(t *testing.T) {
|
||||||
sourceFile, _ := os.CreateTemp("", "")
|
sourceFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(sourceFile.Name())
|
|
||||||
destinationFile, _ := os.CreateTemp("", "")
|
destinationFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(destinationFile.Name())
|
defer utiltesting.CloseAndRemove(t, sourceFile, destinationFile)
|
||||||
|
|
||||||
WriteToFile(testConfigAlfa, sourceFile.Name())
|
WriteToFile(testConfigAlfa, sourceFile.Name())
|
||||||
|
|
||||||
@@ -687,7 +686,7 @@ func TestMigratingFileSourceMissingSkip(t *testing.T) {
|
|||||||
sourceFilename := "some-missing-file"
|
sourceFilename := "some-missing-file"
|
||||||
destinationFile, _ := os.CreateTemp("", "")
|
destinationFile, _ := os.CreateTemp("", "")
|
||||||
// delete the file so that we'll write to it
|
// delete the file so that we'll write to it
|
||||||
os.Remove(destinationFile.Name())
|
utiltesting.CloseAndRemove(t, destinationFile)
|
||||||
|
|
||||||
loadingRules := ClientConfigLoadingRules{
|
loadingRules := ClientConfigLoadingRules{
|
||||||
MigrationRules: map[string]string{destinationFile.Name(): sourceFilename},
|
MigrationRules: map[string]string{destinationFile.Name(): sourceFilename},
|
||||||
@@ -704,7 +703,7 @@ func TestMigratingFileSourceMissingSkip(t *testing.T) {
|
|||||||
|
|
||||||
func TestFileLocking(t *testing.T) {
|
func TestFileLocking(t *testing.T) {
|
||||||
f, _ := os.CreateTemp("", "")
|
f, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(f.Name())
|
defer utiltesting.CloseAndRemove(t, f)
|
||||||
|
|
||||||
err := lockFile(f.Name())
|
err := lockFile(f.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -720,9 +719,8 @@ func TestFileLocking(t *testing.T) {
|
|||||||
|
|
||||||
func Example_noMergingOnExplicitPaths() {
|
func Example_noMergingOnExplicitPaths() {
|
||||||
commandLineFile, _ := os.CreateTemp("", "")
|
commandLineFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(commandLineFile.Name())
|
|
||||||
envVarFile, _ := os.CreateTemp("", "")
|
envVarFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(envVarFile.Name())
|
defer utiltesting.CloseAndRemove(&testing.T{}, commandLineFile, envVarFile)
|
||||||
|
|
||||||
WriteToFile(testConfigAlfa, commandLineFile.Name())
|
WriteToFile(testConfigAlfa, commandLineFile.Name())
|
||||||
WriteToFile(testConfigConflictAlfa, envVarFile.Name())
|
WriteToFile(testConfigConflictAlfa, envVarFile.Name())
|
||||||
@@ -769,9 +767,8 @@ func Example_noMergingOnExplicitPaths() {
|
|||||||
|
|
||||||
func Example_mergingSomeWithConflict() {
|
func Example_mergingSomeWithConflict() {
|
||||||
commandLineFile, _ := os.CreateTemp("", "")
|
commandLineFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(commandLineFile.Name())
|
|
||||||
envVarFile, _ := os.CreateTemp("", "")
|
envVarFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(envVarFile.Name())
|
defer utiltesting.CloseAndRemove(&testing.T{}, commandLineFile, envVarFile)
|
||||||
|
|
||||||
WriteToFile(testConfigAlfa, commandLineFile.Name())
|
WriteToFile(testConfigAlfa, commandLineFile.Name())
|
||||||
WriteToFile(testConfigConflictAlfa, envVarFile.Name())
|
WriteToFile(testConfigConflictAlfa, envVarFile.Name())
|
||||||
@@ -825,13 +822,10 @@ func Example_mergingSomeWithConflict() {
|
|||||||
|
|
||||||
func Example_mergingEverythingNoConflicts() {
|
func Example_mergingEverythingNoConflicts() {
|
||||||
commandLineFile, _ := os.CreateTemp("", "")
|
commandLineFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(commandLineFile.Name())
|
|
||||||
envVarFile, _ := os.CreateTemp("", "")
|
envVarFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(envVarFile.Name())
|
|
||||||
currentDirFile, _ := os.CreateTemp("", "")
|
currentDirFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(currentDirFile.Name())
|
|
||||||
homeDirFile, _ := os.CreateTemp("", "")
|
homeDirFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(homeDirFile.Name())
|
defer utiltesting.CloseAndRemove(&testing.T{}, commandLineFile, envVarFile, currentDirFile, homeDirFile)
|
||||||
|
|
||||||
WriteToFile(testConfigAlfa, commandLineFile.Name())
|
WriteToFile(testConfigAlfa, commandLineFile.Name())
|
||||||
WriteToFile(testConfigBravo, envVarFile.Name())
|
WriteToFile(testConfigBravo, envVarFile.Name())
|
||||||
|
@@ -23,6 +23,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
@@ -296,7 +298,7 @@ func TestValidateCleanClusterInfo(t *testing.T) {
|
|||||||
|
|
||||||
func TestValidateCleanWithCAClusterInfo(t *testing.T) {
|
func TestValidateCleanWithCAClusterInfo(t *testing.T) {
|
||||||
tempFile, _ := os.CreateTemp("", "")
|
tempFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(tempFile.Name())
|
defer utiltesting.CloseAndRemove(t, tempFile)
|
||||||
|
|
||||||
config := clientcmdapi.NewConfig()
|
config := clientcmdapi.NewConfig()
|
||||||
config.Clusters["clean"] = &clientcmdapi.Cluster{
|
config.Clusters["clean"] = &clientcmdapi.Cluster{
|
||||||
@@ -339,7 +341,7 @@ func TestValidateCertFilesNotFoundAuthInfo(t *testing.T) {
|
|||||||
|
|
||||||
func TestValidateCertDataOverridesFiles(t *testing.T) {
|
func TestValidateCertDataOverridesFiles(t *testing.T) {
|
||||||
tempFile, _ := os.CreateTemp("", "")
|
tempFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(tempFile.Name())
|
defer utiltesting.CloseAndRemove(t, tempFile)
|
||||||
|
|
||||||
config := clientcmdapi.NewConfig()
|
config := clientcmdapi.NewConfig()
|
||||||
config.AuthInfos["clean"] = &clientcmdapi.AuthInfo{
|
config.AuthInfos["clean"] = &clientcmdapi.AuthInfo{
|
||||||
@@ -359,7 +361,7 @@ func TestValidateCertDataOverridesFiles(t *testing.T) {
|
|||||||
|
|
||||||
func TestValidateCleanCertFilesAuthInfo(t *testing.T) {
|
func TestValidateCleanCertFilesAuthInfo(t *testing.T) {
|
||||||
tempFile, _ := os.CreateTemp("", "")
|
tempFile, _ := os.CreateTemp("", "")
|
||||||
defer os.Remove(tempFile.Name())
|
defer utiltesting.CloseAndRemove(t, tempFile)
|
||||||
|
|
||||||
config := clientcmdapi.NewConfig()
|
config := clientcmdapi.NewConfig()
|
||||||
config.AuthInfos["clean"] = &clientcmdapi.AuthInfo{
|
config.AuthInfos["clean"] = &clientcmdapi.AuthInfo{
|
||||||
|
40
staging/src/k8s.io/client-go/util/testing/remove_file.go
Normal file
40
staging/src/k8s.io/client-go/util/testing/remove_file.go
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2023 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 testing
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
// CloseAndRemove is a helper to close and remove test file.
|
||||||
|
func CloseAndRemove(t *testing.T, files ...*os.File) {
|
||||||
|
t.Helper()
|
||||||
|
// We should close it first before remove a file, it's not only a good practice,
|
||||||
|
// but also can avoid failed file removing on Windows OS.
|
||||||
|
for _, f := range files {
|
||||||
|
if f == nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if err := f.Close(); err != nil {
|
||||||
|
t.Fatalf("Error closing %s: %v", f.Name(), err)
|
||||||
|
}
|
||||||
|
if err := os.Remove(f.Name()); err != nil {
|
||||||
|
t.Fatalf("Error removing %s: %v", f.Name(), err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -21,6 +21,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
internal "k8s.io/controller-manager/config"
|
internal "k8s.io/controller-manager/config"
|
||||||
)
|
)
|
||||||
@@ -117,7 +119,7 @@ controllerLeaders:
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(configFile.Name())
|
defer utiltesting.CloseAndRemove(t, configFile)
|
||||||
err = os.WriteFile(configFile.Name(), []byte(tc.content), os.FileMode(0755))
|
err = os.WriteFile(configFile.Name(), []byte(tc.content), os.FileMode(0755))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
@@ -21,6 +21,8 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
"k8s.io/controller-manager/config"
|
"k8s.io/controller-manager/config"
|
||||||
@@ -188,7 +190,7 @@ controllerLeaders:
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(configFile.Name())
|
defer utiltesting.CloseAndRemove(t, configFile)
|
||||||
err = os.WriteFile(configFile.Name(), []byte(tc.configContent), os.FileMode(0755))
|
err = os.WriteFile(configFile.Name(), []byte(tc.configContent), os.FileMode(0755))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
@@ -29,6 +29,7 @@ import (
|
|||||||
"k8s.io/cli-runtime/pkg/genericiooptions"
|
"k8s.io/cli-runtime/pkg/genericiooptions"
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
cmdutil "k8s.io/kubectl/pkg/cmd/util"
|
cmdutil "k8s.io/kubectl/pkg/cmd/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -52,7 +53,7 @@ func Example_view() {
|
|||||||
expectedConfig: expectedConfig,
|
expectedConfig: expectedConfig,
|
||||||
}
|
}
|
||||||
|
|
||||||
output := test.run(nil)
|
output := test.run(&testing.T{})
|
||||||
fmt.Printf("%v", output)
|
fmt.Printf("%v", output)
|
||||||
// Output:
|
// Output:
|
||||||
// apiVersion: v1
|
// apiVersion: v1
|
||||||
@@ -261,7 +262,7 @@ func TestAdditionalAuth(t *testing.T) {
|
|||||||
|
|
||||||
func TestEmbedClientCert(t *testing.T) {
|
func TestEmbedClientCert(t *testing.T) {
|
||||||
fakeCertFile, _ := os.CreateTemp(os.TempDir(), "")
|
fakeCertFile, _ := os.CreateTemp(os.TempDir(), "")
|
||||||
defer os.Remove(fakeCertFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeCertFile)
|
||||||
fakeData := []byte("fake-data")
|
fakeData := []byte("fake-data")
|
||||||
os.WriteFile(fakeCertFile.Name(), fakeData, 0600)
|
os.WriteFile(fakeCertFile.Name(), fakeData, 0600)
|
||||||
expectedConfig := newRedFederalCowHammerConfig()
|
expectedConfig := newRedFederalCowHammerConfig()
|
||||||
@@ -280,7 +281,7 @@ func TestEmbedClientCert(t *testing.T) {
|
|||||||
|
|
||||||
func TestEmbedClientKey(t *testing.T) {
|
func TestEmbedClientKey(t *testing.T) {
|
||||||
fakeKeyFile, _ := os.CreateTemp(os.TempDir(), "")
|
fakeKeyFile, _ := os.CreateTemp(os.TempDir(), "")
|
||||||
defer os.Remove(fakeKeyFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKeyFile)
|
||||||
fakeData := []byte("fake-data")
|
fakeData := []byte("fake-data")
|
||||||
os.WriteFile(fakeKeyFile.Name(), fakeData, 0600)
|
os.WriteFile(fakeKeyFile.Name(), fakeData, 0600)
|
||||||
expectedConfig := newRedFederalCowHammerConfig()
|
expectedConfig := newRedFederalCowHammerConfig()
|
||||||
@@ -326,7 +327,7 @@ func TestEmbedNoKeyOrCertDisallowed(t *testing.T) {
|
|||||||
|
|
||||||
func TestEmptyTokenAndCertAllowed(t *testing.T) {
|
func TestEmptyTokenAndCertAllowed(t *testing.T) {
|
||||||
fakeCertFile, _ := os.CreateTemp(os.TempDir(), "cert-file")
|
fakeCertFile, _ := os.CreateTemp(os.TempDir(), "cert-file")
|
||||||
defer os.Remove(fakeCertFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeCertFile)
|
||||||
expectedConfig := newRedFederalCowHammerConfig()
|
expectedConfig := newRedFederalCowHammerConfig()
|
||||||
authInfo := clientcmdapi.NewAuthInfo()
|
authInfo := clientcmdapi.NewAuthInfo()
|
||||||
authInfo.ClientCertificate = path.Base(fakeCertFile.Name())
|
authInfo.ClientCertificate = path.Base(fakeCertFile.Name())
|
||||||
@@ -569,7 +570,7 @@ func TestUnsetBytes(t *testing.T) {
|
|||||||
|
|
||||||
func TestCAClearsInsecure(t *testing.T) {
|
func TestCAClearsInsecure(t *testing.T) {
|
||||||
fakeCAFile, _ := os.CreateTemp(os.TempDir(), "ca-file")
|
fakeCAFile, _ := os.CreateTemp(os.TempDir(), "ca-file")
|
||||||
defer os.Remove(fakeCAFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeCAFile)
|
||||||
clusterInfoWithInsecure := clientcmdapi.NewCluster()
|
clusterInfoWithInsecure := clientcmdapi.NewCluster()
|
||||||
clusterInfoWithInsecure.InsecureSkipTLSVerify = true
|
clusterInfoWithInsecure.InsecureSkipTLSVerify = true
|
||||||
|
|
||||||
@@ -638,7 +639,7 @@ func TestInsecureClearsCA(t *testing.T) {
|
|||||||
|
|
||||||
func TestCADataClearsCA(t *testing.T) {
|
func TestCADataClearsCA(t *testing.T) {
|
||||||
fakeCAFile, _ := os.CreateTemp(os.TempDir(), "")
|
fakeCAFile, _ := os.CreateTemp(os.TempDir(), "")
|
||||||
defer os.Remove(fakeCAFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeCAFile)
|
||||||
fakeData := []byte("cadata")
|
fakeData := []byte("cadata")
|
||||||
os.WriteFile(fakeCAFile.Name(), fakeData, 0600)
|
os.WriteFile(fakeCAFile.Name(), fakeData, 0600)
|
||||||
|
|
||||||
@@ -852,7 +853,7 @@ func TestToBool(t *testing.T) {
|
|||||||
|
|
||||||
func testConfigCommand(args []string, startingConfig clientcmdapi.Config, t *testing.T) (string, clientcmdapi.Config) {
|
func testConfigCommand(args []string, startingConfig clientcmdapi.Config, t *testing.T) (string, clientcmdapi.Config) {
|
||||||
fakeKubeFile, _ := os.CreateTemp(os.TempDir(), "")
|
fakeKubeFile, _ := os.CreateTemp(os.TempDir(), "")
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err := clientcmd.WriteToFile(startingConfig, fakeKubeFile.Name())
|
err := clientcmd.WriteToFile(startingConfig, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -18,6 +18,7 @@ package config
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -60,7 +61,7 @@ func (test currentContextTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.startingConfig, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.startingConfig, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -19,6 +19,7 @@ package config
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -56,7 +57,7 @@ func (test deleteClusterTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -19,6 +19,7 @@ package config
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -56,7 +57,7 @@ func (test deleteContextTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -21,6 +21,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
@@ -60,7 +62,7 @@ func (test getClustersTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -20,6 +20,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/cli-runtime/pkg/genericiooptions"
|
"k8s.io/cli-runtime/pkg/genericiooptions"
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
@@ -147,7 +149,7 @@ func (test getContextsTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.startingConfig, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.startingConfig, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -23,6 +23,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
@@ -103,7 +105,7 @@ func TestRenameToAlreadyExistingContext(t *testing.T) {
|
|||||||
|
|
||||||
func (test renameContextTest) run(t *testing.T) {
|
func (test renameContextTest) run(t *testing.T) {
|
||||||
fakeKubeFile, _ := os.CreateTemp(os.TempDir(), "")
|
fakeKubeFile, _ := os.CreateTemp(os.TempDir(), "")
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err := clientcmd.WriteToFile(test.initialConfig, fakeKubeFile.Name())
|
err := clientcmd.WriteToFile(test.initialConfig, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -21,6 +21,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
@@ -186,7 +188,7 @@ func (test setClusterTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -21,6 +21,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
@@ -110,7 +112,7 @@ func (test setContextTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -18,6 +18,7 @@ package config
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -457,7 +458,7 @@ func (test setCredentialsTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -21,6 +21,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"reflect"
|
"reflect"
|
||||||
|
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
@@ -58,7 +60,7 @@ func (test setConfigTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -21,6 +21,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
@@ -109,7 +111,7 @@ func (test unsetConfigTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -21,6 +21,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
)
|
)
|
||||||
@@ -74,7 +76,7 @@ func (test useContextTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -20,6 +20,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/cli-runtime/pkg/genericiooptions"
|
"k8s.io/cli-runtime/pkg/genericiooptions"
|
||||||
"k8s.io/client-go/tools/clientcmd"
|
"k8s.io/client-go/tools/clientcmd"
|
||||||
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
|
||||||
@@ -297,7 +299,7 @@ func (test viewClusterTest) run(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(fakeKubeFile.Name())
|
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
|
||||||
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
|
@@ -483,6 +483,7 @@ func (f *TestFactory) Cleanup() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
f.tempConfigFile.Close()
|
||||||
os.Remove(f.tempConfigFile.Name())
|
os.Remove(f.tempConfigFile.Name())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -19,11 +19,12 @@ package load
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
|
|
||||||
"k8s.io/pod-security-admission/admission/api"
|
"k8s.io/pod-security-admission/admission/api"
|
||||||
@@ -44,7 +45,7 @@ func writeTempFile(t *testing.T, content string) string {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
os.Remove(file.Name())
|
utiltesting.CloseAndRemove(t, file)
|
||||||
})
|
})
|
||||||
if err := ioutil.WriteFile(file.Name(), []byte(content), 0600); err != nil {
|
if err := ioutil.WriteFile(file.Name(), []byte(content), 0600); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
@@ -19,11 +19,14 @@ package apimachinery
|
|||||||
import (
|
import (
|
||||||
"crypto/x509"
|
"crypto/x509"
|
||||||
"os"
|
"os"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
"k8s.io/kubernetes/test/utils"
|
||||||
|
|
||||||
"k8s.io/client-go/util/cert"
|
"k8s.io/client-go/util/cert"
|
||||||
"k8s.io/client-go/util/keyutil"
|
"k8s.io/client-go/util/keyutil"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
"k8s.io/kubernetes/test/utils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type certContext struct {
|
type certContext struct {
|
||||||
@@ -52,6 +55,7 @@ func setupServerCert(namespaceName, serviceName string) *certContext {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Failf("Failed to create a temp file for ca cert generation %v", err)
|
framework.Failf("Failed to create a temp file for ca cert generation %v", err)
|
||||||
}
|
}
|
||||||
|
defer utiltesting.CloseAndRemove(&testing.T{}, caCertFile)
|
||||||
if err := os.WriteFile(caCertFile.Name(), utils.EncodeCertPEM(signingCert), 0644); err != nil {
|
if err := os.WriteFile(caCertFile.Name(), utils.EncodeCertPEM(signingCert), 0644); err != nil {
|
||||||
framework.Failf("Failed to write CA cert %v", err)
|
framework.Failf("Failed to write CA cert %v", err)
|
||||||
}
|
}
|
||||||
@@ -74,6 +78,7 @@ func setupServerCert(namespaceName, serviceName string) *certContext {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Failf("Failed to create a temp file for cert generation %v", err)
|
framework.Failf("Failed to create a temp file for cert generation %v", err)
|
||||||
}
|
}
|
||||||
|
defer utiltesting.CloseAndRemove(&testing.T{}, certFile)
|
||||||
keyFile, err := os.CreateTemp(certDir, "server.key")
|
keyFile, err := os.CreateTemp(certDir, "server.key")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Failf("Failed to create a temp file for key generation %v", err)
|
framework.Failf("Failed to create a temp file for key generation %v", err)
|
||||||
@@ -88,6 +93,7 @@ func setupServerCert(namespaceName, serviceName string) *certContext {
|
|||||||
if err = os.WriteFile(keyFile.Name(), privateKeyPEM, 0644); err != nil {
|
if err = os.WriteFile(keyFile.Name(), privateKeyPEM, 0644); err != nil {
|
||||||
framework.Failf("Failed to write key file %v", err)
|
framework.Failf("Failed to write key file %v", err)
|
||||||
}
|
}
|
||||||
|
defer utiltesting.CloseAndRemove(&testing.T{}, keyFile)
|
||||||
return &certContext{
|
return &certContext{
|
||||||
cert: utils.EncodeCertPEM(signedCert),
|
cert: utils.EncodeCertPEM(signedCert),
|
||||||
key: privateKeyPEM,
|
key: privateKeyPEM,
|
||||||
|
@@ -19,6 +19,9 @@ package services
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/apiserver/pkg/storage/storagebackend"
|
"k8s.io/apiserver/pkg/storage/storagebackend"
|
||||||
netutils "k8s.io/utils/net"
|
netutils "k8s.io/utils/net"
|
||||||
@@ -79,7 +82,7 @@ func (a *APIServer) Start() error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("create temp file failed: %w", err)
|
return fmt.Errorf("create temp file failed: %w", err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(saSigningKeyFile.Name())
|
defer utiltesting.CloseAndRemove(&testing.T{}, saSigningKeyFile)
|
||||||
if err = os.WriteFile(saSigningKeyFile.Name(), []byte(ecdsaPrivateKey), 0666); err != nil {
|
if err = os.WriteFile(saSigningKeyFile.Name(), []byte(ecdsaPrivateKey), 0666); err != nil {
|
||||||
return fmt.Errorf("write file %s failed: %w", saSigningKeyFile.Name(), err)
|
return fmt.Errorf("write file %s failed: %w", saSigningKeyFile.Name(), err)
|
||||||
}
|
}
|
||||||
|
@@ -31,6 +31,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"k8s.io/api/admission/v1beta1"
|
"k8s.io/api/admission/v1beta1"
|
||||||
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
@@ -87,7 +89,7 @@ func testWebhookClientAuth(t *testing.T, enableAggregatorRouting bool) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(kubeConfigFile.Name())
|
defer utiltesting.CloseAndRemove(t, kubeConfigFile)
|
||||||
|
|
||||||
if err := os.WriteFile(kubeConfigFile.Name(), []byte(`
|
if err := os.WriteFile(kubeConfigFile.Name(), []byte(`
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -113,7 +115,7 @@ users:
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(admissionConfigFile.Name())
|
defer utiltesting.CloseAndRemove(t, admissionConfigFile)
|
||||||
|
|
||||||
if err := os.WriteFile(admissionConfigFile.Name(), []byte(`
|
if err := os.WriteFile(admissionConfigFile.Name(), []byte(`
|
||||||
apiVersion: apiserver.k8s.io/v1alpha1
|
apiVersion: apiserver.k8s.io/v1alpha1
|
||||||
|
@@ -44,6 +44,7 @@ import (
|
|||||||
auditv1 "k8s.io/apiserver/pkg/apis/audit/v1"
|
auditv1 "k8s.io/apiserver/pkg/apis/audit/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/rest"
|
"k8s.io/client-go/rest"
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
||||||
"k8s.io/kubernetes/test/integration/framework"
|
"k8s.io/kubernetes/test/integration/framework"
|
||||||
"k8s.io/kubernetes/test/utils"
|
"k8s.io/kubernetes/test/utils"
|
||||||
@@ -281,7 +282,7 @@ func testWebhookReinvocationPolicy(t *testing.T, watchCache bool) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to create audit log file: %v", err)
|
t.Fatalf("Failed to create audit log file: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(logFile.Name())
|
defer utiltesting.CloseAndRemove(t, logFile)
|
||||||
|
|
||||||
s := kubeapiservertesting.StartTestServerOrDie(t, kubeapiservertesting.NewDefaultTestServerOptions(), []string{
|
s := kubeapiservertesting.StartTestServerOrDie(t, kubeapiservertesting.NewDefaultTestServerOptions(), []string{
|
||||||
"--disable-admission-plugins=ServiceAccount",
|
"--disable-admission-plugins=ServiceAccount",
|
||||||
|
@@ -38,6 +38,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/strategicpatch"
|
"k8s.io/apimachinery/pkg/util/strategicpatch"
|
||||||
client "k8s.io/client-go/kubernetes"
|
client "k8s.io/client-go/kubernetes"
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
||||||
"k8s.io/kubernetes/test/integration/framework"
|
"k8s.io/kubernetes/test/integration/framework"
|
||||||
)
|
)
|
||||||
@@ -73,7 +74,7 @@ egressSelections:
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.Remove(tracingConfigFile.Name())
|
defer utiltesting.CloseAndRemove(t, tracingConfigFile)
|
||||||
|
|
||||||
if err := os.WriteFile(tracingConfigFile.Name(), []byte(fmt.Sprintf(`
|
if err := os.WriteFile(tracingConfigFile.Name(), []byte(fmt.Sprintf(`
|
||||||
apiVersion: apiserver.config.k8s.io/v1beta1
|
apiVersion: apiserver.config.k8s.io/v1beta1
|
||||||
|
@@ -41,6 +41,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
|
|
||||||
authenticationv1beta1 "k8s.io/api/authentication/v1beta1"
|
authenticationv1beta1 "k8s.io/api/authentication/v1beta1"
|
||||||
@@ -86,7 +88,7 @@ func getTestWebhookTokenAuth(serverURL string, customDial utilnet.DialFunc) (aut
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer os.Remove(kubecfgFile.Name())
|
defer utiltesting.CloseAndRemove(&testing.T{}, kubecfgFile)
|
||||||
config := v1.Config{
|
config := v1.Config{
|
||||||
Clusters: []v1.NamedCluster{
|
Clusters: []v1.NamedCluster{
|
||||||
{
|
{
|
||||||
|
@@ -22,6 +22,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apiserver/pkg/authentication/authenticator"
|
"k8s.io/apiserver/pkg/authentication/authenticator"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@@ -38,7 +40,7 @@ func TestDynamicClientBuilder(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("create temp file failed: %v", err)
|
t.Fatalf("create temp file failed: %v", err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(tmpfile.Name())
|
defer utiltesting.CloseAndRemove(t, tmpfile)
|
||||||
|
|
||||||
if err = os.WriteFile(tmpfile.Name(), []byte(ecdsaPrivateKey), 0666); err != nil {
|
if err = os.WriteFile(tmpfile.Name(), []byte(ecdsaPrivateKey), 0666); err != nil {
|
||||||
t.Fatalf("write file %s failed: %v", tmpfile.Name(), err)
|
t.Fatalf("write file %s failed: %v", tmpfile.Name(), err)
|
||||||
|
@@ -41,6 +41,7 @@ import (
|
|||||||
auditinternal "k8s.io/apiserver/pkg/apis/audit"
|
auditinternal "k8s.io/apiserver/pkg/apis/audit"
|
||||||
auditv1 "k8s.io/apiserver/pkg/apis/audit/v1"
|
auditv1 "k8s.io/apiserver/pkg/apis/audit/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
||||||
"k8s.io/kubernetes/test/integration/framework"
|
"k8s.io/kubernetes/test/integration/framework"
|
||||||
"k8s.io/kubernetes/test/utils"
|
"k8s.io/kubernetes/test/utils"
|
||||||
@@ -245,7 +246,7 @@ func runTestWithVersion(t *testing.T, version string) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to create audit log file: %v", err)
|
t.Fatalf("Failed to create audit log file: %v", err)
|
||||||
}
|
}
|
||||||
defer os.Remove(logFile.Name())
|
defer utiltesting.CloseAndRemove(t, logFile)
|
||||||
|
|
||||||
// start api server
|
// start api server
|
||||||
result := kubeapiservertesting.StartTestServerOrDie(t, nil,
|
result := kubeapiservertesting.StartTestServerOrDie(t, nil,
|
||||||
|
@@ -26,6 +26,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
utiltesting "k8s.io/client-go/util/testing"
|
||||||
|
|
||||||
clientv3 "go.etcd.io/etcd/client/v3"
|
clientv3 "go.etcd.io/etcd/client/v3"
|
||||||
|
|
||||||
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
||||||
@@ -81,7 +83,7 @@ func StartRealAPIServerOrDie(t *testing.T, configFuncs ...func(*options.ServerRu
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("create temp file failed: %v", err)
|
t.Fatalf("create temp file failed: %v", err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(saSigningKeyFile.Name())
|
defer utiltesting.CloseAndRemove(t, saSigningKeyFile)
|
||||||
if err = os.WriteFile(saSigningKeyFile.Name(), []byte(ecdsaPrivateKey), 0666); err != nil {
|
if err = os.WriteFile(saSigningKeyFile.Name(), []byte(ecdsaPrivateKey), 0666); err != nil {
|
||||||
t.Fatalf("write file %s failed: %v", saSigningKeyFile.Name(), err)
|
t.Fatalf("write file %s failed: %v", saSigningKeyFile.Name(), err)
|
||||||
}
|
}
|
||||||
|
@@ -695,6 +695,7 @@ func writeKubeConfigForWardleServerToKASConnection(t *testing.T, kubeClientConfi
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer wardleToKASKubeConfigFile.Close()
|
||||||
return wardleToKASKubeConfigFile.Name()
|
return wardleToKASKubeConfigFile.Name()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -99,6 +99,7 @@ func StartTestServer(ctx context.Context, t testing.TB, setup TestServerSetup) (
|
|||||||
if err := os.WriteFile(proxyCACertFile.Name(), utils.EncodeCertPEM(proxySigningCert), 0644); err != nil {
|
if err := os.WriteFile(proxyCACertFile.Name(), utils.EncodeCertPEM(proxySigningCert), 0644); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
defer proxyCACertFile.Close()
|
||||||
clientSigningKey, err := utils.NewPrivateKey()
|
clientSigningKey, err := utils.NewPrivateKey()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@@ -111,7 +112,7 @@ func StartTestServer(ctx context.Context, t testing.TB, setup TestServerSetup) (
|
|||||||
if err := os.WriteFile(clientCACertFile.Name(), utils.EncodeCertPEM(clientSigningCert), 0644); err != nil {
|
if err := os.WriteFile(clientCACertFile.Name(), utils.EncodeCertPEM(clientSigningCert), 0644); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
defer clientCACertFile.Close()
|
||||||
listener, _, err := genericapiserveroptions.CreateListener("tcp", "127.0.0.1:0", net.ListenConfig{})
|
listener, _, err := genericapiserveroptions.CreateListener("tcp", "127.0.0.1:0", net.ListenConfig{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@@ -121,7 +122,7 @@ func StartTestServer(ctx context.Context, t testing.TB, setup TestServerSetup) (
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("create temp file failed: %v", err)
|
t.Fatalf("create temp file failed: %v", err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(saSigningKeyFile.Name())
|
defer saSigningKeyFile.Close()
|
||||||
if err = os.WriteFile(saSigningKeyFile.Name(), []byte(ecdsaPrivateKey), 0666); err != nil {
|
if err = os.WriteFile(saSigningKeyFile.Name(), []byte(ecdsaPrivateKey), 0666); err != nil {
|
||||||
t.Fatalf("write file %s failed: %v", saSigningKeyFile.Name(), err)
|
t.Fatalf("write file %s failed: %v", saSigningKeyFile.Name(), err)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user