summaryrefslogtreecommitdiff
path: root/pkg/machine/e2e/rm_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/machine/e2e/rm_test.go')
-rw-r--r--pkg/machine/e2e/rm_test.go67
1 files changed, 67 insertions, 0 deletions
diff --git a/pkg/machine/e2e/rm_test.go b/pkg/machine/e2e/rm_test.go
new file mode 100644
index 000000000..011da5dde
--- /dev/null
+++ b/pkg/machine/e2e/rm_test.go
@@ -0,0 +1,67 @@
+package e2e
+
+import (
+ . "github.com/onsi/ginkgo"
+ . "github.com/onsi/gomega"
+)
+
+var _ = Describe("podman machine rm", func() {
+ var (
+ mb *machineTestBuilder
+ testDir string
+ )
+
+ BeforeEach(func() {
+ testDir, mb = setup()
+ })
+ AfterEach(func() {
+ teardown(originalHomeDir, testDir, mb)
+ })
+
+ It("bad init name", func() {
+ i := rmMachine{}
+ reallyLongName := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ session, err := mb.setName(reallyLongName).setCmd(&i).run()
+ Expect(err).To(BeNil())
+ Expect(session.ExitCode()).To(Equal(125))
+ })
+
+ It("Remove machine", func() {
+ i := new(initMachine)
+ session, err := mb.setCmd(i.withImagePath(mb.imagePath)).run()
+ Expect(err).To(BeNil())
+ Expect(session.ExitCode()).To(Equal(0))
+ rm := rmMachine{}
+ _, err = mb.setCmd(rm.withForce()).run()
+ Expect(err).To(BeNil())
+
+ // Inspecting a non-existent machine should fail
+ // which means it is gone
+ _, ec, err := mb.toQemuInspectInfo()
+ Expect(err).To(BeNil())
+ Expect(ec).To(Equal(125))
+ })
+
+ It("Remove running machine", func() {
+ i := new(initMachine)
+ session, err := mb.setCmd(i.withImagePath(mb.imagePath).withNow()).run()
+ Expect(err).To(BeNil())
+ Expect(session.ExitCode()).To(Equal(0))
+ rm := new(rmMachine)
+
+ // Removing a running machine should fail
+ stop, err := mb.setCmd(rm).run()
+ Expect(err).To(BeNil())
+ Expect(stop.ExitCode()).To(Equal(125))
+
+ // Removing again with force
+ stopAgain, err := mb.setCmd(rm.withForce()).run()
+ Expect(err).To(BeNil())
+ Expect(stopAgain.ExitCode()).To(BeZero())
+
+ // Inspect to be dead sure
+ _, ec, err := mb.toQemuInspectInfo()
+ Expect(err).To(BeNil())
+ Expect(ec).To(Equal(125))
+ })
+})