diff --git a/metadata/fake/simple.go b/metadata/fake/simple.go index ca771237..5b585f3f 100644 --- a/metadata/fake/simple.go +++ b/metadata/fake/simple.go @@ -41,6 +41,11 @@ type MetadataClient interface { UpdateFake(obj *metav1.PartialObjectMetadata, opts metav1.UpdateOptions, subresources ...string) (*metav1.PartialObjectMetadata, error) } +// NewTestScheme creates a unique Scheme for each test. +func NewTestScheme() *runtime.Scheme { + return runtime.NewScheme() +} + // NewSimpleMetadataClient creates a new client that will use the provided scheme and respond with the // provided objects when requests are made. It will track actions made to the client which can be checked // with GetActions(). diff --git a/metadata/fake/simple_test.go b/metadata/fake/simple_test.go index e6fdde3e..219be4e7 100644 --- a/metadata/fake/simple_test.go +++ b/metadata/fake/simple_test.go @@ -39,13 +39,6 @@ const ( testAPIVersion = "testgroup/testversion" ) -var scheme *runtime.Scheme - -func init() { - scheme = runtime.NewScheme() - metav1.AddMetaToScheme(scheme) -} - func newPartialObjectMetadata(apiVersion, kind, namespace, name string) *metav1.PartialObjectMetadata { return &metav1.PartialObjectMetadata{ TypeMeta: metav1.TypeMeta{ @@ -66,6 +59,8 @@ func newPartialObjectMetadataWithAnnotations(annotations map[string]string) *met } func TestList(t *testing.T) { + scheme := NewTestScheme() + metav1.AddMetaToScheme(scheme) client := NewSimpleMetadataClient(scheme, newPartialObjectMetadata("group/version", "TheKind", "ns-foo", "name-foo"), newPartialObjectMetadata("group2/version", "TheKind", "ns-foo", "name2-foo"), @@ -98,6 +93,8 @@ type patchTestCase struct { } func (tc *patchTestCase) runner(t *testing.T) { + scheme := NewTestScheme() + metav1.AddMetaToScheme(scheme) client := NewSimpleMetadataClient(scheme, tc.object) resourceInterface := client.Resource(schema.GroupVersionResource{Group: testGroup, Version: testVersion, Resource: testResource}).Namespace(testNamespace) diff --git a/metadata/metadatainformer/informer_test.go b/metadata/metadatainformer/informer_test.go index e268202e..2c7b9ab4 100644 --- a/metadata/metadatainformer/informer_test.go +++ b/metadata/metadatainformer/informer_test.go @@ -125,7 +125,7 @@ func TestMetadataSharedInformerFactory(t *testing.T) { timeout := time.Duration(3 * time.Second) ctx, cancel := context.WithTimeout(context.Background(), timeout) defer cancel() - scheme := runtime.NewScheme() + scheme := fake.NewTestScheme() metav1.AddMetaToScheme(scheme) informerReciveObjectCh := make(chan *metav1.PartialObjectMetadata, 1) objs := []runtime.Object{}