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  })