Expect(err).ToNot(HaveOccurred()) }) It("deletes unused disks", func() { err := manager.DeleteUnused(fakeStage) Expect(err).ToNot(HaveOccurred()) Expect(fakeCloud.DeleteDiskInputs).To(Equal([]fakebicloud.DeleteDiskInput{ {DiskCID: "fake-disk-cid-1"}, {DiskCID: "fake-disk-cid-3"}, })) Expect(fakeStage.PerformCalls).To(Equal([]*fakebiui.PerformCall{ {Name: "Deleting unused disk 'fake-disk-cid-1'"}, {Name: "Deleting unused disk 'fake-disk-cid-3'"}, })) currentRecord, found, err := diskRepo.FindCurrent() Expect(err).ToNot(HaveOccurred()) Expect(found).To(BeTrue()) Expect(currentRecord).To(Equal(secondDiskRecord)) records, err := diskRepo.All() Expect(err).ToNot(HaveOccurred()) Expect(records).To(Equal([]biconfig.DiskRecord{ secondDiskRecord, })) }) }) })
}) }) Context("orphan disk records exist", func() { BeforeEach(func() { _, err := diskRepo.Save("orphan-disk-cid", 100, nil) Expect(err).ToNot(HaveOccurred()) }) It("deletes the unused disks", func() { mockCloud.EXPECT().DeleteDisk("orphan-disk-cid") err := deploymentManager.Cleanup(fakeStage) Expect(err).ToNot(HaveOccurred()) diskRecords, err := diskRepo.All() Expect(err).ToNot(HaveOccurred()) Expect(diskRecords).To(BeEmpty(), "expected no disk records") }) It("logs delete stage", func() { mockCloud.EXPECT().DeleteDisk("orphan-disk-cid") err := deploymentManager.Cleanup(fakeStage) Expect(err).ToNot(HaveOccurred()) Expect(fakeStage.PerformCalls).To(ContainElement(&fakebiui.PerformCall{ Name: "Deleting unused disk 'orphan-disk-cid'", })) })