github.com/cloudfoundry-attic/cli-with-i18n@v6.32.1-0.20171002233121-7401370d3b85+incompatible/integration/isolated/service_access_command_test.go (about)

     1  package isolated
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/integration/helpers"
     5  	. "github.com/onsi/ginkgo"
     6  	. "github.com/onsi/gomega"
     7  	. "github.com/onsi/gomega/gbytes"
     8  	. "github.com/onsi/gomega/gexec"
     9  )
    10  
    11  var _ = Describe("service-access command", func() {
    12  	Context("when the environment is setup correctly", func() {
    13  		var (
    14  			orgName   string
    15  			spaceName string
    16  
    17  			serviceBroker helpers.ServiceBroker
    18  		)
    19  
    20  		BeforeEach(func() {
    21  			orgName = helpers.NewOrgName()
    22  			spaceName = helpers.NewSpaceName()
    23  			setupCF(orgName, spaceName)
    24  
    25  			serviceBroker = helpers.NewServiceBroker(
    26  				helpers.NewServiceBrokerName(),
    27  				helpers.NewAssets().ServiceBroker,
    28  				defaultSharedDomain(),
    29  				helpers.PrefixedRandomName("service"),
    30  				helpers.PrefixedRandomName("plan"),
    31  			)
    32  
    33  			serviceBroker.Push()
    34  			serviceBroker.Configure()
    35  			serviceBroker.Create()
    36  		})
    37  
    38  		AfterEach(func() {
    39  			serviceBroker.Destroy()
    40  			helpers.QuickDeleteOrg(orgName)
    41  		})
    42  
    43  		It("sets visibility", func() {
    44  			// initial access is none
    45  			session := helpers.CF("service-access")
    46  			Eventually(session).Should(Say("%s\\s+%s\\s+none",
    47  				serviceBroker.Service.Name,
    48  				serviceBroker.SyncPlans[0].Name,
    49  			))
    50  			Eventually(session).Should(Exit(0))
    51  
    52  			// enable access for org and plan
    53  			session = helpers.CF("enable-service-access",
    54  				serviceBroker.Service.Name,
    55  				"-o", orgName,
    56  				"-p", serviceBroker.SyncPlans[0].Name)
    57  			Eventually(session).Should(Exit(0))
    58  
    59  			session = helpers.CF("service-access")
    60  			Eventually(session).Should(Say("%s\\s+%s\\s+limited\\s+%s",
    61  				serviceBroker.Service.Name,
    62  				serviceBroker.SyncPlans[0].Name,
    63  				orgName))
    64  			Eventually(session).Should(Exit(0))
    65  
    66  			// enable access for all
    67  			session = helpers.CF("enable-service-access", serviceBroker.Service.Name)
    68  			Eventually(session).Should(Exit(0))
    69  
    70  			session = helpers.CF("service-access", "-e", serviceBroker.Service.Name)
    71  			Eventually(session).Should(Say("%s\\s+%s\\s+all",
    72  				serviceBroker.Service.Name,
    73  				serviceBroker.SyncPlans[0].Name,
    74  			))
    75  			Eventually(session).Should(Exit(0))
    76  
    77  			// disable access
    78  			session = helpers.CF("disable-service-access",
    79  				serviceBroker.Service.Name,
    80  				"-p", serviceBroker.SyncPlans[0].Name,
    81  			)
    82  			Eventually(session).Should(Exit(0))
    83  
    84  			session = helpers.CF("service-access", "-b", serviceBroker.Name)
    85  			Eventually(session).Should(Say("%s\\s+%s\\s+none",
    86  				serviceBroker.Service.Name,
    87  				serviceBroker.SyncPlans[0].Name,
    88  			))
    89  			Eventually(session).Should(Exit(0))
    90  		})
    91  	})
    92  })