github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/requirements/buildpack_test.go (about) 1 package requirements_test 2 3 import ( 4 testapi "github.com/cloudfoundry/cli/cf/api/fakes" 5 "github.com/cloudfoundry/cli/cf/models" 6 . "github.com/cloudfoundry/cli/cf/requirements" 7 testassert "github.com/cloudfoundry/cli/testhelpers/assert" 8 testterm "github.com/cloudfoundry/cli/testhelpers/terminal" 9 . "github.com/onsi/ginkgo" 10 . "github.com/onsi/gomega" 11 ) 12 13 var _ = Describe("BuildpackRequirement", func() { 14 var ( 15 ui *testterm.FakeUI 16 ) 17 18 BeforeEach(func() { 19 ui = new(testterm.FakeUI) 20 }) 21 22 It("succeeds when a buildpack with the given name exists", func() { 23 buildpack := models.Buildpack{Name: "my-buildpack"} 24 buildpackRepo := &testapi.FakeBuildpackRepository{FindByNameBuildpack: buildpack} 25 26 buildpackReq := NewBuildpackRequirement("my-buildpack", ui, buildpackRepo) 27 28 Expect(buildpackReq.Execute()).To(BeTrue()) 29 Expect(buildpackRepo.FindByNameName).To(Equal("my-buildpack")) 30 Expect(buildpackReq.GetBuildpack()).To(Equal(buildpack)) 31 }) 32 33 It("fails when the buildpack cannot be found", func() { 34 buildpackRepo := &testapi.FakeBuildpackRepository{FindByNameNotFound: true} 35 36 testassert.AssertPanic(testterm.QuietPanic, func() { 37 NewBuildpackRequirement("foo", ui, buildpackRepo).Execute() 38 }) 39 }) 40 })