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  })