github.com/LukasHeimann/cloudfoundrycli/v8@v8.4.4/integration/v7/global/unbind_running_security_group_command_test.go (about) 1 package global 2 3 import ( 4 "github.com/LukasHeimann/cloudfoundrycli/v8/integration/helpers" 5 "github.com/LukasHeimann/cloudfoundrycli/v8/resources" 6 . "github.com/onsi/ginkgo" 7 . "github.com/onsi/gomega" 8 . "github.com/onsi/gomega/gbytes" 9 . "github.com/onsi/gomega/gexec" 10 ) 11 12 var _ = Describe("unbind-running-security-group command", func() { 13 var ( 14 secGroupName string 15 ) 16 17 BeforeEach(func() { 18 secGroupName = helpers.NewSecurityGroupName() 19 helpers.LoginCF() 20 }) 21 22 Describe("help", func() { 23 When("--help flag is set", func() { 24 It("Displays command usage to output", func() { 25 session := helpers.CF("unbind-running-security-group", "--help") 26 Eventually(session).Should(Say("NAME:")) 27 Eventually(session).Should(Say(`\s+unbind-running-security-group - Unbind a security group from the set of security groups for running applications globally`)) 28 Eventually(session).Should(Say("USAGE:")) 29 Eventually(session).Should(Say(`\s+cf unbind-running-security-group SECURITY_GROUP`)) 30 Eventually(session).Should(Say(`TIP: If Dynamic ASG's are enabled, changes will automatically apply for running and staging applications. Otherwise, changes will require an app restart \(for running\) or restage \(for staging\) to apply to existing applications\.`)) 31 Eventually(session).Should(Say("SEE ALSO:")) 32 Eventually(session).Should(Say(`\s+apps, restart, running-security-groups, security-groups`)) 33 Eventually(session).Should(Exit(0)) 34 }) 35 }) 36 }) 37 38 When("the environment is not setup correctly", func() { 39 It("fails with the appropriate errors", func() { 40 helpers.CheckEnvironmentTargetedCorrectly(false, false, ReadOnlyOrg, "unbind-running-security-group", "security-group-name") 41 }) 42 }) 43 44 When("the input is invalid", func() { 45 When("the security group is not provided", func() { 46 It("fails with an incorrect usage message and displays help", func() { 47 session := helpers.CF("unbind-running-security-group") 48 Eventually(session.Err).Should(Say("Incorrect Usage: the required argument `SECURITY_GROUP` was not provided")) 49 Eventually(session).Should(Say("USAGE:")) 50 Eventually(session).Should(Exit(1)) 51 }) 52 }) 53 }) 54 55 When("the security group doesn't exist", func() { 56 It("succeeds with a security group not found message", func() { 57 session := helpers.CF("unbind-running-security-group", "some-security-group-that-doesn't-exist") 58 userName, _ := helpers.GetCredentials() 59 Eventually(session).Should(Say("Unbinding security group %s from defaults for running as %s...", "some-security-group-that-doesn't-exist", userName)) 60 Eventually(session.Err).Should(Say("Security group 'some-security-group-that-doesn't-exist' not found.")) 61 Eventually(session).Should(Say("OK")) 62 Eventually(session).Should(Exit(0)) 63 }) 64 }) 65 66 When("the security group exists", func() { 67 var ( 68 someSecurityGroup resources.SecurityGroup 69 ports string 70 description string 71 ) 72 73 BeforeEach(func() { 74 ports = "53" 75 description = "SG" 76 someSecurityGroup = helpers.NewSecurityGroup(secGroupName, "tcp", "0.0.0.0/0", &ports, &description) 77 helpers.CreateSecurityGroup(someSecurityGroup) 78 session := helpers.CF("bind-running-security-group", secGroupName) 79 Eventually(session).Should(Exit(0)) 80 }) 81 82 It("it unbinds the running security group globally", func() { 83 session := helpers.CF("unbind-running-security-group", secGroupName) 84 userName, _ := helpers.GetCredentials() 85 Eventually(session).Should(Say("Unbinding security group %s from defaults for running as %s...", secGroupName, userName)) 86 Eventually(session).Should(Say("OK")) 87 Eventually(session).Should(Say(`TIP: If Dynamic ASG's are enabled, changes will automatically apply for running and staging applications. Otherwise, changes will require an app restart \(for running\) or restage \(for staging\) to apply to existing applications\.`)) 88 Eventually(session).Should(Exit(0)) 89 90 session = helpers.CF("unbind-running-security-group", secGroupName) 91 Eventually(session).Should(Say("Unbinding security group %s from defaults for running as %s...", secGroupName, userName)) 92 Eventually(session).Should(Say("OK")) 93 Eventually(session).Should(Say(`TIP: If Dynamic ASG's are enabled, changes will automatically apply for running and staging applications. Otherwise, changes will require an app restart \(for running\) or restage \(for staging\) to apply to existing applications\.`)) 94 Eventually(session).Should(Exit(0)) 95 }) 96 }) 97 })