github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/db/team_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("Team Factory", func() { 11 var ( 12 atcTeam atc.Team 13 ) 14 15 BeforeEach(func() { 16 atcTeam = atc.Team{ 17 Name: "some-team", 18 Auth: atc.TeamAuth{ 19 "owner": {"users": []string{"local:username"}}, 20 }, 21 } 22 }) 23 24 Describe("CreateTeam", func() { 25 var team db.Team 26 BeforeEach(func() { 27 var err error 28 team, err = teamFactory.CreateTeam(atcTeam) 29 Expect(err).ToNot(HaveOccurred()) 30 }) 31 32 It("creates the correct team", func() { 33 Expect(team.Name()).To(Equal(atcTeam.Name)) 34 Expect(team.Auth()).To(Equal(atcTeam.Auth)) 35 36 t, found, err := teamFactory.FindTeam(atcTeam.Name) 37 Expect(err).NotTo(HaveOccurred()) 38 Expect(found).To(BeTrue()) 39 Expect(t.ID()).To(Equal(team.ID())) 40 }) 41 }) 42 43 Describe("FindTeam", func() { 44 var ( 45 team db.Team 46 found bool 47 ) 48 49 JustBeforeEach(func() { 50 var err error 51 team, found, err = teamFactory.FindTeam("some-team") 52 Expect(err).ToNot(HaveOccurred()) 53 }) 54 55 Context("when the team exists", func() { 56 BeforeEach(func() { 57 var err error 58 _, err = teamFactory.CreateTeam(atcTeam) 59 Expect(err).ToNot(HaveOccurred()) 60 }) 61 62 It("finds the correct team", func() { 63 Expect(team.Name()).To(Equal(atcTeam.Name)) 64 Expect(team.Auth()).To(Equal(atcTeam.Auth)) 65 }) 66 }) 67 68 Context("when the team does not exist", func() { 69 It("returns not found", func() { 70 Expect(team).To(BeNil()) 71 Expect(found).To(BeFalse()) 72 }) 73 }) 74 }) 75 76 Describe("CreateDefaultTeamIfNotExists", func() { 77 It("creates the default team", func() { 78 t, found, err := teamFactory.FindTeam(atc.DefaultTeamName) 79 Expect(err).NotTo(HaveOccurred()) 80 if found { 81 Expect(t.Admin()).To(BeFalse()) 82 } 83 84 team, err := teamFactory.CreateDefaultTeamIfNotExists() 85 Expect(err).NotTo(HaveOccurred()) 86 Expect(team.Admin()).To(BeTrue()) 87 88 t, found, err = teamFactory.FindTeam(atc.DefaultTeamName) 89 Expect(err).NotTo(HaveOccurred()) 90 Expect(found).To(BeTrue()) 91 Expect(t.ID()).To(Equal(team.ID())) 92 }) 93 94 Context("when the default team already exists", func() { 95 It("does not duplicate the default team", func() { 96 team, err := teamFactory.CreateDefaultTeamIfNotExists() 97 Expect(err).NotTo(HaveOccurred()) 98 99 team2, err := teamFactory.CreateDefaultTeamIfNotExists() 100 Expect(err).NotTo(HaveOccurred()) 101 102 Expect(team.ID()).To(Equal(team2.ID())) 103 }) 104 }) 105 }) 106 107 Describe("GetTeams", func() { 108 var ( 109 teams []db.Team 110 ) 111 112 BeforeEach(func() { 113 err := defaultTeam.Delete() 114 Expect(err).ToNot(HaveOccurred()) 115 }) 116 117 JustBeforeEach(func() { 118 var err error 119 teams, err = teamFactory.GetTeams() 120 Expect(err).ToNot(HaveOccurred()) 121 }) 122 123 Context("when there is one team", func() { 124 BeforeEach(func() { 125 var err error 126 _, err = teamFactory.CreateTeam(atcTeam) 127 Expect(err).ToNot(HaveOccurred()) 128 }) 129 130 It("returns the team", func() { 131 Expect(teams).To(HaveLen(1)) 132 133 Expect(teams[0].Name()).To(Equal(atcTeam.Name)) 134 Expect(teams[0].Auth()).To(Equal(atcTeam.Auth)) 135 }) 136 }) 137 138 Context("when there is more than one team", func() { 139 BeforeEach(func() { 140 var err error 141 _, err = teamFactory.CreateTeam(atcTeam) 142 Expect(err).ToNot(HaveOccurred()) 143 _, err = teamFactory.CreateTeam(atc.Team{ 144 Name: "some-other-team", 145 }) 146 Expect(err).ToNot(HaveOccurred()) 147 }) 148 149 It("returns both teams", func() { 150 Expect(teams).To(HaveLen(2)) 151 152 Expect(teams[0].Name()).To(Equal("some-other-team")) 153 154 Expect(teams[1].Name()).To(Equal(atcTeam.Name)) 155 Expect(teams[1].Auth()).To(Equal(atcTeam.Auth)) 156 }) 157 }) 158 }) 159 })