本文整理匯總了Golang中github.com/cloudfoundry/bosh-init/config.DiskRepo.Save方法的典型用法代碼示例。如果您正苦於以下問題:Golang DiskRepo.Save方法的具體用法?Golang DiskRepo.Save怎麽用?Golang DiskRepo.Save使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-init/config.DiskRepo
的用法示例。
在下文中一共展示了DiskRepo.Save方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
BeforeEach(func() {
fakeFs.WriteFileError = errors.New("fake-write-error")
})
It("returns an error", func() {
_, err := manager.Create(diskPool, "fake-vm-cid")
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-write-error"))
})
})
})
Describe("FindCurrent", func() {
Context("when disk already exists in disk repo", func() {
BeforeEach(func() {
diskRecord, err := diskRepo.Save("fake-existing-disk-cid", 1024, biproperty.Map{})
Expect(err).ToNot(HaveOccurred())
err = diskRepo.UpdateCurrent(diskRecord.ID)
Expect(err).ToNot(HaveOccurred())
})
It("returns the existing disk", func() {
disks, err := manager.FindCurrent()
Expect(err).ToNot(HaveOccurred())
Expect(disks).To(HaveLen(1))
Expect(disks[0].CID()).To(Equal("fake-existing-disk-cid"))
})
})
Context("when disk does not exists in disk repo", func() {
示例2:
It("ignores VMNotFound errors", func() {
mockCloud.EXPECT().DeleteVM("fake-vm-cid").Return(bicloud.NewCPIError("delete_vm", bicloud.CmdError{
Type: bicloud.VMNotFoundError,
Message: "fake-vm-not-found-message",
}))
err := deployment.Delete(fakeStage)
Expect(err).ToNot(HaveOccurred())
})
})
})
Context("when a current disk exists", func() {
BeforeEach(func() {
deploymentStateService.Save(biconfig.DeploymentState{})
diskRecord, err := diskRepo.Save("fake-disk-cid", 100, nil)
Expect(err).ToNot(HaveOccurred())
diskRepo.UpdateCurrent(diskRecord.ID)
})
It("deletes the disk", func() {
mockCloud.EXPECT().DeleteDisk("fake-disk-cid")
err := deployment.Delete(fakeStage)
Expect(err).ToNot(HaveOccurred())
})
Context("when current disk has been deleted manually (outside of bosh)", func() {
It("deletes the disk (to ensure related resources are released by the CPI)", func() {
mockCloud.EXPECT().DeleteDisk("fake-disk-cid")
示例3:
mockBlobstore = mock_blobstore.NewMockBlobstore(mockCtrl)
deploymentManagerFactory := NewManagerFactory(vmManagerFactory, instanceManagerFactory, diskManagerFactory, stemcellManagerFactory, mockDeploymentFactory)
deploymentManager = deploymentManagerFactory.NewManager(mockCloud, mockAgentClient, mockBlobstore)
})
Context("no orphan disk or stemcell records exist", func() {
var (
currentDiskRecord biconfig.DiskRecord
currentStemcellRecord biconfig.StemcellRecord
)
BeforeEach(func() {
var err error
currentDiskRecord, err = diskRepo.Save("fake-disk-cid", 100, nil)
Expect(err).ToNot(HaveOccurred())
err = diskRepo.UpdateCurrent(currentDiskRecord.ID)
Expect(err).ToNot(HaveOccurred())
currentStemcellRecord, err = stemcellRepo.Save("fake-stemcell-name", "fake-stemcell-version", "fake-stemcell-cid")
Expect(err).ToNot(HaveOccurred())
err = stemcellRepo.UpdateCurrent(currentStemcellRecord.ID)
Expect(err).ToNot(HaveOccurred())
})
It("does not delete anything", func() {
err := deploymentManager.Cleanup(fakeStage)
Expect(err).ToNot(HaveOccurred())
diskRecord, found, err := diskRepo.FindCurrent()
示例4:
})
})
Describe("Delete", func() {
It("deletes disk from cloud", func() {
err := disk.Delete()
Expect(err).ToNot(HaveOccurred())
Expect(fakeCloud.DeleteDiskInputs).To(Equal([]fakebicloud.DeleteDiskInput{
{
DiskCID: "fake-disk-cid",
},
}))
})
It("deletes disk from repo", func() {
_, err := diskRepo.Save("fake-disk-cid", 1024, diskCloudProperties)
Expect(err).ToNot(HaveOccurred())
err = disk.Delete()
Expect(err).ToNot(HaveOccurred())
diskRecords, err := diskRepo.All()
Expect(diskRecords).To(BeEmpty())
})
Context("when deleted disk is the current disk", func() {
BeforeEach(func() {
diskRecord, err := diskRepo.Save("fake-disk-cid", 1024, diskCloudProperties)
Expect(err).ToNot(HaveOccurred())
err = diskRepo.UpdateCurrent(diskRecord.ID)
Expect(err).ToNot(HaveOccurred())