BeforeEach(func() { vmFinder = &fakevm.FakeFinder{} action = NewHasVM(vmFinder) }) Describe("Run", func() { It("tries to find VM with given VM CID", func() { _, err := action.Run(1234) Expect(err).ToNot(HaveOccurred()) Expect(vmFinder.FindID).To(Equal(1234)) }) Context("when VM is found with given CID", func() { It("returns true without error", func() { vmFinder.FindFound = true found, err := action.Run(1234) Expect(err).ToNot(HaveOccurred()) Expect(found).To(BeTrue()) }) }) Context("when VM is not found with given CID", func() { It("returns false without error", func() { found, err := action.Run(1234) Expect(err).ToNot(HaveOccurred()) Expect(found).To(BeFalse()) }) })
It("tries to find vm with given vm cid", func() { _, err := action.Run(1234) Expect(err).ToNot(HaveOccurred()) Expect(vmFinder.FindID).To(Equal(1234)) }) Context("when vm is found with given vm cid", func() { var ( vm *fakevm.FakeVM ) BeforeEach(func() { vm = fakevm.NewFakeVM(1234) vmFinder.FindVM = vm vmFinder.FindFound = true }) It("reboots vm", func() { _, err := action.Run(1234) Expect(err).ToNot(HaveOccurred()) Expect(vm.RebootCalled).To(BeTrue()) }) It("returns error if rebooting vm fails", func() { vm.RebootErr = errors.New("fake-reboot-err") _, err := action.Run(1234) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-reboot-err"))