diff options
Diffstat (limited to 'test/e2e/network_connect_disconnect_test.go')
-rw-r--r-- | test/e2e/network_connect_disconnect_test.go | 123 |
1 files changed, 62 insertions, 61 deletions
diff --git a/test/e2e/network_connect_disconnect_test.go b/test/e2e/network_connect_disconnect_test.go index c82aacbe4..b1f3607ab 100644 --- a/test/e2e/network_connect_disconnect_test.go +++ b/test/e2e/network_connect_disconnect_test.go @@ -7,6 +7,7 @@ import ( "github.com/containers/storage/pkg/stringid" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + . "github.com/onsi/gomega/gexec" ) var _ = Describe("Podman network connect and disconnect", func() { @@ -35,19 +36,19 @@ var _ = Describe("Podman network connect and disconnect", func() { It("bad network name in disconnect should result in error", func() { dis := podmanTest.Podman([]string{"network", "disconnect", "foobar", "test"}) dis.WaitWithDefaultTimeout() - Expect(dis.ExitCode()).ToNot(BeZero()) + Expect(dis).Should(ExitWithError()) }) It("bad container name in network disconnect should result in error", func() { netName := "aliasTest" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) dis := podmanTest.Podman([]string{"network", "disconnect", netName, "foobar"}) dis.WaitWithDefaultTimeout() - Expect(dis.ExitCode()).ToNot(BeZero()) + Expect(dis).Should(ExitWithError()) }) It("network disconnect with net mode slirp4netns should result in error", func() { @@ -55,17 +56,17 @@ var _ = Describe("Podman network connect and disconnect", func() { netName := "slirp" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) session = podmanTest.Podman([]string{"create", "--name", "test", "--network", "slirp4netns", ALPINE}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) con := podmanTest.Podman([]string{"network", "disconnect", netName, "test"}) con.WaitWithDefaultTimeout() - Expect(con.ExitCode()).ToNot(BeZero()) + Expect(con).Should(ExitWithError()) Expect(con.ErrorToString()).To(ContainSubstring(`"slirp4netns" is not supported: invalid network mode`)) }) @@ -73,47 +74,47 @@ var _ = Describe("Podman network connect and disconnect", func() { netName := "aliasTest" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) ctr := podmanTest.Podman([]string{"run", "-dt", "--name", "test", "--network", netName, ALPINE, "top"}) ctr.WaitWithDefaultTimeout() - Expect(ctr.ExitCode()).To(BeZero()) + Expect(ctr).Should(Exit(0)) exec := podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) dis := podmanTest.Podman([]string{"network", "disconnect", netName, "test"}) dis.WaitWithDefaultTimeout() - Expect(dis.ExitCode()).To(BeZero()) + Expect(dis).Should(Exit(0)) inspect := podmanTest.Podman([]string{"container", "inspect", "test", "--format", "{{len .NetworkSettings.Networks}}"}) inspect.WaitWithDefaultTimeout() - Expect(inspect.ExitCode()).To(BeZero()) + Expect(inspect).Should(Exit(0)) Expect(inspect.OutputToString()).To(Equal("0")) exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).ToNot(BeZero()) + Expect(exec).Should(ExitWithError()) }) It("bad network name in connect should result in error", func() { dis := podmanTest.Podman([]string{"network", "connect", "foobar", "test"}) dis.WaitWithDefaultTimeout() - Expect(dis.ExitCode()).ToNot(BeZero()) + Expect(dis).Should(ExitWithError()) }) It("bad container name in network connect should result in error", func() { netName := "aliasTest" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) dis := podmanTest.Podman([]string{"network", "connect", netName, "foobar"}) dis.WaitWithDefaultTimeout() - Expect(dis.ExitCode()).ToNot(BeZero()) + Expect(dis).Should(ExitWithError()) }) It("network connect with net mode slirp4netns should result in error", func() { @@ -121,17 +122,17 @@ var _ = Describe("Podman network connect and disconnect", func() { netName := "slirp" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) session = podmanTest.Podman([]string{"create", "--name", "test", "--network", "slirp4netns", ALPINE}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) con := podmanTest.Podman([]string{"network", "connect", netName, "test"}) con.WaitWithDefaultTimeout() - Expect(con.ExitCode()).ToNot(BeZero()) + Expect(con).Should(ExitWithError()) Expect(con.ErrorToString()).To(ContainSubstring(`"slirp4netns" is not supported: invalid network mode`)) }) @@ -139,16 +140,16 @@ var _ = Describe("Podman network connect and disconnect", func() { netName := "aliasTest" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) ctr := podmanTest.Podman([]string{"create", "--name", "test", "--network", netName, ALPINE, "top"}) ctr.WaitWithDefaultTimeout() - Expect(ctr.ExitCode()).To(BeZero()) + Expect(ctr).Should(Exit(0)) con := podmanTest.Podman([]string{"network", "connect", netName, "test"}) con.WaitWithDefaultTimeout() - Expect(con.ExitCode()).ToNot(BeZero()) + Expect(con).Should(ExitWithError()) }) It("podman network connect", func() { @@ -156,41 +157,41 @@ var _ = Describe("Podman network connect and disconnect", func() { netName := "aliasTest" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) ctr := podmanTest.Podman([]string{"run", "-dt", "--name", "test", "--network", netName, ALPINE, "top"}) ctr.WaitWithDefaultTimeout() - Expect(ctr.ExitCode()).To(BeZero()) + Expect(ctr).Should(Exit(0)) exec := podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) // Create a second network newNetName := "aliasTest" + stringid.GenerateNonCryptoID() session = podmanTest.Podman([]string{"network", "create", newNetName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(newNetName) connect := podmanTest.Podman([]string{"network", "connect", newNetName, "test"}) connect.WaitWithDefaultTimeout() - Expect(connect.ExitCode()).To(BeZero()) + Expect(connect).Should(Exit(0)) inspect := podmanTest.Podman([]string{"container", "inspect", "test", "--format", "{{len .NetworkSettings.Networks}}"}) inspect.WaitWithDefaultTimeout() - Expect(inspect.ExitCode()).To(BeZero()) + Expect(inspect).Should(Exit(0)) Expect(inspect.OutputToString()).To(Equal("2")) exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth1"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) // make sure no logrus errors are shown https://github.com/containers/podman/issues/9602 rm := podmanTest.Podman([]string{"rm", "-f", "test"}) rm.WaitWithDefaultTimeout() - Expect(rm.ExitCode()).To(BeZero()) + Expect(rm).Should(Exit(0)) Expect(rm.ErrorToString()).To(Equal("")) }) @@ -199,39 +200,39 @@ var _ = Describe("Podman network connect and disconnect", func() { netName1 := "connect1" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName1}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName1) netName2 := "connect2" + stringid.GenerateNonCryptoID() session = podmanTest.Podman([]string{"network", "create", netName2}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName2) ctr := podmanTest.Podman([]string{"create", "--name", "test", "--network", netName1, ALPINE, "top"}) ctr.WaitWithDefaultTimeout() - Expect(ctr.ExitCode()).To(BeZero()) + Expect(ctr).Should(Exit(0)) dis := podmanTest.Podman([]string{"network", "connect", netName2, "test"}) dis.WaitWithDefaultTimeout() - Expect(dis.ExitCode()).To(BeZero()) + Expect(dis).Should(Exit(0)) inspect := podmanTest.Podman([]string{"container", "inspect", "test", "--format", "{{len .NetworkSettings.Networks}}"}) inspect.WaitWithDefaultTimeout() - Expect(inspect.ExitCode()).To(BeZero()) + Expect(inspect).Should(Exit(0)) Expect(inspect.OutputToString()).To(Equal("2")) start := podmanTest.Podman([]string{"start", "test"}) start.WaitWithDefaultTimeout() - Expect(start.ExitCode()).To(BeZero()) + Expect(start).Should(Exit(0)) exec := podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth1"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) }) It("podman network connect and run with network ID", func() { @@ -240,86 +241,86 @@ var _ = Describe("Podman network connect and disconnect", func() { netName := "ID" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) session = podmanTest.Podman([]string{"network", "ls", "--format", "{{.ID}}", "--filter", "name=" + netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) netID := session.OutputToString() ctr := podmanTest.Podman([]string{"run", "-dt", "--name", "test", "--network", netID, ALPINE, "top"}) ctr.WaitWithDefaultTimeout() - Expect(ctr.ExitCode()).To(BeZero()) + Expect(ctr).Should(Exit(0)) exec := podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) // Create a second network newNetName := "ID2" + stringid.GenerateNonCryptoID() session = podmanTest.Podman([]string{"network", "create", newNetName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(newNetName) session = podmanTest.Podman([]string{"network", "ls", "--format", "{{.ID}}", "--filter", "name=" + newNetName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) newNetID := session.OutputToString() connect := podmanTest.Podman([]string{"network", "connect", newNetID, "test"}) connect.WaitWithDefaultTimeout() - Expect(connect.ExitCode()).To(BeZero()) + Expect(connect).Should(Exit(0)) inspect := podmanTest.Podman([]string{"container", "inspect", "test", "--format", "{{.NetworkSettings.Networks}}"}) inspect.WaitWithDefaultTimeout() - Expect(inspect.ExitCode()).To(BeZero()) + Expect(inspect).Should(Exit(0)) Expect(inspect.OutputToString()).To(ContainSubstring(netName)) Expect(inspect.OutputToString()).To(ContainSubstring(newNetName)) exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth1"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) }) It("podman network disconnect when not running", func() { netName1 := "aliasTest" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName1}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName1) netName2 := "aliasTest" + stringid.GenerateNonCryptoID() session2 := podmanTest.Podman([]string{"network", "create", netName2}) session2.WaitWithDefaultTimeout() - Expect(session2.ExitCode()).To(BeZero()) + Expect(session2).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName2) ctr := podmanTest.Podman([]string{"create", "--name", "test", "--network", netName1 + "," + netName2, ALPINE, "top"}) ctr.WaitWithDefaultTimeout() - Expect(ctr.ExitCode()).To(BeZero()) + Expect(ctr).Should(Exit(0)) dis := podmanTest.Podman([]string{"network", "disconnect", netName1, "test"}) dis.WaitWithDefaultTimeout() - Expect(dis.ExitCode()).To(BeZero()) + Expect(dis).Should(Exit(0)) inspect := podmanTest.Podman([]string{"container", "inspect", "test", "--format", "{{len .NetworkSettings.Networks}}"}) inspect.WaitWithDefaultTimeout() - Expect(inspect.ExitCode()).To(BeZero()) + Expect(inspect).Should(Exit(0)) Expect(inspect.OutputToString()).To(Equal("1")) start := podmanTest.Podman([]string{"start", "test"}) start.WaitWithDefaultTimeout() - Expect(start.ExitCode()).To(BeZero()) + Expect(start).Should(Exit(0)) exec := podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth1"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).ToNot(BeZero()) + Expect(exec).Should(ExitWithError()) }) It("podman network disconnect and run with network ID", func() { @@ -328,33 +329,33 @@ var _ = Describe("Podman network connect and disconnect", func() { netName := "aliasTest" + stringid.GenerateNonCryptoID() session := podmanTest.Podman([]string{"network", "create", netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) defer podmanTest.removeCNINetwork(netName) session = podmanTest.Podman([]string{"network", "ls", "--format", "{{.ID}}", "--filter", "name=" + netName}) session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(BeZero()) + Expect(session).Should(Exit(0)) netID := session.OutputToString() ctr := podmanTest.Podman([]string{"run", "-dt", "--name", "test", "--network", netID, ALPINE, "top"}) ctr.WaitWithDefaultTimeout() - Expect(ctr.ExitCode()).To(BeZero()) + Expect(ctr).Should(Exit(0)) exec := podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).To(BeZero()) + Expect(exec).Should(Exit(0)) dis := podmanTest.Podman([]string{"network", "disconnect", netID, "test"}) dis.WaitWithDefaultTimeout() - Expect(dis.ExitCode()).To(BeZero()) + Expect(dis).Should(Exit(0)) inspect := podmanTest.Podman([]string{"container", "inspect", "test", "--format", "{{len .NetworkSettings.Networks}}"}) inspect.WaitWithDefaultTimeout() - Expect(inspect.ExitCode()).To(BeZero()) + Expect(inspect).Should(Exit(0)) Expect(inspect.OutputToString()).To(Equal("0")) exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"}) exec.WaitWithDefaultTimeout() - Expect(exec.ExitCode()).ToNot(BeZero()) + Expect(exec).Should(ExitWithError()) }) }) |