summaryrefslogtreecommitdiff
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.go246
1 files changed, 93 insertions, 153 deletions
diff --git a/test/e2e/network_test.go b/test/e2e/network_test.go
index adcf74f7e..ffc914bc2 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)
@@ -76,6 +135,40 @@ var _ = Describe("Podman network", func() {
Expect(session.LineInOutputContains(name)).To(BeFalse())
})
+ It("podman network ID test", func() {
+ net := "networkIDTest"
+ // the network id should be the sha256 hash of the network name
+ netID := "6073aefe03cdf8f29be5b23ea9795c431868a3a22066a6290b187691614fee84"
+ session := podmanTest.Podman([]string{"network", "create", net})
+ session.WaitWithDefaultTimeout()
+ defer podmanTest.removeCNINetwork(net)
+ Expect(session.ExitCode()).To(BeZero())
+
+ session = podmanTest.Podman([]string{"network", "ls", "--format", "{{.Name}} {{.ID}}", "--filter", "id=" + netID})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(BeZero())
+ Expect(session.OutputToString()).To(ContainSubstring(net + " " + netID[:12]))
+
+ session = podmanTest.Podman([]string{"network", "ls", "--format", "{{.Name}} {{.ID}}", "--filter", "id=" + netID[10:50], "--no-trunc"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(BeZero())
+ Expect(session.OutputToString()).To(ContainSubstring(net + " " + netID))
+
+ session = podmanTest.Podman([]string{"network", "inspect", netID[:40]})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(BeZero())
+ Expect(session.OutputToString()).To(ContainSubstring(net))
+
+ session = podmanTest.Podman([]string{"network", "inspect", netID[1:]})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).ToNot(BeZero())
+ Expect(session.ErrorToString()).To(ContainSubstring("no such network"))
+
+ session = podmanTest.Podman([]string{"network", "rm", netID})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(BeZero())
+ })
+
rm_func := func(rm string) {
It(fmt.Sprintf("podman network %s no args", rm), func() {
session := podmanTest.Podman([]string{"network", rm})
@@ -347,159 +440,6 @@ 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())
-
- exec = podmanTest.Podman([]string{"exec", "-it", "test", "ip", "addr", "show", "eth1"})
- exec.WaitWithDefaultTimeout()
- Expect(exec.ExitCode()).To(BeZero())
- })
-
It("podman network create/remove macvlan", func() {
net := "macvlan" + stringid.GenerateNonCryptoID()
nc := podmanTest.Podman([]string{"network", "create", "--macvlan", "lo", net})