mirror of
https://github.com/containers/podman.git
synced 2025-06-24 03:08:13 +08:00
Updated based on Jhonce comments
Added ID to default removed outdated imports slight refactor Test Network Headers added to network_test.go Signed-off-by: Parker Van Roy <pvanroy@redhat.com>
This commit is contained in:
@ -1,7 +1,6 @@
|
||||
package network
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
@ -11,7 +10,6 @@ import (
|
||||
"github.com/containers/common/pkg/completion"
|
||||
"github.com/containers/common/pkg/report"
|
||||
"github.com/containers/podman/v3/cmd/podman/common"
|
||||
"github.com/containers/podman/v3/cmd/podman/parse"
|
||||
"github.com/containers/podman/v3/cmd/podman/registry"
|
||||
"github.com/containers/podman/v3/cmd/podman/validate"
|
||||
"github.com/containers/podman/v3/libpod/network"
|
||||
@ -38,7 +36,6 @@ var (
|
||||
networkListOptions entities.NetworkListOptions
|
||||
filters []string
|
||||
noTrunc bool
|
||||
defaultListRow = "{{.Name}}\t{{.Version}}\t{{.Plugins}}\n"
|
||||
)
|
||||
|
||||
func networkListFlags(flags *pflag.FlagSet) {
|
||||
@ -81,23 +78,24 @@ func networkList(cmd *cobra.Command, args []string) error {
|
||||
switch {
|
||||
// quiet means we only print the network names
|
||||
case networkListOptions.Quiet:
|
||||
return quietOut(responses)
|
||||
quietOut(responses)
|
||||
|
||||
// TODO remove references to parse package
|
||||
case parse.MatchesJSONFormat(networkListOptions.Format):
|
||||
return jsonOut(responses)
|
||||
// JSON output formatting
|
||||
case report.IsJSON(networkListOptions.Format):
|
||||
err = jsonOut(responses)
|
||||
|
||||
// table or other format output
|
||||
default:
|
||||
return templateOut(responses, cmd)
|
||||
err = templateOut(responses, cmd)
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func quietOut(responses []*entities.NetworkListReport) error {
|
||||
func quietOut(responses []*entities.NetworkListReport) {
|
||||
for _, r := range responses {
|
||||
fmt.Println(r.Name)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func jsonOut(responses []*entities.NetworkListReport) error {
|
||||
@ -125,15 +123,15 @@ func templateOut(responses []*entities.NetworkListReport, cmd *cobra.Command) er
|
||||
"ID": "network id",
|
||||
})
|
||||
|
||||
renderHeaders := strings.HasPrefix(networkListOptions.Format, "table ")
|
||||
renderHeaders := report.HasTable(networkListOptions.Format)
|
||||
var row, format string
|
||||
if cmd.Flags().Changed("format") {
|
||||
row = report.NormalizeFormat(networkListOptions.Format)
|
||||
} else { // 'podman network ls' equivalent to 'podman network ls --format="table {{ .Name }} {{ .Version }} {{ .Plugins }}" '
|
||||
} else { // 'podman network ls' equivalent to 'podman network ls --format="table {{.ID}} {{.Name}} {{.Version}} {{.Plugins}}" '
|
||||
renderHeaders = true
|
||||
row = defaultListRow
|
||||
row = "{{.ID}}\t{{.Name}}\t{{.Version}}\t{{.Plugins}}\n"
|
||||
}
|
||||
format = "{{range .}}" + row + "{{end}}"
|
||||
format = report.EnforceRange(row)
|
||||
|
||||
tmpl, err := template.New("listNetworks").Parse(format)
|
||||
if err != nil {
|
||||
|
@ -8,6 +8,9 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
// Pull in configured json library
|
||||
json = registry.JSONLibrary()
|
||||
|
||||
// Command: podman _network_
|
||||
networkCmd = &cobra.Command{
|
||||
Use: "network",
|
||||
|
@ -150,6 +150,13 @@ var _ = Describe("Podman network", func() {
|
||||
defer podmanTest.removeCNINetwork(net)
|
||||
Expect(session.ExitCode()).To(BeZero())
|
||||
|
||||
// Tests Default Table Output
|
||||
session = podmanTest.Podman([]string{"network", "ls", "--filter", "id=" + netID})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(BeZero())
|
||||
expectedTable := "NETWORK ID NAME VERSION PLUGINS"
|
||||
Expect(session.OutputToString()).To(ContainSubstring(expectedTable))
|
||||
|
||||
session = podmanTest.Podman([]string{"network", "ls", "--format", "{{.Name}} {{.ID}}", "--filter", "id=" + netID})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(BeZero())
|
||||
|
Reference in New Issue
Block a user