}) AfterEach(func() { ginkgomon.Kill(process) }) It("should succeed when there are no mounts", func() { err := purger.PurgeMounts(logger) Expect(err).NotTo(HaveOccurred()) }) Context("when there is a mount", func() { BeforeEach(func() { fakeDriver.ListReturns(voldriver.ListResponse{Volumes: []voldriver.VolumeInfo{ { Name: "a-volume", Mountpoint: "foo", }, }}) }) It("should unmount the volume", func() { err := purger.PurgeMounts(logger) Expect(err).NotTo(HaveOccurred()) Expect(fakeDriver.UnmountCallCount()).To(Equal(1)) }) Context("when the unmount fails", func() { BeforeEach(func() { fakeDriver.UnmountReturns(voldriver.ErrorResponse{Err: "badness"}) })