本文整理汇总了Golang中github.com/concourse/atc/worker/fakes.FakeWorker.VolumeManagerReturns方法的典型用法代码示例。如果您正苦于以下问题:Golang FakeWorker.VolumeManagerReturns方法的具体用法?Golang FakeWorker.VolumeManagerReturns怎么用?Golang FakeWorker.VolumeManagerReturns使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/concourse/atc/worker/fakes.FakeWorker
的用法示例。
在下文中一共展示了FakeWorker.VolumeManagerReturns方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
Context("when a worker is found", func() {
var satisfyingWorker *wfakes.FakeWorker
BeforeEach(func() {
satisfyingWorker = new(wfakes.FakeWorker)
workerClient.SatisfyingReturns(satisfyingWorker, nil)
satisfyingWorker.CreateContainerReturns(fakeContainer, nil)
})
Context("when the worker supports volume management", func() {
var fakeBaggageclaimClient *bfakes.FakeClient
BeforeEach(func() {
fakeBaggageclaimClient = new(bfakes.FakeClient)
satisfyingWorker.VolumeManagerReturns(fakeBaggageclaimClient, true)
})
Context("when the cache is already present", func() {
var foundVolume *bfakes.FakeVolume
BeforeEach(func() {
foundVolume = new(bfakes.FakeVolume)
foundVolume.HandleReturns("found-volume-handle")
cacheIdentifier.FindOnReturns(foundVolume, true, nil)
cacheIdentifier.ResourceVersionReturns(atc.Version{"some": "theversion"})
cacheIdentifier.ResourceHashReturns("hash")
satisfyingWorker.NameReturns("myworker")
foundVolume.ExpirationReturns(time.Hour, time.Now(), nil)
})
示例2:
expectedOneOffTTL = 5 * time.Hour
baggageCollector lostandfound.BaggageCollector
savedPipeline db.SavedPipeline
fakePipelineDB *dbfakes.FakePipelineDB
)
BeforeEach(func() {
fakeWorkerClient = new(wfakes.FakeClient)
workerA = new(wfakes.FakeWorker)
workerB = new(wfakes.FakeWorker)
workerBBaggageClaimClient = new(bcfakes.FakeClient)
workerB.VolumeManagerReturns(workerBBaggageClaimClient, true)
dockerVolume = new(bcfakes.FakeVolume)
workerBBaggageClaimClient.LookupVolumeReturns(dockerVolume, true, nil)
workerC = new(wfakes.FakeWorker)
workerCBaggageClaimClient = new(bcfakes.FakeClient)
workerC.VolumeManagerReturns(workerCBaggageClaimClient, true)
crossedWiresVolume = new(bcfakes.FakeVolume)
workerCBaggageClaimClient.LookupVolumeReturns(crossedWiresVolume, true, nil)
workerMap := map[string]*wfakes.FakeWorker{
"workerA": workerA,
"workerB": workerB,
"workerC": workerC,
}
示例3:
type baggageCollectionExample struct {
pipelineData map[string][]resourceConfigAndVersions
volumeData []db.Volume
expectedTTLs map[string]time.Duration
}
DescribeTable("baggage collection",
func(examples ...baggageCollectionExample) {
var err error
for _, example := range examples {
fakeWorkerClient = new(wfakes.FakeClient)
fakeWorker = new(wfakes.FakeWorker)
fakeBaggageClaimClient = new(bcfakes.FakeClient)
fakeWorkerClient.GetWorkerReturns(fakeWorker, nil)
fakeWorker.VolumeManagerReturns(fakeBaggageClaimClient, true)
baggageCollectorLogger := lagertest.NewTestLogger("test")
fakeBaggageCollectorDB = new(fakes.FakeBaggageCollectorDB)
fakePipelineDBFactory = new(dbfakes.FakePipelineDBFactory)
baggageCollector = lostandfound.NewBaggageCollector(
baggageCollectorLogger,
fakeWorkerClient,
fakeBaggageCollectorDB,
fakePipelineDBFactory,
expectedOldResourceGracePeriod,
expectedOneOffTTL,
)
var savedPipelines []db.SavedPipeline
示例4:
expectedOneOffTTL = 5 * time.Hour
baggageCollector lostandfound.BaggageCollector
savedPipeline db.SavedPipeline
fakePipelineDB *dbfakes.FakePipelineDB
)
BeforeEach(func() {
fakeWorkerClient = new(wfakes.FakeClient)
worker1 = new(wfakes.FakeWorker)
worker2 = new(wfakes.FakeWorker)
baggageClaimClient2 = new(bcfakes.FakeClient)
worker2.VolumeManagerReturns(baggageClaimClient2, true)
volume2 = new(bcfakes.FakeVolume)
baggageClaimClient2.LookupVolumeReturns(volume2, true, nil)
workerMap := map[string]*wfakes.FakeWorker{
"worker1": worker1,
"worker2": worker2,
}
fakeWorkerClient.GetWorkerStub = func(name string) (worker.Worker, error) {
return workerMap[name], nil
}
baggageCollectorLogger := lagertest.NewTestLogger("test")
fakeBaggageCollectorDB = new(fakes.FakeBaggageCollectorDB)
fakePipelineDBFactory = new(dbfakes.FakePipelineDBFactory)
示例5:
fakeWorkerClient.GetWorkerReturns(nil, errors.New("no-worker-found"))
})
It("removes the volume from the database", func() {
err := baggageCollector.Collect()
Expect(err).NotTo(HaveOccurred())
Expect(fakeBaggageCollectorDB.ReapVolumeCallCount()).To(Equal(1))
Expect(fakeBaggageCollectorDB.ReapVolumeArgsForCall(0)).To(Equal(returnedSavedVolume.Handle))
})
})
Context("baggage claim is no longer found on the worker", func() {
BeforeEach(func() {
fakeWorkerClient.GetWorkerReturns(fakeWorker, nil)
fakeWorker.VolumeManagerReturns(nil, false)
})
It("removes the volume from the database", func() {
err := baggageCollector.Collect()
Expect(err).NotTo(HaveOccurred())
Expect(fakeBaggageCollectorDB.ReapVolumeCallCount()).To(Equal(1))
Expect(fakeBaggageCollectorDB.ReapVolumeArgsForCall(0)).To(Equal(returnedSavedVolume.Handle))
})
})
Context("the volume is no longer found on the worker", func() {
BeforeEach(func() {
fakeWorkerClient.GetWorkerReturns(fakeWorker, nil)
fakeWorker.VolumeManagerReturns(nil, false)