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