github.com/containers/podman/v5@v5.1.0-rc1/test/e2e/container_inspect_test.go (about) 1 package integration 2 3 import ( 4 "os" 5 "path/filepath" 6 7 "github.com/containers/podman/v5/libpod/define" 8 "github.com/containers/podman/v5/pkg/annotations" 9 . "github.com/containers/podman/v5/test/utils" 10 . "github.com/onsi/ginkgo/v2" 11 . "github.com/onsi/gomega" 12 ) 13 14 var _ = Describe("Podman container inspect", func() { 15 16 It("podman inspect a container for the container manager annotation", func() { 17 const testContainer = "container-inspect-test-1" 18 setup := podmanTest.RunTopContainer(testContainer) 19 setup.WaitWithDefaultTimeout() 20 Expect(setup).Should(ExitCleanly()) 21 22 data := podmanTest.InspectContainer(testContainer) 23 Expect(data[0].Config.Annotations[annotations.ContainerManager]). 24 To(Equal(annotations.ContainerManagerLibpod)) 25 }) 26 27 It("podman inspect shows exposed ports", func() { 28 name := "testcon" 29 session := podmanTest.Podman([]string{"run", "-d", "--stop-timeout", "0", "--expose", "8787/udp", "--name", name, ALPINE, "sleep", "100"}) 30 session.WaitWithDefaultTimeout() 31 Expect(session).Should(ExitCleanly()) 32 data := podmanTest.InspectContainer(name) 33 34 Expect(data).To(HaveLen(1)) 35 Expect(data[0].NetworkSettings.Ports). 36 To(Equal(map[string][]define.InspectHostPort{"8787/udp": nil})) 37 38 session = podmanTest.Podman([]string{"ps", "--format", "{{.Ports}}"}) 39 session.WaitWithDefaultTimeout() 40 Expect(session).Should(ExitCleanly()) 41 Expect(session.OutputToString()).To(Equal("8787/udp")) 42 }) 43 44 It("podman inspect shows exposed ports on image", func() { 45 name := "testcon" 46 session := podmanTest.Podman([]string{"run", "-d", "--expose", "8989", "--name", name, NGINX_IMAGE}) 47 session.WaitWithDefaultTimeout() 48 Expect(session).Should(ExitCleanly()) 49 50 data := podmanTest.InspectContainer(name) 51 Expect(data).To(HaveLen(1)) 52 Expect(data[0].NetworkSettings.Ports). 53 To(Equal(map[string][]define.InspectHostPort{"80/tcp": nil, "8989/tcp": nil})) 54 55 session = podmanTest.Podman([]string{"ps", "--format", "{{.Ports}}"}) 56 session.WaitWithDefaultTimeout() 57 Expect(session).Should(ExitCleanly()) 58 Expect(session.OutputToString()).To(Equal("80/tcp, 8989/tcp")) 59 }) 60 61 It("podman inspect shows volumes-from with mount options", func() { 62 ctr1 := "volfctr" 63 ctr2 := "voltctr" 64 vol1 := filepath.Join(podmanTest.TempDir, "vol-test1") 65 volsctr := ctr1 + ":z,ro" 66 67 err := os.MkdirAll(vol1, 0755) 68 Expect(err).ToNot(HaveOccurred()) 69 70 session := podmanTest.Podman([]string{"create", "--name", ctr1, "-v", vol1, CITEST_IMAGE}) 71 session.WaitWithDefaultTimeout() 72 Expect(session).Should(ExitCleanly()) 73 74 session = podmanTest.Podman([]string{"create", "--volumes-from", volsctr, "--name", ctr2, CITEST_IMAGE}) 75 session.WaitWithDefaultTimeout() 76 Expect(session).Should(ExitCleanly()) 77 78 data := podmanTest.InspectContainer(ctr2) 79 Expect(data).To(HaveLen(1)) 80 Expect(data[0].HostConfig.VolumesFrom).To(Equal([]string{volsctr})) 81 Expect(data[0].Config.Annotations[define.VolumesFromAnnotation]).To(Equal(volsctr)) 82 }) 83 })