1package atc_test 2 3import ( 4 . "github.com/onsi/ginkgo" 5 . "github.com/onsi/gomega" 6 7 "github.com/concourse/concourse/atc" 8 "github.com/concourse/concourse/atc/db" 9) 10 11var _ = Describe("Build", func() { 12 Describe("OneOff", func() { 13 It("returns true if there is no JobName", func() { 14 build := atc.Build{ 15 JobName: "", 16 } 17 Expect(build.OneOff()).To(BeTrue()) 18 }) 19 20 It("returns false if there is a JobName", func() { 21 build := atc.Build{ 22 JobName: "something", 23 } 24 Expect(build.OneOff()).To(BeFalse()) 25 }) 26 }) 27 28 Describe("IsRunning", func() { 29 It("returns true if the build is pending", func() { 30 build := atc.Build{ 31 Status: string(atc.StatusPending), 32 } 33 Expect(build.Abortable()).To(BeTrue()) 34 }) 35 36 It("returns true if the build is started", func() { 37 build := atc.Build{ 38 Status: string(atc.StatusStarted), 39 } 40 Expect(build.Abortable()).To(BeTrue()) 41 }) 42 43 It("returns false if in any other state", func() { 44 states := []atc.BuildStatus{ 45 atc.StatusAborted, 46 atc.StatusErrored, 47 atc.StatusFailed, 48 atc.StatusSucceeded, 49 } 50 51 for _, state := range states { 52 build := atc.Build{ 53 Status: string(state), 54 } 55 Expect(build.Abortable()).To(BeFalse()) 56 } 57 }) 58 }) 59 60 Describe("Abortable", func() { 61 It("returns true if the build is pending", func() { 62 build := atc.Build{ 63 Status: string(atc.StatusPending), 64 } 65 Expect(build.Abortable()).To(BeTrue()) 66 }) 67 68 It("returns true if the build is started", func() { 69 build := atc.Build{ 70 Status: string(atc.StatusStarted), 71 } 72 Expect(build.Abortable()).To(BeTrue()) 73 }) 74 75 It("returns false if in any other state", func() { 76 states := []db.BuildStatus{ 77 db.BuildStatusAborted, 78 db.BuildStatusErrored, 79 db.BuildStatusFailed, 80 db.BuildStatusSucceeded, 81 } 82 83 for _, state := range states { 84 build := atc.Build{ 85 Status: string(state), 86 } 87 Expect(build.Abortable()).To(BeFalse()) 88 } 89 }) 90 }) 91}) 92