mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Merge pull request #27943 from ivan4th/refactor-printer-arguments
Automatic merge from submit-queue Refactor Printer arguments <!-- Checklist for submitting a Pull Request Please remove this comment block before submitting. 1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md). 2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md). 3. If you want this PR to automatically close an issue when it is merged, add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>` to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests). 4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below. --> []() Fixes #21260
This commit is contained in:
commit
98d769cf3d
@ -225,7 +225,7 @@ func NewTestFactory() (*cmdutil.Factory, *testFactory, runtime.Codec, runtime.Ne
|
|||||||
Describer: func(*meta.RESTMapping) (kubectl.Describer, error) {
|
Describer: func(*meta.RESTMapping) (kubectl.Describer, error) {
|
||||||
return t.Describer, t.Err
|
return t.Describer, t.Err
|
||||||
},
|
},
|
||||||
Printer: func(mapping *meta.RESTMapping, noHeaders, withNamespace bool, wide bool, showAll bool, showLabels bool, absoluteTimestamps bool, columnLabels []string) (kubectl.ResourcePrinter, error) {
|
Printer: func(mapping *meta.RESTMapping, options kubectl.PrintOptions) (kubectl.ResourcePrinter, error) {
|
||||||
return t.Printer, t.Err
|
return t.Printer, t.Err
|
||||||
},
|
},
|
||||||
Validator: func(validate bool, cacheDir string) (validation.Schema, error) {
|
Validator: func(validate bool, cacheDir string) (validation.Schema, error) {
|
||||||
@ -295,7 +295,7 @@ func NewAPIFactory() (*cmdutil.Factory, *testFactory, runtime.Codec, runtime.Neg
|
|||||||
Describer: func(*meta.RESTMapping) (kubectl.Describer, error) {
|
Describer: func(*meta.RESTMapping) (kubectl.Describer, error) {
|
||||||
return t.Describer, t.Err
|
return t.Describer, t.Err
|
||||||
},
|
},
|
||||||
Printer: func(mapping *meta.RESTMapping, noHeaders, withNamespace bool, wide bool, showAll bool, showLabels bool, absoluteTimestamps bool, columnLabels []string) (kubectl.ResourcePrinter, error) {
|
Printer: func(mapping *meta.RESTMapping, options kubectl.PrintOptions) (kubectl.ResourcePrinter, error) {
|
||||||
return t.Printer, t.Err
|
return t.Printer, t.Err
|
||||||
},
|
},
|
||||||
Validator: func(validate bool, cacheDir string) (validation.Schema, error) {
|
Validator: func(validate bool, cacheDir string) (validation.Schema, error) {
|
||||||
@ -371,7 +371,10 @@ func stringBody(body string) io.ReadCloser {
|
|||||||
|
|
||||||
func Example_printReplicationControllerWithNamespace() {
|
func Example_printReplicationControllerWithNamespace() {
|
||||||
f, tf, _, ns := NewAPIFactory()
|
f, tf, _, ns := NewAPIFactory()
|
||||||
tf.Printer = kubectl.NewHumanReadablePrinter(false, true, false, false, false, false, []string{})
|
tf.Printer = kubectl.NewHumanReadablePrinter(kubectl.PrintOptions{
|
||||||
|
WithNamespace: true,
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
tf.Client = &fake.RESTClient{
|
tf.Client = &fake.RESTClient{
|
||||||
NegotiatedSerializer: ns,
|
NegotiatedSerializer: ns,
|
||||||
Client: nil,
|
Client: nil,
|
||||||
@ -417,7 +420,10 @@ func Example_printReplicationControllerWithNamespace() {
|
|||||||
|
|
||||||
func Example_printMultiContainersReplicationControllerWithWide() {
|
func Example_printMultiContainersReplicationControllerWithWide() {
|
||||||
f, tf, _, ns := NewAPIFactory()
|
f, tf, _, ns := NewAPIFactory()
|
||||||
tf.Printer = kubectl.NewHumanReadablePrinter(false, false, true, false, false, false, []string{})
|
tf.Printer = kubectl.NewHumanReadablePrinter(kubectl.PrintOptions{
|
||||||
|
Wide: true,
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
tf.Client = &fake.RESTClient{
|
tf.Client = &fake.RESTClient{
|
||||||
NegotiatedSerializer: ns,
|
NegotiatedSerializer: ns,
|
||||||
Client: nil,
|
Client: nil,
|
||||||
@ -466,7 +472,9 @@ func Example_printMultiContainersReplicationControllerWithWide() {
|
|||||||
|
|
||||||
func Example_printReplicationController() {
|
func Example_printReplicationController() {
|
||||||
f, tf, _, ns := NewAPIFactory()
|
f, tf, _, ns := NewAPIFactory()
|
||||||
tf.Printer = kubectl.NewHumanReadablePrinter(false, false, false, false, false, false, []string{})
|
tf.Printer = kubectl.NewHumanReadablePrinter(kubectl.PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
tf.Client = &fake.RESTClient{
|
tf.Client = &fake.RESTClient{
|
||||||
NegotiatedSerializer: ns,
|
NegotiatedSerializer: ns,
|
||||||
Client: nil,
|
Client: nil,
|
||||||
@ -515,7 +523,10 @@ func Example_printReplicationController() {
|
|||||||
|
|
||||||
func Example_printPodWithWideFormat() {
|
func Example_printPodWithWideFormat() {
|
||||||
f, tf, _, ns := NewAPIFactory()
|
f, tf, _, ns := NewAPIFactory()
|
||||||
tf.Printer = kubectl.NewHumanReadablePrinter(false, false, true, false, false, false, []string{})
|
tf.Printer = kubectl.NewHumanReadablePrinter(kubectl.PrintOptions{
|
||||||
|
Wide: true,
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
tf.Client = &fake.RESTClient{
|
tf.Client = &fake.RESTClient{
|
||||||
NegotiatedSerializer: ns,
|
NegotiatedSerializer: ns,
|
||||||
Client: nil,
|
Client: nil,
|
||||||
@ -552,7 +563,10 @@ func Example_printPodWithWideFormat() {
|
|||||||
|
|
||||||
func Example_printPodWithShowLabels() {
|
func Example_printPodWithShowLabels() {
|
||||||
f, tf, _, ns := NewAPIFactory()
|
f, tf, _, ns := NewAPIFactory()
|
||||||
tf.Printer = kubectl.NewHumanReadablePrinter(false, false, false, false, true, false, []string{})
|
tf.Printer = kubectl.NewHumanReadablePrinter(kubectl.PrintOptions{
|
||||||
|
ShowLabels: true,
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
tf.Client = &fake.RESTClient{
|
tf.Client = &fake.RESTClient{
|
||||||
NegotiatedSerializer: ns,
|
NegotiatedSerializer: ns,
|
||||||
Client: nil,
|
Client: nil,
|
||||||
@ -684,7 +698,9 @@ func newAllPhasePodList() *api.PodList {
|
|||||||
|
|
||||||
func Example_printPodHideTerminated() {
|
func Example_printPodHideTerminated() {
|
||||||
f, tf, _, ns := NewAPIFactory()
|
f, tf, _, ns := NewAPIFactory()
|
||||||
tf.Printer = kubectl.NewHumanReadablePrinter(false, false, false, false, false, false, []string{})
|
tf.Printer = kubectl.NewHumanReadablePrinter(kubectl.PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
tf.Client = &fake.RESTClient{
|
tf.Client = &fake.RESTClient{
|
||||||
NegotiatedSerializer: ns,
|
NegotiatedSerializer: ns,
|
||||||
Client: nil,
|
Client: nil,
|
||||||
@ -705,7 +721,10 @@ func Example_printPodHideTerminated() {
|
|||||||
|
|
||||||
func Example_printPodShowAll() {
|
func Example_printPodShowAll() {
|
||||||
f, tf, _, ns := NewAPIFactory()
|
f, tf, _, ns := NewAPIFactory()
|
||||||
tf.Printer = kubectl.NewHumanReadablePrinter(false, false, false, true, false, false, []string{})
|
tf.Printer = kubectl.NewHumanReadablePrinter(kubectl.PrintOptions{
|
||||||
|
ShowAll: true,
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
tf.Client = &fake.RESTClient{
|
tf.Client = &fake.RESTClient{
|
||||||
NegotiatedSerializer: ns,
|
NegotiatedSerializer: ns,
|
||||||
Client: nil,
|
Client: nil,
|
||||||
@ -728,7 +747,10 @@ func Example_printPodShowAll() {
|
|||||||
|
|
||||||
func Example_printServiceWithNamespacesAndLabels() {
|
func Example_printServiceWithNamespacesAndLabels() {
|
||||||
f, tf, _, ns := NewAPIFactory()
|
f, tf, _, ns := NewAPIFactory()
|
||||||
tf.Printer = kubectl.NewHumanReadablePrinter(false, true, false, false, false, false, []string{"l1"})
|
tf.Printer = kubectl.NewHumanReadablePrinter(kubectl.PrintOptions{
|
||||||
|
WithNamespace: true,
|
||||||
|
ColumnLabels: []string{"l1"},
|
||||||
|
})
|
||||||
tf.Client = &fake.RESTClient{
|
tf.Client = &fake.RESTClient{
|
||||||
NegotiatedSerializer: ns,
|
NegotiatedSerializer: ns,
|
||||||
Client: nil,
|
Client: nil,
|
||||||
|
@ -78,7 +78,9 @@ func NewCmdDelete(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
|||||||
|
|
||||||
// retrieve a list of handled resources from printer as valid args
|
// retrieve a list of handled resources from printer as valid args
|
||||||
validArgs, argAliases := []string{}, []string{}
|
validArgs, argAliases := []string{}, []string{}
|
||||||
p, err := f.Printer(nil, false, false, false, false, false, false, []string{})
|
p, err := f.Printer(nil, kubectl.PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
if p != nil {
|
if p != nil {
|
||||||
validArgs = p.HandledResources()
|
validArgs = p.HandledResources()
|
||||||
|
@ -93,7 +93,9 @@ func NewCmdEdit(f *cmdutil.Factory, out, errOut io.Writer) *cobra.Command {
|
|||||||
|
|
||||||
// retrieve a list of handled resources from printer as valid args
|
// retrieve a list of handled resources from printer as valid args
|
||||||
validArgs, argAliases := []string{}, []string{}
|
validArgs, argAliases := []string{}, []string{}
|
||||||
p, err := f.Printer(nil, false, false, false, false, false, false, []string{})
|
p, err := f.Printer(nil, kubectl.PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
if p != nil {
|
if p != nil {
|
||||||
validArgs = p.HandledResources()
|
validArgs = p.HandledResources()
|
||||||
|
@ -79,7 +79,9 @@ func NewCmdGet(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
|||||||
|
|
||||||
// retrieve a list of handled resources from printer as valid args
|
// retrieve a list of handled resources from printer as valid args
|
||||||
validArgs, argAliases := []string{}, []string{}
|
validArgs, argAliases := []string{}, []string{}
|
||||||
p, err := f.Printer(nil, false, false, false, false, false, false, []string{})
|
p, err := f.Printer(nil, kubectl.PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
if p != nil {
|
if p != nil {
|
||||||
validArgs = p.HandledResources()
|
validArgs = p.HandledResources()
|
||||||
|
@ -77,7 +77,9 @@ func NewCmdLabel(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
|||||||
|
|
||||||
// retrieve a list of handled resources from printer as valid args
|
// retrieve a list of handled resources from printer as valid args
|
||||||
validArgs, argAliases := []string{}, []string{}
|
validArgs, argAliases := []string{}, []string{}
|
||||||
p, err := f.Printer(nil, false, false, false, false, false, false, []string{})
|
p, err := f.Printer(nil, kubectl.PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
if p != nil {
|
if p != nil {
|
||||||
validArgs = p.HandledResources()
|
validArgs = p.HandledResources()
|
||||||
|
@ -74,7 +74,9 @@ func NewCmdPatch(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
|||||||
|
|
||||||
// retrieve a list of handled resources from printer as valid args
|
// retrieve a list of handled resources from printer as valid args
|
||||||
validArgs, argAliases := []string{}, []string{}
|
validArgs, argAliases := []string{}, []string{}
|
||||||
p, err := f.Printer(nil, false, false, false, false, false, false, []string{})
|
p, err := f.Printer(nil, kubectl.PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
if p != nil {
|
if p != nil {
|
||||||
validArgs = p.HandledResources()
|
validArgs = p.HandledResources()
|
||||||
|
@ -27,6 +27,7 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/meta"
|
"k8s.io/kubernetes/pkg/api/meta"
|
||||||
|
"k8s.io/kubernetes/pkg/kubectl"
|
||||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||||
"k8s.io/kubernetes/pkg/kubectl/resource"
|
"k8s.io/kubernetes/pkg/kubectl/resource"
|
||||||
"k8s.io/kubernetes/pkg/runtime"
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
@ -72,7 +73,9 @@ func NewCmdTaint(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
|||||||
|
|
||||||
// retrieve a list of handled resources from printer as valid args
|
// retrieve a list of handled resources from printer as valid args
|
||||||
validArgs := []string{}
|
validArgs := []string{}
|
||||||
p, err := f.Printer(nil, false, false, false, false, false, false, []string{})
|
p, err := f.Printer(nil, kubectl.PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
if p != nil {
|
if p != nil {
|
||||||
validArgs = p.HandledResources()
|
validArgs = p.HandledResources()
|
||||||
|
@ -99,7 +99,7 @@ type Factory struct {
|
|||||||
// Returns a Describer for displaying the specified RESTMapping type or an error.
|
// Returns a Describer for displaying the specified RESTMapping type or an error.
|
||||||
Describer func(mapping *meta.RESTMapping) (kubectl.Describer, error)
|
Describer func(mapping *meta.RESTMapping) (kubectl.Describer, error)
|
||||||
// Returns a Printer for formatting objects of the given type or an error.
|
// Returns a Printer for formatting objects of the given type or an error.
|
||||||
Printer func(mapping *meta.RESTMapping, noHeaders, withNamespace bool, wide bool, showAll bool, showLabels bool, absoluteTimestamps bool, columnLabels []string) (kubectl.ResourcePrinter, error)
|
Printer func(mapping *meta.RESTMapping, options kubectl.PrintOptions) (kubectl.ResourcePrinter, error)
|
||||||
// Returns a Scaler for changing the size of the specified RESTMapping type or an error
|
// Returns a Scaler for changing the size of the specified RESTMapping type or an error
|
||||||
Scaler func(mapping *meta.RESTMapping) (kubectl.Scaler, error)
|
Scaler func(mapping *meta.RESTMapping) (kubectl.Scaler, error)
|
||||||
// Returns a Reaper for gracefully shutting down resources.
|
// Returns a Reaper for gracefully shutting down resources.
|
||||||
@ -417,8 +417,8 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
|||||||
JSONEncoder: func() runtime.Encoder {
|
JSONEncoder: func() runtime.Encoder {
|
||||||
return api.Codecs.LegacyCodec(registered.EnabledVersions()...)
|
return api.Codecs.LegacyCodec(registered.EnabledVersions()...)
|
||||||
},
|
},
|
||||||
Printer: func(mapping *meta.RESTMapping, noHeaders, withNamespace bool, wide bool, showAll bool, showLabels bool, absoluteTimestamps bool, columnLabels []string) (kubectl.ResourcePrinter, error) {
|
Printer: func(mapping *meta.RESTMapping, options kubectl.PrintOptions) (kubectl.ResourcePrinter, error) {
|
||||||
return kubectl.NewHumanReadablePrinter(noHeaders, withNamespace, wide, showAll, showLabels, absoluteTimestamps, columnLabels), nil
|
return kubectl.NewHumanReadablePrinter(options), nil
|
||||||
},
|
},
|
||||||
MapBasedSelectorForObject: func(object runtime.Object) (string, error) {
|
MapBasedSelectorForObject: func(object runtime.Object) (string, error) {
|
||||||
// TODO: replace with a swagger schema based approach (identify pod selector via schema introspection)
|
// TODO: replace with a swagger schema based approach (identify pod selector via schema introspection)
|
||||||
@ -1220,7 +1220,15 @@ func (f *Factory) PrinterForMapping(cmd *cobra.Command, mapping *meta.RESTMappin
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
columnLabel = []string{}
|
columnLabel = []string{}
|
||||||
}
|
}
|
||||||
printer, err = f.Printer(mapping, GetFlagBool(cmd, "no-headers"), withNamespace, GetWideFlag(cmd), GetFlagBool(cmd, "show-all"), GetFlagBool(cmd, "show-labels"), isWatch(cmd), columnLabel)
|
printer, err = f.Printer(mapping, kubectl.PrintOptions{
|
||||||
|
NoHeaders: GetFlagBool(cmd, "no-headers"),
|
||||||
|
WithNamespace: withNamespace,
|
||||||
|
Wide: GetWideFlag(cmd),
|
||||||
|
ShowAll: GetFlagBool(cmd, "show-all"),
|
||||||
|
ShowLabels: GetFlagBool(cmd, "show-labels"),
|
||||||
|
AbsoluteTimestamps: isWatch(cmd),
|
||||||
|
ColumnLabels: columnLabel,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -342,20 +342,10 @@ type HumanReadablePrinter struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewHumanReadablePrinter creates a HumanReadablePrinter.
|
// NewHumanReadablePrinter creates a HumanReadablePrinter.
|
||||||
func NewHumanReadablePrinter(noHeaders, withNamespace bool, wide bool, showAll bool, showLabels bool, absoluteTimestamps bool, columnLabels []string) *HumanReadablePrinter {
|
func NewHumanReadablePrinter(options PrintOptions) *HumanReadablePrinter {
|
||||||
printer := &HumanReadablePrinter{
|
printer := &HumanReadablePrinter{
|
||||||
handlerMap: make(map[reflect.Type]*handlerEntry),
|
handlerMap: make(map[reflect.Type]*handlerEntry),
|
||||||
Options: PrintOptions{
|
Options: options,
|
||||||
NoHeaders: noHeaders,
|
|
||||||
WithNamespace: withNamespace,
|
|
||||||
WithKind: false,
|
|
||||||
KindName: "",
|
|
||||||
Wide: wide,
|
|
||||||
ShowAll: showAll,
|
|
||||||
ShowLabels: showLabels,
|
|
||||||
AbsoluteTimestamps: absoluteTimestamps,
|
|
||||||
ColumnLabels: columnLabels,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
printer.addDefaultHandlers()
|
printer.addDefaultHandlers()
|
||||||
return printer
|
return printer
|
||||||
|
@ -231,7 +231,9 @@ func ErrorPrintHandler(obj *TestPrintType, w io.Writer, options PrintOptions) er
|
|||||||
|
|
||||||
func TestCustomTypePrinting(t *testing.T) {
|
func TestCustomTypePrinting(t *testing.T) {
|
||||||
columns := []string{"Data"}
|
columns := []string{"Data"}
|
||||||
printer := NewHumanReadablePrinter(false, false, false, false, false, false, []string{})
|
printer := NewHumanReadablePrinter(PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
printer.Handler(columns, PrintCustomType)
|
printer.Handler(columns, PrintCustomType)
|
||||||
|
|
||||||
obj := TestPrintType{"test object"}
|
obj := TestPrintType{"test object"}
|
||||||
@ -248,7 +250,9 @@ func TestCustomTypePrinting(t *testing.T) {
|
|||||||
|
|
||||||
func TestCustomTypePrintingWithKind(t *testing.T) {
|
func TestCustomTypePrintingWithKind(t *testing.T) {
|
||||||
columns := []string{"Data"}
|
columns := []string{"Data"}
|
||||||
printer := NewHumanReadablePrinter(false, false, false, false, false, false, []string{})
|
printer := NewHumanReadablePrinter(PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
printer.Handler(columns, PrintCustomType)
|
printer.Handler(columns, PrintCustomType)
|
||||||
printer.Options.WithKind = true
|
printer.Options.WithKind = true
|
||||||
printer.Options.KindName = "test"
|
printer.Options.KindName = "test"
|
||||||
@ -267,7 +271,9 @@ func TestCustomTypePrintingWithKind(t *testing.T) {
|
|||||||
|
|
||||||
func TestPrintHandlerError(t *testing.T) {
|
func TestPrintHandlerError(t *testing.T) {
|
||||||
columns := []string{"Data"}
|
columns := []string{"Data"}
|
||||||
printer := NewHumanReadablePrinter(false, false, false, false, false, false, []string{})
|
printer := NewHumanReadablePrinter(PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
printer.Handler(columns, ErrorPrintHandler)
|
printer.Handler(columns, ErrorPrintHandler)
|
||||||
obj := TestPrintType{"test object"}
|
obj := TestPrintType{"test object"}
|
||||||
buffer := &bytes.Buffer{}
|
buffer := &bytes.Buffer{}
|
||||||
@ -278,7 +284,9 @@ func TestPrintHandlerError(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestUnknownTypePrinting(t *testing.T) {
|
func TestUnknownTypePrinting(t *testing.T) {
|
||||||
printer := NewHumanReadablePrinter(false, false, false, false, false, false, []string{})
|
printer := NewHumanReadablePrinter(PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
buffer := &bytes.Buffer{}
|
buffer := &bytes.Buffer{}
|
||||||
err := printer.PrintObj(&TestUnknownType{}, buffer)
|
err := printer.PrintObj(&TestUnknownType{}, buffer)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@ -482,13 +490,18 @@ func TestPrinters(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
printers := map[string]ResourcePrinter{
|
printers := map[string]ResourcePrinter{
|
||||||
"humanReadable": NewHumanReadablePrinter(true, false, false, false, false, false, []string{}),
|
"humanReadable": NewHumanReadablePrinter(PrintOptions{
|
||||||
"humanReadableHeaders": NewHumanReadablePrinter(false, false, false, false, false, false, []string{}),
|
NoHeaders: true,
|
||||||
"json": &JSONPrinter{},
|
ColumnLabels: []string{},
|
||||||
"yaml": &YAMLPrinter{},
|
}),
|
||||||
"template": templatePrinter,
|
"humanReadableHeaders": NewHumanReadablePrinter(PrintOptions{
|
||||||
"template2": templatePrinter2,
|
ColumnLabels: []string{},
|
||||||
"jsonpath": jsonpathPrinter,
|
}),
|
||||||
|
"json": &JSONPrinter{},
|
||||||
|
"yaml": &YAMLPrinter{},
|
||||||
|
"template": templatePrinter,
|
||||||
|
"template2": templatePrinter2,
|
||||||
|
"jsonpath": jsonpathPrinter,
|
||||||
"name": &NamePrinter{
|
"name": &NamePrinter{
|
||||||
Typer: api.Scheme,
|
Typer: api.Scheme,
|
||||||
Decoder: api.Codecs.UniversalDecoder(),
|
Decoder: api.Codecs.UniversalDecoder(),
|
||||||
@ -526,7 +539,9 @@ func TestPrinters(t *testing.T) {
|
|||||||
|
|
||||||
func TestPrintEventsResultSorted(t *testing.T) {
|
func TestPrintEventsResultSorted(t *testing.T) {
|
||||||
// Arrange
|
// Arrange
|
||||||
printer := NewHumanReadablePrinter(false /* noHeaders */, false, false, false, false, false, []string{})
|
printer := NewHumanReadablePrinter(PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
|
|
||||||
obj := api.EventList{
|
obj := api.EventList{
|
||||||
Items: []api.Event{
|
Items: []api.Event{
|
||||||
@ -570,7 +585,9 @@ func TestPrintEventsResultSorted(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestPrintNodeStatus(t *testing.T) {
|
func TestPrintNodeStatus(t *testing.T) {
|
||||||
printer := NewHumanReadablePrinter(false, false, false, false, false, false, []string{})
|
printer := NewHumanReadablePrinter(PrintOptions{
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
table := []struct {
|
table := []struct {
|
||||||
node api.Node
|
node api.Node
|
||||||
status string
|
status string
|
||||||
@ -694,7 +711,9 @@ func TestPrintHunmanReadableIngressWithColumnLabels(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
buff := bytes.Buffer{}
|
buff := bytes.Buffer{}
|
||||||
printIngress(&ingress, &buff, PrintOptions{false, false, false, false, false, false, false, "", []string{"app_name"}})
|
printIngress(&ingress, &buff, PrintOptions{
|
||||||
|
ColumnLabels: []string{"app_name"},
|
||||||
|
})
|
||||||
output := string(buff.Bytes())
|
output := string(buff.Bytes())
|
||||||
appName := ingress.ObjectMeta.Labels["app_name"]
|
appName := ingress.ObjectMeta.Labels["app_name"]
|
||||||
if !strings.Contains(output, appName) {
|
if !strings.Contains(output, appName) {
|
||||||
@ -1001,7 +1020,10 @@ func TestPrintHumanReadableWithNamespace(t *testing.T) {
|
|||||||
for _, test := range table {
|
for _, test := range table {
|
||||||
if test.isNamespaced {
|
if test.isNamespaced {
|
||||||
// Expect output to include namespace when requested.
|
// Expect output to include namespace when requested.
|
||||||
printer := NewHumanReadablePrinter(false, true, false, false, false, false, []string{})
|
printer := NewHumanReadablePrinter(PrintOptions{
|
||||||
|
WithNamespace: true,
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
buffer := &bytes.Buffer{}
|
buffer := &bytes.Buffer{}
|
||||||
err := printer.PrintObj(test.obj, buffer)
|
err := printer.PrintObj(test.obj, buffer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1013,7 +1035,10 @@ func TestPrintHumanReadableWithNamespace(t *testing.T) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Expect error when trying to get all namespaces for un-namespaced object.
|
// Expect error when trying to get all namespaces for un-namespaced object.
|
||||||
printer := NewHumanReadablePrinter(false, true, false, false, false, false, []string{})
|
printer := NewHumanReadablePrinter(PrintOptions{
|
||||||
|
WithNamespace: true,
|
||||||
|
ColumnLabels: []string{},
|
||||||
|
})
|
||||||
buffer := &bytes.Buffer{}
|
buffer := &bytes.Buffer{}
|
||||||
err := printer.PrintObj(test.obj, buffer)
|
err := printer.PrintObj(test.obj, buffer)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user