Add missing error handling in schema-related code
Kubernetes-commit: bfe313d5f351dfae086a85a97e7103183173e5b5
This commit is contained in:
parent
24243adee0
commit
0f7bbcadfb
|
@ -22,6 +22,8 @@ import (
|
|||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/json"
|
||||
"k8s.io/apiserver/pkg/apis/apiserver"
|
||||
|
@ -137,8 +139,8 @@ func TestReadAdmissionConfiguration(t *testing.T) {
|
|||
}
|
||||
|
||||
scheme := runtime.NewScheme()
|
||||
apiserver.AddToScheme(scheme)
|
||||
apiserverapiv1alpha1.AddToScheme(scheme)
|
||||
require.NoError(t, apiserver.AddToScheme(scheme))
|
||||
require.NoError(t, apiserverapiv1alpha1.AddToScheme(scheme))
|
||||
|
||||
for testName, testCase := range testCases {
|
||||
if err = ioutil.WriteFile(configFileName, []byte(testCase.ConfigBody), 0644); err != nil {
|
||||
|
@ -209,8 +211,8 @@ func TestEmbeddedConfiguration(t *testing.T) {
|
|||
|
||||
for desc, test := range testCases {
|
||||
scheme := runtime.NewScheme()
|
||||
apiserver.AddToScheme(scheme)
|
||||
apiserverapiv1alpha1.AddToScheme(scheme)
|
||||
require.NoError(t, apiserver.AddToScheme(scheme))
|
||||
require.NoError(t, apiserverapiv1alpha1.AddToScheme(scheme))
|
||||
|
||||
if err = ioutil.WriteFile(configFileName, []byte(test.ConfigBody), 0644); err != nil {
|
||||
t.Errorf("[%s] unexpected err writing temp file: %v", desc, err)
|
||||
|
|
|
@ -58,7 +58,9 @@ func NewClientManager() (ClientManager, error) {
|
|||
return ClientManager{}, err
|
||||
}
|
||||
admissionScheme := runtime.NewScheme()
|
||||
admissionv1beta1.AddToScheme(admissionScheme)
|
||||
if err := admissionv1beta1.AddToScheme(admissionScheme); err != nil {
|
||||
return ClientManager{}, err
|
||||
}
|
||||
return ClientManager{
|
||||
cache: cache,
|
||||
negotiatedSerializer: serializer.NegotiatedSerializerWrapper(runtime.SerializerInfo{
|
||||
|
|
|
@ -24,6 +24,7 @@ import (
|
|||
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||
"k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission"
|
||||
"k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1"
|
||||
|
@ -35,8 +36,8 @@ var (
|
|||
)
|
||||
|
||||
func init() {
|
||||
webhookadmission.AddToScheme(scheme)
|
||||
v1alpha1.AddToScheme(scheme)
|
||||
utilruntime.Must(webhookadmission.AddToScheme(scheme))
|
||||
utilruntime.Must(v1alpha1.AddToScheme(scheme))
|
||||
}
|
||||
|
||||
// LoadConfig extract the KubeConfigFile from configFile
|
||||
|
|
|
@ -20,6 +20,8 @@ import (
|
|||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
|
@ -29,16 +31,16 @@ import (
|
|||
example2v1 "k8s.io/apiserver/pkg/apis/example2/v1"
|
||||
)
|
||||
|
||||
func initiateScheme() *runtime.Scheme {
|
||||
func initiateScheme(t *testing.T) *runtime.Scheme {
|
||||
s := runtime.NewScheme()
|
||||
example.AddToScheme(s)
|
||||
examplev1.AddToScheme(s)
|
||||
example2v1.AddToScheme(s)
|
||||
require.NoError(t, example.AddToScheme(s))
|
||||
require.NoError(t, examplev1.AddToScheme(s))
|
||||
require.NoError(t, example2v1.AddToScheme(s))
|
||||
return s
|
||||
}
|
||||
|
||||
func TestConvertToGVK(t *testing.T) {
|
||||
scheme := initiateScheme()
|
||||
scheme := initiateScheme(t)
|
||||
c := convertor{Scheme: scheme}
|
||||
table := map[string]struct {
|
||||
obj runtime.Object
|
||||
|
@ -134,7 +136,7 @@ func TestConvertToGVK(t *testing.T) {
|
|||
// TestRuntimeSchemeConvert verifies that scheme.Convert(x, x, nil) for an unstructured x is a no-op.
|
||||
// This did not use to be like that and we had to wrap scheme.Convert before.
|
||||
func TestRuntimeSchemeConvert(t *testing.T) {
|
||||
scheme := initiateScheme()
|
||||
scheme := initiateScheme(t)
|
||||
obj := &unstructured.Unstructured{
|
||||
Object: map[string]interface{}{
|
||||
"foo": "bar",
|
||||
|
|
|
@ -21,6 +21,8 @@ import (
|
|||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
|
@ -44,9 +46,9 @@ var sampleCRD = unstructured.Unstructured{
|
|||
|
||||
func TestDispatch(t *testing.T) {
|
||||
scheme := runtime.NewScheme()
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
example2v1.AddToScheme(scheme)
|
||||
require.NoError(t, example.AddToScheme(scheme))
|
||||
require.NoError(t, examplev1.AddToScheme(scheme))
|
||||
require.NoError(t, example2v1.AddToScheme(scheme))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
|
|
|
@ -22,6 +22,8 @@ import (
|
|||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"k8s.io/api/admission/v1beta1"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
|
@ -34,8 +36,8 @@ import (
|
|||
// TestAdmit tests that MutatingWebhook#Admit works as expected
|
||||
func TestAdmit(t *testing.T) {
|
||||
scheme := runtime.NewScheme()
|
||||
v1beta1.AddToScheme(scheme)
|
||||
corev1.AddToScheme(scheme)
|
||||
require.NoError(t, v1beta1.AddToScheme(scheme))
|
||||
require.NoError(t, corev1.AddToScheme(scheme))
|
||||
|
||||
testServer := webhooktesting.NewTestServer(t)
|
||||
testServer.StartTLS()
|
||||
|
@ -103,8 +105,8 @@ func TestAdmit(t *testing.T) {
|
|||
// TestAdmitCachedClient tests that MutatingWebhook#Admit should cache restClient
|
||||
func TestAdmitCachedClient(t *testing.T) {
|
||||
scheme := runtime.NewScheme()
|
||||
v1beta1.AddToScheme(scheme)
|
||||
corev1.AddToScheme(scheme)
|
||||
require.NoError(t, v1beta1.AddToScheme(scheme))
|
||||
require.NoError(t, corev1.AddToScheme(scheme))
|
||||
|
||||
testServer := webhooktesting.NewTestServer(t)
|
||||
testServer.StartTLS()
|
||||
|
|
|
@ -21,6 +21,8 @@ import (
|
|||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"k8s.io/api/admission/v1beta1"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
|
@ -31,8 +33,8 @@ import (
|
|||
// TestValidate tests that ValidatingWebhook#Validate works as expected
|
||||
func TestValidate(t *testing.T) {
|
||||
scheme := runtime.NewScheme()
|
||||
v1beta1.AddToScheme(scheme)
|
||||
corev1.AddToScheme(scheme)
|
||||
require.NoError(t, v1beta1.AddToScheme(scheme))
|
||||
require.NoError(t, corev1.AddToScheme(scheme))
|
||||
|
||||
testServer := webhooktesting.NewTestServer(t)
|
||||
testServer.StartTLS()
|
||||
|
@ -94,8 +96,8 @@ func TestValidate(t *testing.T) {
|
|||
// TestValidateCachedClient tests that ValidatingWebhook#Validate should cache restClient
|
||||
func TestValidateCachedClient(t *testing.T) {
|
||||
scheme := runtime.NewScheme()
|
||||
v1beta1.AddToScheme(scheme)
|
||||
corev1.AddToScheme(scheme)
|
||||
require.NoError(t, v1beta1.AddToScheme(scheme))
|
||||
require.NoError(t, corev1.AddToScheme(scheme))
|
||||
|
||||
testServer := webhooktesting.NewTestServer(t)
|
||||
testServer.StartTLS()
|
||||
|
|
|
@ -22,6 +22,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apiserver/pkg/apis/audit/v1alpha1"
|
||||
"k8s.io/apiserver/pkg/apis/audit/v1beta1"
|
||||
)
|
||||
|
@ -31,6 +32,6 @@ var Codecs = serializer.NewCodecFactory(Scheme)
|
|||
|
||||
func init() {
|
||||
v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
|
||||
v1alpha1.AddToScheme(Scheme)
|
||||
v1beta1.AddToScheme(Scheme)
|
||||
utilruntime.Must(v1alpha1.AddToScheme(Scheme))
|
||||
utilruntime.Must(v1beta1.AddToScheme(Scheme))
|
||||
}
|
||||
|
|
|
@ -54,6 +54,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/diff"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/apiserver/pkg/admission"
|
||||
|
@ -126,8 +127,8 @@ func init() {
|
|||
scheme.AddUnversionedTypes(grouplessGroupVersion, &metav1.Status{})
|
||||
metav1.AddToGroupVersion(scheme, grouplessGroupVersion)
|
||||
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
utilruntime.Must(example.AddToScheme(scheme))
|
||||
utilruntime.Must(examplev1.AddToScheme(scheme))
|
||||
}
|
||||
|
||||
func addGrouplessTypes() {
|
||||
|
|
|
@ -36,6 +36,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/diff"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/strategicpatch"
|
||||
"k8s.io/apiserver/pkg/apis/example"
|
||||
examplev1 "k8s.io/apiserver/pkg/apis/example/v1"
|
||||
|
@ -51,8 +52,8 @@ var (
|
|||
|
||||
func init() {
|
||||
metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion)
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
utilruntime.Must(example.AddToScheme(scheme))
|
||||
utilruntime.Must(examplev1.AddToScheme(scheme))
|
||||
}
|
||||
|
||||
type testPatchType struct {
|
||||
|
|
|
@ -39,6 +39,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
"k8s.io/apimachinery/pkg/selection"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
|
@ -66,8 +67,8 @@ const validInitializerName = "test.k8s.io"
|
|||
|
||||
func init() {
|
||||
metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion)
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
utilruntime.Must(example.AddToScheme(scheme))
|
||||
utilruntime.Must(examplev1.AddToScheme(scheme))
|
||||
}
|
||||
|
||||
type testGracefulStrategy struct {
|
||||
|
|
|
@ -38,6 +38,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/apimachinery/pkg/version"
|
||||
"k8s.io/apiserver/pkg/apis/example"
|
||||
|
@ -75,8 +76,8 @@ func init() {
|
|||
&metav1.APIGroup{},
|
||||
&metav1.APIResourceList{},
|
||||
)
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
utilruntime.Must(example.AddToScheme(scheme))
|
||||
utilruntime.Must(examplev1.AddToScheme(scheme))
|
||||
}
|
||||
|
||||
func buildTestOpenAPIDefinition() kubeopenapi.OpenAPIDefinition {
|
||||
|
|
|
@ -23,6 +23,7 @@ import (
|
|||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/apiserver/pkg/admission"
|
||||
"k8s.io/apiserver/pkg/admission/initializer"
|
||||
|
@ -42,8 +43,8 @@ import (
|
|||
var configScheme = runtime.NewScheme()
|
||||
|
||||
func init() {
|
||||
apiserverapi.AddToScheme(configScheme)
|
||||
apiserverapiv1alpha1.AddToScheme(configScheme)
|
||||
utilruntime.Must(apiserverapi.AddToScheme(configScheme))
|
||||
utilruntime.Must(apiserverapiv1alpha1.AddToScheme(configScheme))
|
||||
}
|
||||
|
||||
// AdmissionOptions holds the admission options
|
||||
|
|
|
@ -20,6 +20,8 @@ import (
|
|||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
apiv1 "k8s.io/api/core/v1"
|
||||
extensionsapiv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
|
@ -27,7 +29,7 @@ import (
|
|||
)
|
||||
|
||||
func TestParseRuntimeConfig(t *testing.T) {
|
||||
scheme := newFakeScheme()
|
||||
scheme := newFakeScheme(t)
|
||||
apiv1GroupVersion := apiv1.SchemeGroupVersion
|
||||
testCases := []struct {
|
||||
runtimeConfig map[string]string
|
||||
|
@ -163,10 +165,10 @@ func newFakeAPIResourceConfigSource() *serverstore.ResourceConfig {
|
|||
return ret
|
||||
}
|
||||
|
||||
func newFakeScheme() *runtime.Scheme {
|
||||
func newFakeScheme(t *testing.T) *runtime.Scheme {
|
||||
ret := runtime.NewScheme()
|
||||
apiv1.AddToScheme(ret)
|
||||
extensionsapiv1beta1.AddToScheme(ret)
|
||||
require.NoError(t, apiv1.AddToScheme(ret))
|
||||
require.NoError(t, extensionsapiv1beta1.AddToScheme(ret))
|
||||
|
||||
ret.SetVersionPriority(apiv1.SchemeGroupVersion)
|
||||
ret.SetVersionPriority(extensionsapiv1beta1.SchemeGroupVersion)
|
||||
|
|
|
@ -27,6 +27,8 @@ import (
|
|||
"time"
|
||||
|
||||
etcd "github.com/coreos/etcd/client"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
apitesting "k8s.io/apimachinery/pkg/api/testing"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/conversion"
|
||||
|
@ -77,9 +79,9 @@ func testScheme(t *testing.T) (*runtime.Scheme, serializer.CodecFactory) {
|
|||
scheme := runtime.NewScheme()
|
||||
scheme.Log(t)
|
||||
scheme.AddKnownTypes(schema.GroupVersion{Version: runtime.APIVersionInternal}, &storagetesting.TestResource{})
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
if err := scheme.AddConversionFuncs(
|
||||
require.NoError(t, example.AddToScheme(scheme))
|
||||
require.NoError(t, examplev1.AddToScheme(scheme))
|
||||
require.NoError(t, scheme.AddConversionFuncs(
|
||||
func(in *storagetesting.TestResource, out *storagetesting.TestResource, s conversion.Scope) error {
|
||||
*out = *in
|
||||
return nil
|
||||
|
@ -88,9 +90,7 @@ func testScheme(t *testing.T) (*runtime.Scheme, serializer.CodecFactory) {
|
|||
*out = *in
|
||||
return nil
|
||||
},
|
||||
); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
))
|
||||
codecs := serializer.NewCodecFactory(scheme)
|
||||
return scheme, codecs
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
"k8s.io/apimachinery/pkg/util/diff"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/apiserver/pkg/apis/example"
|
||||
examplev1 "k8s.io/apiserver/pkg/apis/example/v1"
|
||||
|
@ -54,8 +55,8 @@ const defaultTestPrefix = "test!"
|
|||
|
||||
func init() {
|
||||
metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion)
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
utilruntime.Must(example.AddToScheme(scheme))
|
||||
utilruntime.Must(examplev1.AddToScheme(scheme))
|
||||
|
||||
capnslog.SetGlobalLogLevel(capnslog.CRITICAL)
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ import (
|
|||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apiserver/pkg/apis/example"
|
||||
examplev1 "k8s.io/apiserver/pkg/apis/example/v1"
|
||||
"k8s.io/apiserver/pkg/storage/etcd/testing/testingcert"
|
||||
|
@ -42,8 +43,8 @@ var codecs = serializer.NewCodecFactory(scheme)
|
|||
|
||||
func init() {
|
||||
metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion)
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
utilruntime.Must(example.AddToScheme(scheme))
|
||||
utilruntime.Must(examplev1.AddToScheme(scheme))
|
||||
}
|
||||
|
||||
func TestTLSConnection(t *testing.T) {
|
||||
|
|
|
@ -34,6 +34,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
|
@ -55,8 +56,8 @@ var (
|
|||
|
||||
func init() {
|
||||
metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion)
|
||||
example.AddToScheme(scheme)
|
||||
examplev1.AddToScheme(scheme)
|
||||
utilruntime.Must(example.AddToScheme(scheme))
|
||||
utilruntime.Must(examplev1.AddToScheme(scheme))
|
||||
}
|
||||
|
||||
// GetAttrs returns labels and fields of a given object for filtering purposes.
|
||||
|
|
Loading…
Reference in New Issue