github.com/containers/podman/v4@v4.9.4/pkg/bindings/test/info_test.go (about) 1 package bindings_test 2 3 import ( 4 "runtime" 5 "time" 6 7 "github.com/containers/podman/v4/pkg/bindings/containers" 8 "github.com/containers/podman/v4/pkg/bindings/images" 9 "github.com/containers/podman/v4/pkg/bindings/system" 10 "github.com/containers/podman/v4/pkg/specgen" 11 . "github.com/onsi/ginkgo/v2" 12 . "github.com/onsi/gomega" 13 "github.com/onsi/gomega/gexec" 14 ) 15 16 var _ = Describe("Podman info", func() { 17 var ( 18 bt *bindingTest 19 s *gexec.Session 20 ) 21 22 BeforeEach(func() { 23 bt = newBindingTest() 24 bt.RestoreImagesFromCache() 25 s = bt.startAPIService() 26 time.Sleep(1 * time.Second) 27 err := bt.NewConnection() 28 Expect(err).ToNot(HaveOccurred()) 29 }) 30 31 AfterEach(func() { 32 s.Kill() 33 bt.cleanup() 34 }) 35 36 It("podman info", func() { 37 info, err := system.Info(bt.conn, nil) 38 Expect(err).ToNot(HaveOccurred()) 39 Expect(info.Host.Arch).To(Equal(runtime.GOARCH)) 40 Expect(info.Host.OS).To(Equal(runtime.GOOS)) 41 listOptions := new(images.ListOptions) 42 i, err := images.List(bt.conn, listOptions.WithAll(true)) 43 Expect(err).ToNot(HaveOccurred()) 44 Expect(info.Store.ImageStore.Number).To(Equal(len(i))) 45 }) 46 47 It("podman info container counts", func() { 48 s := specgen.NewSpecGenerator(alpine.name, false) 49 _, err := containers.CreateWithSpec(bt.conn, s, nil) 50 Expect(err).ToNot(HaveOccurred()) 51 52 idPause, err := bt.RunTopContainer(nil, nil) 53 Expect(err).ToNot(HaveOccurred()) 54 err = containers.Pause(bt.conn, idPause, nil) 55 Expect(err).ToNot(HaveOccurred()) 56 57 idStop, err := bt.RunTopContainer(nil, nil) 58 Expect(err).ToNot(HaveOccurred()) 59 err = containers.Stop(bt.conn, idStop, nil) 60 Expect(err).ToNot(HaveOccurred()) 61 62 _, err = bt.RunTopContainer(nil, nil) 63 Expect(err).ToNot(HaveOccurred()) 64 65 info, err := system.Info(bt.conn, nil) 66 Expect(err).ToNot(HaveOccurred()) 67 68 Expect(info.Store.ContainerStore.Number).To(BeNumerically("==", 4)) 69 Expect(info.Store.ContainerStore.Paused).To(Equal(1)) 70 Expect(info.Store.ContainerStore.Stopped).To(Equal(2)) 71 Expect(info.Store.ContainerStore.Running).To(Equal(1)) 72 }) 73 })