...

Source file src/sigs.k8s.io/cli-utils/pkg/testutil/restmapper.go

Documentation: sigs.k8s.io/cli-utils/pkg/testutil

     1  // Copyright 2020 The Kubernetes Authors.
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package testutil
     5  
     6  import (
     7  	"github.com/google/go-cmp/cmp"
     8  	"k8s.io/apimachinery/pkg/api/meta"
     9  	"k8s.io/apimachinery/pkg/runtime/schema"
    10  )
    11  
    12  func NewFakeRESTMapper(gvks ...schema.GroupVersionKind) meta.RESTMapper {
    13  	var groupVersions []schema.GroupVersion
    14  	for _, gvk := range gvks {
    15  		groupVersions = append(groupVersions, gvk.GroupVersion())
    16  	}
    17  	mapper := meta.NewDefaultRESTMapper(groupVersions)
    18  	for _, gvk := range gvks {
    19  		mapper.Add(gvk, meta.RESTScopeNamespace)
    20  	}
    21  	return fakeRESTMapper{
    22  		DefaultRESTMapper:    mapper,
    23  		defaultGroupVersions: groupVersions,
    24  	}
    25  }
    26  
    27  type fakeRESTMapper struct {
    28  	*meta.DefaultRESTMapper
    29  	defaultGroupVersions []schema.GroupVersion
    30  }
    31  
    32  // Equal returns true if the defaultGroupVersions are equal.
    33  // Implements the "(T) Equal(T) bool" interface for cmp.Equal:
    34  // https://pkg.go.dev/github.com/google/go-cmp/cmp#Equal
    35  func (rm fakeRESTMapper) Equal(other fakeRESTMapper) bool {
    36  	return cmp.Equal(rm.defaultGroupVersions, other.defaultGroupVersions)
    37  }
    38  

View as plain text