mirror of https://github.com/containers/podman.git
				
				
				
			Update machine rm tests
Remove with --save-ignition, --save-image, --save-keys Removing a running machine should result in error Signed-off-by: Ashley Cui <acui@redhat.com>
This commit is contained in:
		
							parent
							
								
									53b2b0222d
								
							
						
					
					
						commit
						c3dbfa9a1e
					
				|  | @ -40,17 +40,17 @@ func (i *rmMachine) withForce() *rmMachine { | |||
| 	return i | ||||
| } | ||||
| 
 | ||||
| func (i *rmMachine) withSaveIgnition() *rmMachine { //nolint:unused
 | ||||
| func (i *rmMachine) withSaveIgnition() *rmMachine { | ||||
| 	i.saveIgnition = true | ||||
| 	return i | ||||
| } | ||||
| 
 | ||||
| func (i *rmMachine) withSaveImage() *rmMachine { //nolint:unused
 | ||||
| func (i *rmMachine) withSaveImage() *rmMachine { | ||||
| 	i.saveImage = true | ||||
| 	return i | ||||
| } | ||||
| 
 | ||||
| func (i *rmMachine) withSaveKeys() *rmMachine { //nolint:unused
 | ||||
| func (i *rmMachine) withSaveKeys() *rmMachine { | ||||
| 	i.saveKeys = true | ||||
| 	return i | ||||
| } | ||||
|  |  | |||
|  | @ -1,6 +1,9 @@ | |||
| package e2e_test | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 
 | ||||
| 	. "github.com/onsi/ginkgo/v2" | ||||
| 	. "github.com/onsi/gomega" | ||||
| 	. "github.com/onsi/gomega/gexec" | ||||
|  | @ -33,8 +36,9 @@ var _ = Describe("podman machine rm", func() { | |||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		Expect(session).To(Exit(0)) | ||||
| 		rm := rmMachine{} | ||||
| 		_, err = mb.setCmd(rm.withForce()).run() | ||||
| 		removeSession, err := mb.setCmd(rm.withForce()).run() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		Expect(removeSession).To(Exit(0)) | ||||
| 
 | ||||
| 		// Inspecting a non-existent machine should fail
 | ||||
| 		// which means it is gone
 | ||||
|  | @ -44,8 +48,9 @@ var _ = Describe("podman machine rm", func() { | |||
| 	}) | ||||
| 
 | ||||
| 	It("Remove running machine", func() { | ||||
| 		name := randomString() | ||||
| 		i := new(initMachine) | ||||
| 		session, err := mb.setCmd(i.withImagePath(mb.imagePath).withNow()).run() | ||||
| 		session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow()).run() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		Expect(session).To(Exit(0)) | ||||
| 		rm := new(rmMachine) | ||||
|  | @ -54,6 +59,7 @@ var _ = Describe("podman machine rm", func() { | |||
| 		stop, err := mb.setCmd(rm).run() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		Expect(stop).To(Exit(125)) | ||||
| 		Expect(stop.errorToString()).To(ContainSubstring(fmt.Sprintf("vm \"%s\" cannot be destroyed", name))) | ||||
| 
 | ||||
| 		// Removing again with force
 | ||||
| 		stopAgain, err := mb.setCmd(rm.withForce()).run() | ||||
|  | @ -65,4 +71,50 @@ var _ = Describe("podman machine rm", func() { | |||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		Expect(ec).To(Equal(125)) | ||||
| 	}) | ||||
| 
 | ||||
| 	It("machine rm --save-keys, --save-ignition, --save-image", func() { | ||||
| 
 | ||||
| 		i := new(initMachine) | ||||
| 		session, err := mb.setCmd(i.withImagePath(mb.imagePath)).run() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		Expect(session).To(Exit(0)) | ||||
| 
 | ||||
| 		inspect := new(inspectMachine) | ||||
| 		inspect = inspect.withFormat("{{.SSHConfig.IdentityPath}}") | ||||
| 		inspectSession, err := mb.setCmd(inspect).run() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		key := inspectSession.outputToString() | ||||
| 		pubkey := key + ".pub" | ||||
| 
 | ||||
| 		inspect = inspect.withFormat("{{.Image.IgnitionFile.Path}}") | ||||
| 		inspectSession, err = mb.setCmd(inspect).run() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		ign := inspectSession.outputToString() | ||||
| 
 | ||||
| 		inspect = inspect.withFormat("{{.Image.ImagePath.Path}}") | ||||
| 		inspectSession, err = mb.setCmd(inspect).run() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		img := inspectSession.outputToString() | ||||
| 
 | ||||
| 		rm := rmMachine{} | ||||
| 		removeSession, err := mb.setCmd(rm.withForce().withSaveIgnition().withSaveImage().withSaveKeys()).run() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		Expect(removeSession).To(Exit(0)) | ||||
| 
 | ||||
| 		// Inspecting a non-existent machine should fail
 | ||||
| 		// which means it is gone
 | ||||
| 		_, ec, err := mb.toQemuInspectInfo() | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		Expect(ec).To(Equal(125)) | ||||
| 
 | ||||
| 		_, err = os.Stat(key) | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		_, err = os.Stat(pubkey) | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		_, err = os.Stat(ign) | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 		_, err = os.Stat(img) | ||||
| 		Expect(err).ToNot(HaveOccurred()) | ||||
| 
 | ||||
| 	}) | ||||
| }) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue