github.com/benchkram/bob@v0.0.0-20240314204020-b7a57f2f9be9/test/e2e/project/project_test.go (about) 1 package projectest 2 3 import ( 4 "os" 5 6 . "github.com/onsi/ginkgo" 7 . "github.com/onsi/gomega" 8 ) 9 10 var _ = Describe("Testing project name for tats", func() { 11 Context("when project name is not set", func() { 12 It("all tasks should contain working dir", func() { 13 useBobFile("without_project_name") 14 defer releaseBobfile("without_project_name") 15 16 b, err := Bob() 17 Expect(err).NotTo(HaveOccurred()) 18 19 ag, err := b.Aggregate() 20 Expect(err).NotTo(HaveOccurred()) 21 for _, v := range ag.BTasks { 22 Expect(v.Project()).To(Equal(dir)) 23 } 24 25 ags, err := b.AggregateSparse() 26 Expect(err).NotTo(HaveOccurred()) 27 for _, v := range ags.BTasks { 28 Expect(v.Project()).To(Equal(dir)) 29 } 30 }) 31 }) 32 33 Context("when project name is set", func() { 34 It("all tasks should have project the name set", func() { 35 useBobFile("with_project_name") 36 defer releaseBobfile("with_project_name") 37 38 b, err := Bob() 39 Expect(err).NotTo(HaveOccurred()) 40 41 ag, err := b.Aggregate() 42 Expect(err).NotTo(HaveOccurred()) 43 for _, v := range ag.BTasks { 44 Expect(v.Project()).To(Equal("projectX")) 45 } 46 47 ags, err := b.AggregateSparse() 48 Expect(err).NotTo(HaveOccurred()) 49 for _, v := range ags.BTasks { 50 Expect(v.Project()).To(Equal("projectX")) 51 } 52 }) 53 }) 54 55 Context("when project name is set and there is a second level bob file", func() { 56 It("all tasks should have project the name set", func() { 57 Expect(os.Rename("with_second_level.yaml", "bob.yaml")).NotTo(HaveOccurred()) 58 Expect(os.Rename("with_second_level_second_level.yaml", dir+"/second_level/bob.yaml")).NotTo(HaveOccurred()) 59 60 b, err := Bob() 61 Expect(err).NotTo(HaveOccurred()) 62 63 ag, err := b.Aggregate() 64 Expect(err).NotTo(HaveOccurred()) 65 Expect(len(ag.BTasks)).To(Equal(2)) 66 67 for _, v := range ag.BTasks { 68 Expect(v.Project()).To(Equal("projectWithSecondLevel")) 69 } 70 71 ags, err := b.AggregateSparse() 72 Expect(err).NotTo(HaveOccurred()) 73 Expect(len(ags.BTasks)).To(Equal(2)) 74 75 for _, v := range ags.BTasks { 76 Expect(v.Project()).To(Equal("projectWithSecondLevel")) 77 } 78 }) 79 }) 80 })