code.cloudfoundry.org/cli@v7.1.0+incompatible/actor/v7pushaction/application_test.go (about)

     1  package v7pushaction_test
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/actor/v2action"
     5  	. "code.cloudfoundry.org/cli/actor/v7pushaction"
     6  	"code.cloudfoundry.org/cli/types"
     7  
     8  	. "github.com/onsi/ginkgo"
     9  	. "github.com/onsi/ginkgo/extensions/table"
    10  	. "github.com/onsi/gomega"
    11  )
    12  
    13  var _ = Describe("Applications", func() {
    14  	Describe("Application", func() {
    15  		DescribeTable("CalculatedBuildpacks",
    16  			func(v2Buildpack string, v3Buildpacks []string, expected []string) {
    17  				var buildpack types.FilteredString
    18  				if len(v2Buildpack) > 0 {
    19  					buildpack = types.FilteredString{
    20  						Value: v2Buildpack,
    21  						IsSet: true,
    22  					}
    23  				}
    24  				Expect(Application{
    25  					Application: v2action.Application{
    26  						Buildpack: buildpack,
    27  					},
    28  					Buildpacks: v3Buildpacks,
    29  				}.CalculatedBuildpacks()).To(Equal(expected))
    30  			},
    31  
    32  			Entry("returns buildpacks when it contains values",
    33  				"some-buildpack", []string{"some-buildpack", "some-other-buildpack"},
    34  				[]string{"some-buildpack", "some-other-buildpack"}),
    35  
    36  			Entry("always returns buildpacks when it is set",
    37  				"some-buildpack", []string{},
    38  				[]string{}),
    39  
    40  			Entry("returns v2 buildpack when buildpacks is not set",
    41  				"some-buildpack", nil,
    42  				[]string{"some-buildpack"}),
    43  
    44  			Entry("returns empty when nothing is set", "", nil, nil),
    45  		)
    46  	})
    47  })