mirror of
https://github.com/vmware-tanzu/pinniped.git
synced 2026-09-18 22:14:22 +00:00
Merge branch 'main' into dynamic_clients
This commit is contained in:
@@ -1,25 +1,28 @@
|
||||
// Copyright 2021-2022 the Pinniped contributors. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Package fakekubeapi contains a *very* simple httptest.Server that can be used to stand in for
|
||||
// a real Kube API server in tests.
|
||||
//
|
||||
// Usage:
|
||||
// func TestSomething(t *testing.T) {
|
||||
// resources := map[string]kubeclient.Object{
|
||||
// // store preexisting resources here
|
||||
// "/api/v1/namespaces/default/pods/some-pod-name": &corev1.Pod{...},
|
||||
// }
|
||||
// server, restConfig := fakekubeapi.Start(t, resources)
|
||||
// defer server.Close()
|
||||
// client := kubeclient.New(kubeclient.WithConfig(restConfig))
|
||||
// // do stuff with client...
|
||||
// }
|
||||
/*
|
||||
Package fakekubeapi contains a *very* simple httptest.Server that can be used to stand in for
|
||||
a real Kube API server in tests.
|
||||
|
||||
Usage:
|
||||
|
||||
func TestSomething(t *testing.T) {
|
||||
resources := map[string]kubeclient.Object{
|
||||
// store preexisting resources here
|
||||
"/api/v1/namespaces/default/pods/some-pod-name": &corev1.Pod{...},
|
||||
}
|
||||
server, restConfig := fakekubeapi.Start(t, resources)
|
||||
defer server.Close()
|
||||
client := kubeclient.New(kubeclient.WithConfig(restConfig))
|
||||
// do stuff with client...
|
||||
}
|
||||
*/
|
||||
package fakekubeapi
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"io"
|
||||
"mime"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
@@ -104,13 +107,13 @@ func decodeObj(r *http.Request) (runtime.Object, error) {
|
||||
return nil, httperr.Wrap(http.StatusUnsupportedMediaType, "could not parse mime type from content-type header", err)
|
||||
}
|
||||
|
||||
body, err := ioutil.ReadAll(r.Body)
|
||||
body, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
return nil, httperr.Wrap(http.StatusInternalServerError, "read body", err)
|
||||
}
|
||||
|
||||
var obj runtime.Object
|
||||
var errs []error //nolint: prealloc
|
||||
var errs []error //nolint:prealloc
|
||||
codecsThatWeUseInOurCode := []runtime.NegotiatedSerializer{
|
||||
kubescheme.Codecs,
|
||||
aggregatorclientscheme.Codecs,
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
// Copyright 2020-2021 the Pinniped contributors. All Rights Reserved.
|
||||
// Copyright 2020-2022 the Pinniped contributors. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package testutil
|
||||
|
||||
import (
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
@@ -23,7 +22,7 @@ func (e *ErrorWriter) Write([]byte) (int, error) { return 0, e.ReturnError }
|
||||
|
||||
func WriteStringToTempFile(t *testing.T, filename string, fileBody string) *os.File {
|
||||
t.Helper()
|
||||
f, err := ioutil.TempFile("", filename)
|
||||
f, err := os.CreateTemp("", filename)
|
||||
require.NoError(t, err)
|
||||
deferMe := func() {
|
||||
err := os.Remove(f.Name())
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright 2020 the Pinniped contributors. All Rights Reserved.
|
||||
// Copyright 2020-2022 the Pinniped contributors. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
//go:build !go1.14
|
||||
// +build !go1.14
|
||||
|
||||
package testutil
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
// Copyright 2020-2022 the Pinniped contributors. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
//nolint:goimports // not an import
|
||||
//go:build go1.14
|
||||
// +build go1.14
|
||||
|
||||
package testutil
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"io/ioutil" //nolint:staticcheck // ioutil is deprecated, but this file is for go1.14
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2020-2021 the Pinniped contributors. All Rights Reserved.
|
||||
// Copyright 2020-2022 the Pinniped contributors. All Rights Reserved.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package testutil
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"net"
|
||||
"net/http"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
@@ -33,8 +34,9 @@ func TLSTestServerWithCert(t *testing.T, handler http.HandlerFunc, certificate *
|
||||
c.Certificates = []tls.Certificate{*certificate}
|
||||
|
||||
server := http.Server{
|
||||
TLSConfig: c,
|
||||
Handler: handler,
|
||||
TLSConfig: c,
|
||||
Handler: handler,
|
||||
ReadHeaderTimeout: 10 * time.Second,
|
||||
}
|
||||
|
||||
l, err := net.Listen("tcp", "127.0.0.1:0")
|
||||
|
||||
Reference in New Issue
Block a user