github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/db/resource_factory_test.go (about) 1 package db_test 2 3 import ( 4 "github.com/pf-qiu/concourse/v6/atc" 5 "github.com/pf-qiu/concourse/v6/atc/db" 6 . "github.com/onsi/ginkgo" 7 . "github.com/onsi/gomega" 8 ) 9 10 var _ = Describe("Resource Factory", func() { 11 var resourceFactory db.ResourceFactory 12 13 BeforeEach(func() { 14 resourceFactory = db.NewResourceFactory(dbConn, lockFactory) 15 }) 16 17 Describe("Public And Private Resources", func() { 18 var publicPipeline db.Pipeline 19 20 BeforeEach(func() { 21 otherTeam, err := teamFactory.CreateTeam(atc.Team{Name: "other-team"}) 22 Expect(err).NotTo(HaveOccurred()) 23 24 publicPipeline, _, err = otherTeam.SavePipeline(atc.PipelineRef{Name: "public-pipeline"}, atc.Config{ 25 Resources: atc.ResourceConfigs{ 26 {Name: "public-pipeline-resource"}, 27 }, 28 }, db.ConfigVersion(0), false) 29 Expect(err).ToNot(HaveOccurred()) 30 Expect(publicPipeline.Expose()).To(Succeed()) 31 32 _, _, err = otherTeam.SavePipeline(atc.PipelineRef{Name: "private-pipeline"}, atc.Config{ 33 Resources: atc.ResourceConfigs{ 34 {Name: "private-pipeline-resource"}, 35 }, 36 }, db.ConfigVersion(0), false) 37 Expect(err).ToNot(HaveOccurred()) 38 }) 39 40 Context("VisibleResources", func() { 41 It("returns resources in the provided teams and resources in public pipelines", func() { 42 visibleResources, err := resourceFactory.VisibleResources([]string{"default-team"}) 43 Expect(err).ToNot(HaveOccurred()) 44 45 Expect(len(visibleResources)).To(Equal(2)) 46 Expect(visibleResources[0].Name()).To(Equal("some-resource")) 47 Expect(visibleResources[1].Name()).To(Equal("public-pipeline-resource")) 48 }) 49 50 It("returns team name and groups for each resource", func() { 51 visibleResources, err := resourceFactory.VisibleResources([]string{"default-team"}) 52 Expect(err).ToNot(HaveOccurred()) 53 54 Expect(visibleResources[0].TeamName()).To(Equal("default-team")) 55 Expect(visibleResources[1].TeamName()).To(Equal("other-team")) 56 }) 57 58 }) 59 60 Context("AllResources", func() { 61 It("returns all private and public resources from all teams", func() { 62 visibleResources, err := resourceFactory.AllResources() 63 Expect(err).ToNot(HaveOccurred()) 64 65 Expect(len(visibleResources)).To(Equal(3)) 66 Expect(visibleResources[0].Name()).To(Equal("some-resource")) 67 Expect(visibleResources[1].Name()).To(Equal("public-pipeline-resource")) 68 Expect(visibleResources[2].Name()).To(Equal("private-pipeline-resource")) 69 }) 70 71 It("returns team name and groups for each resource", func() { 72 visibleResources, err := resourceFactory.AllResources() 73 Expect(err).ToNot(HaveOccurred()) 74 75 Expect(visibleResources[0].TeamName()).To(Equal("default-team")) 76 Expect(visibleResources[1].TeamName()).To(Equal("other-team")) 77 }) 78 }) 79 }) 80 })