diff options
author | Colin Bendell <colin@bendell.ca> | 2021-11-18 00:04:19 -0500 |
---|---|---|
committer | Colin Bendell <colin@bendell.ca> | 2021-11-20 21:05:49 -0500 |
commit | d173ebc067e912a1f0d272fab19fa0b3db4d4c05 (patch) | |
tree | 473c73e16b14752f3c205d4182400a51b902f128 | |
parent | 02be831ce745d33cd590f8a63e4d5f776e4da4b7 (diff) | |
download | podman-d173ebc067e912a1f0d272fab19fa0b3db4d4c05.tar.gz podman-d173ebc067e912a1f0d272fab19fa0b3db4d4c05.tar.bz2 podman-d173ebc067e912a1f0d272fab19fa0b3db4d4c05.zip |
Add EXPOSE e2e test
Signed-off-by: Colin Bendell <colin@bendell.ca>
-rw-r--r-- | test/e2e/run_networking_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/e2e/run_networking_test.go b/test/e2e/run_networking_test.go index c64cfd2d5..596159fe9 100644 --- a/test/e2e/run_networking_test.go +++ b/test/e2e/run_networking_test.go @@ -283,6 +283,42 @@ var _ = Describe("Podman run networking", func() { Expect(inspectOut[0].NetworkSettings.Ports["80/tcp"][0].HostIP).To(Equal("")) }) + It("podman run --publish-all with EXPOSE port ranges in Dockerfile", func() { + // Test port ranges, range with protocol and with an overlapping port + podmanTest.AddImageToRWStore(ALPINE) + dockerfile := fmt.Sprintf(`FROM %s +EXPOSE 2002 +EXPOSE 2001-2003 +EXPOSE 2004-2005/tcp`, ALPINE) + imageName := "testimg" + podmanTest.BuildImage(dockerfile, imageName, "false") + + // Verify that the buildah is just passing through the EXPOSE keys + inspect := podmanTest.Podman([]string{"inspect", imageName}) + inspect.WaitWithDefaultTimeout() + image := inspect.InspectImageJSON() + Expect(len(image)).To(Equal(1)) + Expect(len(image[0].Config.ExposedPorts)).To(Equal(3)) + Expect(image[0].Config.ExposedPorts).To(HaveKey("2002/tcp")) + Expect(image[0].Config.ExposedPorts).To(HaveKey("2001-2003/tcp")) + Expect(image[0].Config.ExposedPorts).To(HaveKey("2004-2005/tcp")) + + containerName := "testcontainer" + session := podmanTest.Podman([]string{"create", "--name", containerName, imageName, "true"}) + session.WaitWithDefaultTimeout() + inspectOut := podmanTest.InspectContainer(containerName) + Expect(len(inspectOut)).To(Equal(1)) + + // Inspect the network settings with available ports to be mapped to the host + // Don't need to verity HostConfig.PortBindings since we used --publish-all + Expect(len(inspectOut[0].NetworkSettings.Ports)).To(Equal(5)) + Expect(inspectOut[0].NetworkSettings.Ports).To(HaveKey("2001/tcp")) + Expect(inspectOut[0].NetworkSettings.Ports).To(HaveKey("2002/tcp")) + Expect(inspectOut[0].NetworkSettings.Ports).To(HaveKey("2003/tcp")) + Expect(inspectOut[0].NetworkSettings.Ports).To(HaveKey("2004/tcp")) + Expect(inspectOut[0].NetworkSettings.Ports).To(HaveKey("2005/tcp")) + }) + It("podman run -p 127.0.0.1::8980/udp", func() { name := "testctr" session := podmanTest.Podman([]string{"create", "-t", "-p", "127.0.0.1::8980/udp", "--name", name, ALPINE, "/bin/sh"}) |