github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/pkg/machine/e2e/rm_test.go (about)

     1  package e2e
     2  
     3  import (
     4  	. "github.com/onsi/ginkgo"
     5  	. "github.com/onsi/gomega"
     6  	. "github.com/onsi/gomega/gexec"
     7  )
     8  
     9  var _ = Describe("podman machine rm", func() {
    10  	var (
    11  		mb      *machineTestBuilder
    12  		testDir string
    13  	)
    14  
    15  	BeforeEach(func() {
    16  		testDir, mb = setup()
    17  	})
    18  	AfterEach(func() {
    19  		teardown(originalHomeDir, testDir, mb)
    20  	})
    21  
    22  	It("bad init name", func() {
    23  		i := rmMachine{}
    24  		reallyLongName := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    25  		session, err := mb.setName(reallyLongName).setCmd(&i).run()
    26  		Expect(err).To(BeNil())
    27  		Expect(session).To(Exit(125))
    28  	})
    29  
    30  	It("Remove machine", func() {
    31  		i := new(initMachine)
    32  		session, err := mb.setCmd(i.withImagePath(mb.imagePath)).run()
    33  		Expect(err).To(BeNil())
    34  		Expect(session).To(Exit(0))
    35  		rm := rmMachine{}
    36  		_, err = mb.setCmd(rm.withForce()).run()
    37  		Expect(err).To(BeNil())
    38  
    39  		// Inspecting a non-existent machine should fail
    40  		// which means it is gone
    41  		_, ec, err := mb.toQemuInspectInfo()
    42  		Expect(err).To(BeNil())
    43  		Expect(ec).To(Equal(125))
    44  	})
    45  
    46  	It("Remove running machine", func() {
    47  		i := new(initMachine)
    48  		session, err := mb.setCmd(i.withImagePath(mb.imagePath).withNow()).run()
    49  		Expect(err).To(BeNil())
    50  		Expect(session).To(Exit(0))
    51  		rm := new(rmMachine)
    52  
    53  		// Removing a running machine should fail
    54  		stop, err := mb.setCmd(rm).run()
    55  		Expect(err).To(BeNil())
    56  		Expect(stop).To(Exit(125))
    57  
    58  		// Removing again with force
    59  		stopAgain, err := mb.setCmd(rm.withForce()).run()
    60  		Expect(err).To(BeNil())
    61  		Expect(stopAgain).To(Exit(0))
    62  
    63  		// Inspect to be dead sure
    64  		_, ec, err := mb.toQemuInspectInfo()
    65  		Expect(err).To(BeNil())
    66  		Expect(ec).To(Equal(125))
    67  	})
    68  })