github.com/containers/podman/v4@v4.9.4/pkg/bindings/test/create_test.go (about)

     1  package bindings_test
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/containers/podman/v4/pkg/bindings/containers"
     7  	"github.com/containers/podman/v4/pkg/specgen"
     8  	. "github.com/onsi/ginkgo/v2"
     9  	. "github.com/onsi/gomega"
    10  	"github.com/onsi/gomega/gexec"
    11  )
    12  
    13  var _ = Describe("Create containers ", func() {
    14  	var (
    15  		bt *bindingTest
    16  		s  *gexec.Session
    17  	)
    18  
    19  	BeforeEach(func() {
    20  		bt = newBindingTest()
    21  		bt.RestoreImagesFromCache()
    22  		s = bt.startAPIService()
    23  		time.Sleep(1 * time.Second)
    24  		err := bt.NewConnection()
    25  		Expect(err).ToNot(HaveOccurred())
    26  	})
    27  
    28  	AfterEach(func() {
    29  		s.Kill()
    30  		bt.cleanup()
    31  	})
    32  
    33  	It("create a container running top", func() {
    34  		s := specgen.NewSpecGenerator(alpine.name, false)
    35  		s.Command = []string{"top"}
    36  		s.Terminal = true
    37  		s.Name = "top"
    38  		ctr, err := containers.CreateWithSpec(bt.conn, s, nil)
    39  		Expect(err).ToNot(HaveOccurred())
    40  		data, err := containers.Inspect(bt.conn, ctr.ID, nil)
    41  		Expect(err).ToNot(HaveOccurred())
    42  		Expect(data.Name).To(Equal("top"))
    43  		err = containers.Start(bt.conn, ctr.ID, nil)
    44  		Expect(err).ToNot(HaveOccurred())
    45  		data, err = containers.Inspect(bt.conn, ctr.ID, nil)
    46  		Expect(err).ToNot(HaveOccurred())
    47  		Expect(data.State.Status).To(Equal("running"))
    48  	})
    49  
    50  })