Context("when unmounting disk fails", func() { BeforeEach(func() { fakeAgentClient.SetUnmountDiskBehavior(errors.New("fake-unmount-error")) }) It("returns an error", func() { err := vm.UnmountDisk(disk) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-unmount-error")) }) }) }) Describe("Disks", func() { BeforeEach(func() { fakeAgentClient.SetListDiskBehavior([]string{"fake-disk-cid-1", "fake-disk-cid-2"}, nil) }) It("returns disks that are reported by the agent", func() { disks, err := vm.Disks() Expect(err).ToNot(HaveOccurred()) expectedFirstDisk := bidisk.NewDisk(biconfig.DiskRecord{CID: "fake-disk-cid-1"}, nil, nil) expectedSecondDisk := bidisk.NewDisk(biconfig.DiskRecord{CID: "fake-disk-cid-2"}, nil, nil) Expect(disks).To(Equal([]bidisk.Disk{expectedFirstDisk, expectedSecondDisk})) }) Context("when listing disks fails", func() { BeforeEach(func() { fakeAgentClient.SetListDiskBehavior([]string{}, errors.New("fake-list-disk-error")) })