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
|
package network
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
@ -11,7 +10,6 @@ import (
|
|||||||
"github.com/containers/common/pkg/completion"
|
"github.com/containers/common/pkg/completion"
|
||||||
"github.com/containers/common/pkg/report"
|
"github.com/containers/common/pkg/report"
|
||||||
"github.com/containers/podman/v3/cmd/podman/common"
|
"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/registry"
|
||||||
"github.com/containers/podman/v3/cmd/podman/validate"
|
"github.com/containers/podman/v3/cmd/podman/validate"
|
||||||
"github.com/containers/podman/v3/libpod/network"
|
"github.com/containers/podman/v3/libpod/network"
|
||||||
@ -38,7 +36,6 @@ var (
|
|||||||
networkListOptions entities.NetworkListOptions
|
networkListOptions entities.NetworkListOptions
|
||||||
filters []string
|
filters []string
|
||||||
noTrunc bool
|
noTrunc bool
|
||||||
defaultListRow = "{{.Name}}\t{{.Version}}\t{{.Plugins}}\n"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func networkListFlags(flags *pflag.FlagSet) {
|
func networkListFlags(flags *pflag.FlagSet) {
|
||||||
@ -81,23 +78,24 @@ func networkList(cmd *cobra.Command, args []string) error {
|
|||||||
switch {
|
switch {
|
||||||
// quiet means we only print the network names
|
// quiet means we only print the network names
|
||||||
case networkListOptions.Quiet:
|
case networkListOptions.Quiet:
|
||||||
return quietOut(responses)
|
quietOut(responses)
|
||||||
|
|
||||||
// TODO remove references to parse package
|
// JSON output formatting
|
||||||
case parse.MatchesJSONFormat(networkListOptions.Format):
|
case report.IsJSON(networkListOptions.Format):
|
||||||
return jsonOut(responses)
|
err = jsonOut(responses)
|
||||||
|
|
||||||
// table or other format output
|
// table or other format output
|
||||||
default:
|
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 {
|
for _, r := range responses {
|
||||||
fmt.Println(r.Name)
|
fmt.Println(r.Name)
|
||||||
}
|
}
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func jsonOut(responses []*entities.NetworkListReport) error {
|
func jsonOut(responses []*entities.NetworkListReport) error {
|
||||||
@ -125,15 +123,15 @@ func templateOut(responses []*entities.NetworkListReport, cmd *cobra.Command) er
|
|||||||
"ID": "network id",
|
"ID": "network id",
|
||||||
})
|
})
|
||||||
|
|
||||||
renderHeaders := strings.HasPrefix(networkListOptions.Format, "table ")
|
renderHeaders := report.HasTable(networkListOptions.Format)
|
||||||
var row, format string
|
var row, format string
|
||||||
if cmd.Flags().Changed("format") {
|
if cmd.Flags().Changed("format") {
|
||||||
row = report.NormalizeFormat(networkListOptions.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
|
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)
|
tmpl, err := template.New("listNetworks").Parse(format)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -8,6 +8,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
// Pull in configured json library
|
||||||
|
json = registry.JSONLibrary()
|
||||||
|
|
||||||
// Command: podman _network_
|
// Command: podman _network_
|
||||||
networkCmd = &cobra.Command{
|
networkCmd = &cobra.Command{
|
||||||
Use: "network",
|
Use: "network",
|
||||||
|
@ -150,6 +150,13 @@ var _ = Describe("Podman network", func() {
|
|||||||
defer podmanTest.removeCNINetwork(net)
|
defer podmanTest.removeCNINetwork(net)
|
||||||
Expect(session.ExitCode()).To(BeZero())
|
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 = podmanTest.Podman([]string{"network", "ls", "--format", "{{.Name}} {{.ID}}", "--filter", "id=" + netID})
|
||||||
session.WaitWithDefaultTimeout()
|
session.WaitWithDefaultTimeout()
|
||||||
Expect(session.ExitCode()).To(BeZero())
|
Expect(session.ExitCode()).To(BeZero())
|
||||||
|
Reference in New Issue
Block a user