github.com/mook-as/cf-cli@v7.0.0-beta.28.0.20200120190804-b91c115fae48+incompatible/command/v6/delete_buildpack_command_test.go (about)

     1  package v6_test
     2  
     3  import (
     4  	. "github.com/onsi/ginkgo"
     5  	. "github.com/onsi/gomega"
     6  	. "github.com/onsi/gomega/gbytes"
     7  
     8  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccversion"
     9  	"code.cloudfoundry.org/cli/command/commandfakes"
    10  	"code.cloudfoundry.org/cli/command/translatableerror"
    11  	. "code.cloudfoundry.org/cli/command/v6"
    12  	"code.cloudfoundry.org/cli/command/v6/v6fakes"
    13  	"code.cloudfoundry.org/cli/util/ui"
    14  )
    15  
    16  var _ = Describe("DeleteBuildpackCommand", func() {
    17  	var (
    18  		cmd             DeleteBuildpackCommand
    19  		testUI          *ui.UI
    20  		fakeConfig      *commandfakes.FakeConfig
    21  		fakeSharedActor *commandfakes.FakeSharedActor
    22  		fakeActor       *v6fakes.FakeDeleteBuildpackActor
    23  
    24  		executeErr error
    25  	)
    26  
    27  	BeforeEach(func() {
    28  		testUI = ui.NewTestUI(NewBuffer(), NewBuffer(), NewBuffer())
    29  		fakeConfig = new(commandfakes.FakeConfig)
    30  		fakeSharedActor = new(commandfakes.FakeSharedActor)
    31  		fakeActor = new(v6fakes.FakeDeleteBuildpackActor)
    32  
    33  		cmd = DeleteBuildpackCommand{
    34  			UI:          testUI,
    35  			Config:      fakeConfig,
    36  			SharedActor: fakeSharedActor,
    37  			Actor:       fakeActor,
    38  		}
    39  
    40  		cmd.RequiredArgs.Buildpack = "bp-name"
    41  	})
    42  
    43  	JustBeforeEach(func() {
    44  		executeErr = cmd.Execute(nil)
    45  	})
    46  
    47  	When("a stack is specified", func() {
    48  		BeforeEach(func() {
    49  			cmd.Stack = "some-stack"
    50  		})
    51  
    52  		When("the api version is below minimum for stack association", func() {
    53  			BeforeEach(func() {
    54  				fakeActor.CloudControllerAPIVersionReturns(ccversion.MinSupportedV2ClientVersion)
    55  			})
    56  
    57  			It("returns a version error", func() {
    58  				Expect(executeErr).To(MatchError(translatableerror.MinimumCFAPIVersionNotMetError{
    59  					Command:        "Option '-s'",
    60  					CurrentVersion: ccversion.MinSupportedV2ClientVersion,
    61  					MinimumVersion: ccversion.MinVersionBuildpackStackAssociationV2,
    62  				}))
    63  			})
    64  		})
    65  
    66  		When("the api version is at or above minimum for stack association", func() {
    67  			BeforeEach(func() {
    68  				fakeActor.CloudControllerAPIVersionReturns(ccversion.MinVersionBuildpackStackAssociationV2)
    69  			})
    70  
    71  			It("returns the unrefactored command error", func() {
    72  				Expect(executeErr).To(MatchError(translatableerror.UnrefactoredCommandError{}))
    73  			})
    74  		})
    75  	})
    76  })