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  })