Describe("request validation", func() { Context("with a missing app bits download uri", func() { BeforeEach(func() { appBitsDownloadUri = "" }) It("returns an error", func() { _, _, _, err := traditional.BuildRecipe(stagingGuid, stagingRequest) Expect(err).To(Equal(backend.ErrMissingAppBitsDownloadUri)) }) }) Context("with missing lifecycle data", func() { JustBeforeEach(func() { stagingRequest.LifecycleData = nil }) It("returns an error", func() { _, _, _, err := traditional.BuildRecipe(stagingGuid, stagingRequest) Expect(err).To(Equal(backend.ErrMissingLifecycleData)) }) }) }) It("creates a cf-app-staging Task with staging instructions", func() { taskDef, guid, domain, err := traditional.BuildRecipe(stagingGuid, stagingRequest) Expect(err).NotTo(HaveOccurred()) Expect(domain).To(Equal("config-task-domain")) Expect(guid).To(Equal(stagingGuid))