本文整理匯總了Golang中github.com/cloudfoundry/bosh-init/config.StemcellRepo.FindCurrent方法的典型用法代碼示例。如果您正苦於以下問題:Golang StemcellRepo.FindCurrent方法的具體用法?Golang StemcellRepo.FindCurrent怎麽用?Golang StemcellRepo.FindCurrent使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-init/config.StemcellRepo
的用法示例。
在下文中一共展示了StemcellRepo.FindCurrent方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
expectNormalFlow()
err := deployment.Delete(fakeStage)
Expect(err).ToNot(HaveOccurred())
_, found, err := vmRepo.FindCurrent()
Expect(found).To(BeFalse(), "should be no current VM")
_, found, err = diskRepo.FindCurrent()
Expect(found).To(BeFalse(), "should be no current disk")
diskRecords, err := diskRepo.All()
Expect(err).ToNot(HaveOccurred())
Expect(diskRecords).To(BeEmpty(), "expected no disk records")
_, found, err = stemcellRepo.FindCurrent()
Expect(found).To(BeFalse(), "should be no current stemcell")
stemcellRecords, err := stemcellRepo.All()
Expect(err).ToNot(HaveOccurred())
Expect(stemcellRecords).To(BeEmpty(), "expected no stemcell records")
})
//TODO: It'd be nice to test recovering after agent was responsive, before timeout (hard to do with gomock)
Context("when agent is unresponsive", func() {
BeforeEach(func() {
// reduce timout & delay to reduce test duration
pingTimeout := 1 * time.Second
pingDelay := 100 * time.Millisecond
deploymentFactory = NewFactory(pingTimeout, pingDelay)
})
示例2:
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()
Expect(err).ToNot(HaveOccurred())
Expect(found).To(BeTrue())
Expect(diskRecord).To(Equal(currentDiskRecord))
stemcellRecord, found, err := stemcellRepo.FindCurrent()
Expect(err).ToNot(HaveOccurred())
Expect(found).To(BeTrue())
Expect(stemcellRecord).To(Equal(currentStemcellRecord))
})
It("does not log any stages", func() {
err := deploymentManager.Cleanup(fakeStage)
Expect(err).ToNot(HaveOccurred())
Expect(fakeStage.PerformCalls).To(BeEmpty())
})
})
Context("orphan disk records exist", func() {
BeforeEach(func() {
示例3:
cloudStemcell = NewCloudStemcell(stemcellRecord, stemcellRepo, fakeCloud)
})
Describe("PromoteAsCurrent", func() {
Context("when stemcell is in the repo", func() {
BeforeEach(func() {
fakeUUIDGenerator.GeneratedUUID = "fake-stemcell-id"
_, err := stemcellRepo.Save("fake-stemcell-name", "fake-stemcell-version", "fake-stemcell-cid")
Expect(err).ToNot(HaveOccurred())
})
It("sets stemcell as current in the repo", func() {
err := cloudStemcell.PromoteAsCurrent()
Expect(err).ToNot(HaveOccurred())
currentStemcell, found, err := stemcellRepo.FindCurrent()
Expect(err).ToNot(HaveOccurred())
Expect(found).To(BeTrue())
Expect(currentStemcell).To(Equal(biconfig.StemcellRecord{
ID: "fake-stemcell-id",
CID: "fake-stemcell-cid",
Name: "fake-stemcell-name",
Version: "fake-stemcell-version",
}))
})
})
Context("when stemcell is not in the repo", func() {
It("returns an error", func() {
err := cloudStemcell.PromoteAsCurrent()
Expect(err).To(HaveOccurred())