github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/db/worker_task_cache_factory_test.go (about) 1 package db_test 2 3 import ( 4 "github.com/pf-qiu/concourse/v6/atc/db" 5 6 . "github.com/onsi/ginkgo" 7 . "github.com/onsi/gomega" 8 ) 9 10 var _ = Describe("WorkerTaskCache", func() { 11 var workerTaskCache db.WorkerTaskCache 12 13 BeforeEach(func() { 14 taskCache, err := taskCacheFactory.FindOrCreate(1, "some-step", "some-path") 15 Expect(err).ToNot(HaveOccurred()) 16 17 workerTaskCache = db.WorkerTaskCache{ 18 WorkerName: defaultWorker.Name(), 19 TaskCache: taskCache, 20 } 21 }) 22 23 Describe("FindOrCreate", func() { 24 Context("when there is no existing worker task cache", func() { 25 It("creates worker task cache", func() { 26 usedWorkerTaskCache, err := workerTaskCacheFactory.FindOrCreate(workerTaskCache) 27 Expect(err).ToNot(HaveOccurred()) 28 29 Expect(usedWorkerTaskCache.ID).To(Equal(1)) 30 }) 31 }) 32 33 Context("when there is existing worker task caches", func() { 34 BeforeEach(func() { 35 var err error 36 _, err = workerTaskCacheFactory.FindOrCreate(workerTaskCache) 37 Expect(err).ToNot(HaveOccurred()) 38 }) 39 40 It("finds worker task cache", func() { 41 usedWorkerTaskCache, err := workerTaskCacheFactory.FindOrCreate(workerTaskCache) 42 Expect(err).ToNot(HaveOccurred()) 43 44 Expect(usedWorkerTaskCache.ID).To(Equal(1)) 45 }) 46 }) 47 }) 48 49 Describe("Find", func() { 50 var uwtc *db.UsedWorkerTaskCache 51 var found bool 52 var findErr error 53 54 JustBeforeEach(func() { 55 uwtc, found, findErr = workerTaskCacheFactory.Find(workerTaskCache) 56 }) 57 58 Context("when there are no existing worker task caches", func() { 59 It("returns false and no error", func() { 60 Expect(findErr).ToNot(HaveOccurred()) 61 Expect(found).To(BeFalse()) 62 Expect(uwtc).To(BeNil()) 63 }) 64 }) 65 66 Context("when there is existing worker task caches", func() { 67 var createdWorkerTaskCache *db.UsedWorkerTaskCache 68 69 BeforeEach(func() { 70 var err error 71 createdWorkerTaskCache, err = workerTaskCacheFactory.FindOrCreate(workerTaskCache) 72 Expect(err).ToNot(HaveOccurred()) 73 }) 74 75 It("finds worker task cache", func() { 76 Expect(findErr).ToNot(HaveOccurred()) 77 Expect(found).To(BeTrue()) 78 Expect(uwtc.ID).To(Equal(createdWorkerTaskCache.ID)) 79 }) 80 }) 81 }) 82 })