aboutsummaryrefslogtreecommitdiff
path: root/test/e2e/network_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/e2e/network_test.go')
-rw-r--r--test/e2e/network_test.go217
1 files changed, 67 insertions, 150 deletions
diff --git a/test/e2e/network_test.go b/test/e2e/network_test.go
index 139a90ac7..ad6af61c7 100644
--- a/test/e2e/network_test.go
+++ b/test/e2e/network_test.go
@@ -66,6 +66,65 @@ var _ = Describe("Podman network", func() {
Expect(session.LineInOutputContains(name)).To(BeTrue())
})
+ It("podman network list --filter plugin and name", func() {
+ name, path := generateNetworkConfig(podmanTest)
+ defer removeConf(path)
+
+ session := podmanTest.Podman([]string{"network", "ls", "--filter", "plugin=bridge", "--filter", "name=" + name})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ Expect(session.OutputToString()).To(ContainSubstring(name))
+ })
+
+ It("podman network list --filter two names", func() {
+ name1, path1 := generateNetworkConfig(podmanTest)
+ defer removeConf(path1)
+
+ name2, path2 := generateNetworkConfig(podmanTest)
+ defer removeConf(path2)
+
+ session := podmanTest.Podman([]string{"network", "ls", "--filter", "name=" + name1, "--filter", "name=" + name2})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ Expect(session.OutputToString()).To(ContainSubstring(name1))
+ Expect(session.OutputToString()).To(ContainSubstring(name2))
+ })
+
+ It("podman network list --filter labels", func() {
+ net1 := "labelnet" + stringid.GenerateNonCryptoID()
+ label1 := "testlabel1=abc"
+ label2 := "abcdef"
+ session := podmanTest.Podman([]string{"network", "create", "--label", label1, net1})
+ session.WaitWithDefaultTimeout()
+ defer podmanTest.removeCNINetwork(net1)
+ Expect(session.ExitCode()).To(BeZero())
+
+ net2 := "labelnet" + stringid.GenerateNonCryptoID()
+ session = podmanTest.Podman([]string{"network", "create", "--label", label1, "--label", label2, net2})
+ session.WaitWithDefaultTimeout()
+ defer podmanTest.removeCNINetwork(net2)
+ Expect(session.ExitCode()).To(BeZero())
+
+ session = podmanTest.Podman([]string{"network", "ls", "--filter", "label=" + label1})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ Expect(session.OutputToString()).To(ContainSubstring(net1))
+ Expect(session.OutputToString()).To(ContainSubstring(net2))
+
+ session = podmanTest.Podman([]string{"network", "ls", "--filter", "label=" + label1, "--filter", "label=" + label2})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ Expect(session.OutputToString()).ToNot(ContainSubstring(net1))
+ Expect(session.OutputToString()).To(ContainSubstring(net2))
+ })
+
+ It("podman network list --filter invalid value", func() {
+ session := podmanTest.Podman([]string{"network", "ls", "--filter", "namr=ab"})
+ session.WaitWithDefaultTimeout()
+ Expect(session).To(ExitWithError())
+ Expect(session.ErrorToString()).To(ContainSubstring(`invalid filter "namr"`))
+ })
+
It("podman network list --filter failure", func() {
name, path := generateNetworkConfig(podmanTest)
defer removeConf(path)
@@ -347,156 +406,14 @@ var _ = Describe("Podman network", func() {
Expect(c3.ExitCode()).To(BeZero())
})
- It("bad network name in disconnect should result in error", func() {
- SkipIfRootless("network connect and disconnect are only rootfull")
- dis := podmanTest.Podman([]string{"network", "disconnect", "foobar", "test"})
- dis.WaitWithDefaultTimeout()
- Expect(dis.ExitCode()).ToNot(BeZero())
-
- })
-
- It("bad container name in network disconnect should result in error", func() {
- SkipIfRootless("network connect and disconnect are only rootfull")
- netName := "aliasTest" + stringid.GenerateNonCryptoID()
- session := podmanTest.Podman([]string{"network", "create", netName})
- session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(BeZero())
- defer podmanTest.removeCNINetwork(netName)
-
- dis := podmanTest.Podman([]string{"network", "disconnect", netName, "foobar"})
- dis.WaitWithDefaultTimeout()
- Expect(dis.ExitCode()).ToNot(BeZero())
-
- })
-
- It("podman network disconnect with invalid container state should result in error", func() {
- SkipIfRootless("network connect and disconnect are only rootfull")
- netName := "aliasTest" + stringid.GenerateNonCryptoID()
- session := podmanTest.Podman([]string{"network", "create", netName})
- session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(BeZero())
- defer podmanTest.removeCNINetwork(netName)
-
- ctr := podmanTest.Podman([]string{"create", "--name", "test", "--network", netName, ALPINE, "top"})
- ctr.WaitWithDefaultTimeout()
- Expect(ctr.ExitCode()).To(BeZero())
-
- dis := podmanTest.Podman([]string{"network", "disconnect", netName, "test"})
- dis.WaitWithDefaultTimeout()
- Expect(dis.ExitCode()).ToNot(BeZero())
- })
-
- It("podman network disconnect", func() {
- SkipIfRootless("network connect and disconnect are only rootfull")
- netName := "aliasTest" + stringid.GenerateNonCryptoID()
- session := podmanTest.Podman([]string{"network", "create", netName})
- session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(BeZero())
- defer podmanTest.removeCNINetwork(netName)
-
- ctr := podmanTest.Podman([]string{"run", "-dt", "--name", "test", "--network", netName, ALPINE, "top"})
- ctr.WaitWithDefaultTimeout()
- Expect(ctr.ExitCode()).To(BeZero())
-
- exec := podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"})
- exec.WaitWithDefaultTimeout()
- Expect(exec.ExitCode()).To(BeZero())
-
- dis := podmanTest.Podman([]string{"network", "disconnect", netName, "test"})
- dis.WaitWithDefaultTimeout()
- Expect(dis.ExitCode()).To(BeZero())
-
- exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"})
- exec.WaitWithDefaultTimeout()
- Expect(exec.ExitCode()).ToNot(BeZero())
- })
-
- It("bad network name in connect should result in error", func() {
- SkipIfRootless("network connect and disconnect are only rootfull")
- dis := podmanTest.Podman([]string{"network", "connect", "foobar", "test"})
- dis.WaitWithDefaultTimeout()
- Expect(dis.ExitCode()).ToNot(BeZero())
-
- })
-
- It("bad container name in network connect should result in error", func() {
- SkipIfRootless("network connect and disconnect are only rootfull")
- netName := "aliasTest" + stringid.GenerateNonCryptoID()
- session := podmanTest.Podman([]string{"network", "create", netName})
- session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(BeZero())
- defer podmanTest.removeCNINetwork(netName)
-
- dis := podmanTest.Podman([]string{"network", "connect", netName, "foobar"})
- dis.WaitWithDefaultTimeout()
- Expect(dis.ExitCode()).ToNot(BeZero())
-
- })
-
- It("podman connect on a container that already is connected to the network should error", func() {
- SkipIfRootless("network connect and disconnect are only rootfull")
- netName := "aliasTest" + stringid.GenerateNonCryptoID()
- session := podmanTest.Podman([]string{"network", "create", netName})
- session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(BeZero())
- defer podmanTest.removeCNINetwork(netName)
-
- ctr := podmanTest.Podman([]string{"create", "--name", "test", "--network", netName, ALPINE, "top"})
- ctr.WaitWithDefaultTimeout()
- Expect(ctr.ExitCode()).To(BeZero())
-
- con := podmanTest.Podman([]string{"network", "connect", netName, "test"})
- con.WaitWithDefaultTimeout()
- Expect(con.ExitCode()).ToNot(BeZero())
- })
-
- It("podman network connect with invalid container state should result in error", func() {
- SkipIfRootless("network connect and disconnect are only rootfull")
- netName := "aliasTest" + stringid.GenerateNonCryptoID()
- session := podmanTest.Podman([]string{"network", "create", netName})
- session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(BeZero())
- defer podmanTest.removeCNINetwork(netName)
-
- ctr := podmanTest.Podman([]string{"create", "--name", "test", "--network", netName, ALPINE, "top"})
- ctr.WaitWithDefaultTimeout()
- Expect(ctr.ExitCode()).To(BeZero())
-
- dis := podmanTest.Podman([]string{"network", "connect", netName, "test"})
- dis.WaitWithDefaultTimeout()
- Expect(dis.ExitCode()).ToNot(BeZero())
- })
-
- It("podman network connect", func() {
- SkipIfRemote("This requires a pending PR to be merged before it will work")
- SkipIfRootless("network connect and disconnect are only rootfull")
- netName := "aliasTest" + stringid.GenerateNonCryptoID()
- session := podmanTest.Podman([]string{"network", "create", netName})
- session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(BeZero())
- defer podmanTest.removeCNINetwork(netName)
-
- ctr := podmanTest.Podman([]string{"run", "-dt", "--name", "test", "--network", netName, ALPINE, "top"})
- ctr.WaitWithDefaultTimeout()
- Expect(ctr.ExitCode()).To(BeZero())
-
- exec := podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth0"})
- exec.WaitWithDefaultTimeout()
- Expect(exec.ExitCode()).To(BeZero())
-
- // Create a second network
- newNetName := "aliasTest" + stringid.GenerateNonCryptoID()
- session = podmanTest.Podman([]string{"network", "create", newNetName})
- session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(BeZero())
- defer podmanTest.removeCNINetwork(newNetName)
-
- connect := podmanTest.Podman([]string{"network", "connect", newNetName, "test"})
- connect.WaitWithDefaultTimeout()
- Expect(connect.ExitCode()).To(BeZero())
+ It("podman network create/remove macvlan", func() {
+ net := "macvlan" + stringid.GenerateNonCryptoID()
+ nc := podmanTest.Podman([]string{"network", "create", "--macvlan", "lo", net})
+ nc.WaitWithDefaultTimeout()
+ Expect(nc.ExitCode()).To(Equal(0))
- exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth1"})
- exec.WaitWithDefaultTimeout()
- Expect(exec.ExitCode()).To(BeZero())
+ nc = podmanTest.Podman([]string{"network", "rm", net})
+ nc.WaitWithDefaultTimeout()
+ Expect(nc.ExitCode()).To(Equal(0))
})
})