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