...
1
2
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