github.com/wanddynosios/cli/v8@v8.7.9-0.20240221182337-1a92e3a7017f/integration/v7/push/help_test.go (about) 1 package push 2 3 import ( 4 "regexp" 5 "strings" 6 7 "code.cloudfoundry.org/cli/integration/helpers" 8 . "github.com/onsi/ginkgo" 9 . "github.com/onsi/gomega" 10 . "github.com/onsi/gomega/gbytes" 11 . "github.com/onsi/gomega/gexec" 12 ) 13 14 var _ = Describe("help", func() { 15 When("--help flag is set", func() { 16 It("Displays command usage to output", func() { 17 session := helpers.CF(PushCommandName, "--help") 18 Eventually(session).Should(Say("NAME:")) 19 Eventually(session).Should(Say("%s - Push a new app or sync changes to an existing app", PushCommandName)) 20 Eventually(session).Should(Say("USAGE:")) 21 22 buildpackAppUsage := []string{ 23 "cf", 24 PushCommandName, 25 "APP_NAME", 26 "[-b BUILDPACK_NAME]", 27 "[-c COMMAND]", 28 "[-f MANIFEST_PATH | --no-manifest]", 29 "[--no-start]", 30 "[--no-wait]", 31 "[-i NUM_INSTANCES]", 32 "[-k DISK]", 33 "[-m MEMORY]", 34 "[-l LOG_RATE_LIMIT]", 35 "[-p PATH]", 36 "[-s STACK]", 37 "[-t HEALTH_TIMEOUT]", 38 "[--task TASK]", 39 "[-u (process | port | http)]", 40 "[--no-route | --random-route]", 41 "[--var KEY=VALUE]", 42 "[--vars-file VARS_FILE_PATH]...", 43 } 44 45 dockerAppUsage := []string{ 46 "cf", 47 PushCommandName, 48 "APP_NAME", 49 "--docker-image", 50 "[REGISTRY_HOST:PORT/]IMAGE[:TAG]", 51 "[--docker-username USERNAME]", 52 "[-c COMMAND]", 53 "[-f MANIFEST_PATH | --no-manifest]", 54 "[--no-start]", 55 "[--no-wait]", 56 "[-i NUM_INSTANCES]", 57 "[-k DISK]", 58 "[-m MEMORY]", 59 "[-l LOG_RATE_LIMIT]", 60 "[-p PATH]", 61 "[-s STACK]", 62 "[-t HEALTH_TIMEOUT]", 63 "[--task TASK]", 64 "[-u (process | port | http)]", 65 "[--no-route | --random-route ]", 66 "[--var KEY=VALUE]", 67 "[--vars-file VARS_FILE_PATH]...", 68 } 69 70 assertUsage(session, buildpackAppUsage, dockerAppUsage) 71 72 Eventually(session).Should(Say("OPTIONS:")) 73 Eventually(session).Should(Say(`--app-start-timeout, -t`)) 74 Eventually(session).Should(Say(`--buildpack, -b`)) 75 Eventually(session).Should(Say(`--disk, -k`)) 76 Eventually(session).Should(Say(`--docker-image, -o`)) 77 Eventually(session).Should(Say(`--docker-username`)) 78 Eventually(session).Should(Say(`--droplet`)) 79 Eventually(session).Should(Say(`--endpoint`)) 80 Eventually(session).Should(Say(`--health-check-type, -u`)) 81 Eventually(session).Should(Say(`--instances, -i`)) 82 Eventually(session).Should(Say(`--log-rate-limit, -l\s+Log rate limit per second, in bytes \(e.g. 128B, 4K, 1M\). -l=-1 represents unlimited`)) 83 Eventually(session).Should(Say(`--manifest, -f`)) 84 Eventually(session).Should(Say(`--memory, -m`)) 85 Eventually(session).Should(Say(`--no-manifest`)) 86 Eventually(session).Should(Say(`--no-route`)) 87 Eventually(session).Should(Say(`--no-start`)) 88 Eventually(session).Should(Say(`--no-wait`)) 89 Eventually(session).Should(Say(`--path, -p`)) 90 Eventually(session).Should(Say(`--random-route`)) 91 Eventually(session).Should(Say(`--stack, -s`)) 92 Eventually(session).Should(Say(`--start-command, -c`)) 93 Eventually(session).Should(Say(`--strategy`)) 94 Eventually(session).Should(Say(`--task`)) 95 Eventually(session).Should(Say(`--var`)) 96 Eventually(session).Should(Say(`--vars-file`)) 97 Eventually(session).Should(Say("ENVIRONMENT:")) 98 Eventually(session).Should(Say(`CF_DOCKER_PASSWORD=\s+Password used for private docker repository`)) 99 Eventually(session).Should(Say(`CF_STAGING_TIMEOUT=15\s+Max wait time for staging, in minutes`)) 100 Eventually(session).Should(Say(`CF_STARTUP_TIMEOUT=5\s+Max wait time for app instance startup, in minutes`)) 101 102 Eventually(session).Should(Exit(0)) 103 }) 104 }) 105 }) 106 107 func assertUsage(session *Session, usages ...[]string) { 108 for _, usage := range usages { 109 for k, v := range usage { 110 usage[k] = regexp.QuoteMeta(v) 111 } 112 Eventually(session).Should(Say( 113 strings.Join(usage, `\s+`)), 114 ) 115 } 116 }