...

Source file src/sigs.k8s.io/cli-utils/pkg/manifestreader/fake-loader.go

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

     1  // Copyright 2020 The Kubernetes Authors.
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package manifestreader
     5  
     6  import (
     7  	"io"
     8  
     9  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    10  	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
    11  	"k8s.io/kubectl/pkg/cmd/util"
    12  	"sigs.k8s.io/cli-utils/pkg/inventory"
    13  	"sigs.k8s.io/cli-utils/pkg/object"
    14  )
    15  
    16  type FakeLoader struct {
    17  	Factory   util.Factory
    18  	InvClient *inventory.FakeClient
    19  }
    20  
    21  var _ ManifestLoader = &FakeLoader{}
    22  
    23  func NewFakeLoader(f util.Factory, objs object.ObjMetadataSet) *FakeLoader {
    24  	return &FakeLoader{
    25  		Factory:   f,
    26  		InvClient: inventory.NewFakeClient(objs),
    27  	}
    28  }
    29  
    30  func (f *FakeLoader) ManifestReader(reader io.Reader, _ string) (ManifestReader, error) {
    31  	mapper, err := f.Factory.ToRESTMapper()
    32  	if err != nil {
    33  		return nil, err
    34  	}
    35  
    36  	readerOptions := ReaderOptions{
    37  		Mapper:    mapper,
    38  		Namespace: metav1.NamespaceDefault,
    39  	}
    40  	return &StreamManifestReader{
    41  		ReaderName:    "stdin",
    42  		Reader:        reader,
    43  		ReaderOptions: readerOptions,
    44  	}, nil
    45  }
    46  
    47  func (f *FakeLoader) InventoryInfo(objs []*unstructured.Unstructured) (inventory.Info, []*unstructured.Unstructured, error) {
    48  	inv, objs, err := inventory.SplitUnstructureds(objs)
    49  	return inventory.WrapInventoryInfoObj(inv), objs, err
    50  }
    51  

View as plain text