docker_cli_network_test.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // +build experimental
  2. package main
  3. import (
  4. "os/exec"
  5. "strings"
  6. "github.com/go-check/check"
  7. )
  8. func isNetworkPresent(c *check.C, name string) bool {
  9. runCmd := exec.Command(dockerBinary, "network", "ls")
  10. out, _, _, err := runCommandWithStdoutStderr(runCmd)
  11. if err != nil {
  12. c.Fatal(out, err)
  13. }
  14. lines := strings.Split(out, "\n")
  15. for i := 1; i < len(lines)-1; i++ {
  16. if strings.Contains(lines[i], name) {
  17. return true
  18. }
  19. }
  20. return false
  21. }
  22. func (s *DockerSuite) TestDockerNetworkLsDefault(c *check.C) {
  23. defaults := []string{"bridge", "host", "none"}
  24. for _, nn := range defaults {
  25. if !isNetworkPresent(c, nn) {
  26. c.Fatalf("Missing Default network : %s", nn)
  27. }
  28. }
  29. }
  30. func (s *DockerSuite) TestDockerNetworkCreateDelete(c *check.C) {
  31. runCmd := exec.Command(dockerBinary, "network", "create", "test")
  32. out, _, _, err := runCommandWithStdoutStderr(runCmd)
  33. if err != nil {
  34. c.Fatal(out, err)
  35. }
  36. if !isNetworkPresent(c, "test") {
  37. c.Fatalf("Network test not found")
  38. }
  39. runCmd = exec.Command(dockerBinary, "network", "rm", "test")
  40. out, _, _, err = runCommandWithStdoutStderr(runCmd)
  41. if err != nil {
  42. c.Fatal(out, err)
  43. }
  44. if isNetworkPresent(c, "test") {
  45. c.Fatalf("Network test is not removed")
  46. }
  47. }