BeforeEach(func() { experiments := []*DummyExperiment{&DummyExperiment{"a"}, &DummyExperiment{"b"}, &DummyExperiment{"c"}} lab = &DummyLab{} lab.experiments = experiments http.DefaultServeMux = http.NewServeMux() workloadContext = context.New() }) JustBeforeEach(func() { ServeWithLab(lab) }) Describe("VCAP_APP_PORT", func() { var ( listen string flags config.Config ) BeforeEach(func() { flags = config.NewConfig() os.Clearenv() InitCommandLineFlags(flags) ListenAndServe = func(bind string) error { listen = bind return nil } }) Context("When VCAP_APP_PORT does not exist", func() { BeforeEach(func() { os.Clearenv()
"io" "github.com/cloudfoundry-incubator/pat/config" "github.com/cloudfoundry-incubator/pat/redis" "github.com/cloudfoundry-incubator/pat/workloads" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Config", func() { var ( flags config.Config args []string localWorker *LocalWorker connectionFromFactory redis.Conn redisWorkerConn redis.Conn redisWorker Worker slaveFromFactory *dummySlave slaveStarted bool workloadList *dummyDescriberWithThreeWorkloads ) BeforeEach(func() { flags = config.NewConfig() DescribeParameters(flags) args = []string{} localWorker = NewLocalWorker() LocalWorkerFactory = func() *LocalWorker { return localWorker }
func InitCommandLineFlags(config config.Config) { config.EnvVar(¶ms.port, "VCAP_APP_PORT", "8080", "The port to bind to") store.DescribeParameters(config) benchmarker.DescribeParameters(config) }
func InitCommandLineFlags(flags config.Config) { flags.StringVar(¶ms.path, "logging:file", "", "A file to log to, or empty to log to STDOUT") flags.StringVar(¶ms.level, "logging:level", "INFO", "The level to log at, one of all, debug2, debug1, debug, info, warn, error, fatal, off") }
func DescribeParameters(config config.Config) { config.StringVar(¶ms.csvDir, "csv-dir", "output/csvs", "Directory to Store CSVs") config.BoolVar(¶ms.useRedis, "use-redis-store", false, "True if redis should be used (requires the -redis-host, -redis-port and -redis-password arguments)") redis.DescribeParameters(config) }
func DescribeParameters(config config.Config) { config.BoolVar(¶ms.startMasterAndSlave, "use-redis-worker", false, "Runs in master mode, sending work to perform to a redis queue") }
func DescribeParameters(config config.Config) { config.StringVar(¶ms.redisHost, "redis-host", "localhost", "Redis hostname") config.IntVar(¶ms.redisPort, "redis-port", 6379, "Redis port") config.StringVar(¶ms.redisPassword, "redis-password", "", "Redis password") config.EnvVar(¶ms.vcapServices, "VCAP_SERVICES", "", "The VCAP_SERVICES environment variable") }
func InitCommandLineFlags(config config.Config) { config.StringVar(¶ms.app, "app", "assets/dora", "filepath to app, defaults to provided dora in assets") config.StringVar(¶ms.manifest, "app:manifest", "", "filepath to cf manifest for the app") config.IntVar(¶ms.iterations, "iterations", 1, "number of pushes to attempt") config.StringVar(¶ms.concurrency, "concurrency", "1", "number of workers to execute the workload in parallel, can be static or ramping up, i.e. 1..3") config.IntVar(¶ms.concurrencyStepTime, "concurrency:timeBetweenSteps", 60, "seconds between adding additonal workers when ramping works up") config.BoolVar(¶ms.silent, "silent", false, "true to run silently and exit without interaction when finished") config.StringVar(¶ms.workload, "workload", "cf:push", "a comma-separated list of operations a user should issue (use -list-workloads to see available workload options)") config.IntVar(¶ms.interval, "interval", 0, "repeat a workload every n seconds, to be used with -stop") config.IntVar(¶ms.stop, "stop", 0, "repeat a repeating interval until n seconds, to be used with -interval") config.BoolVar(¶ms.listWorkloads, "list-workloads", false, "Lists the available workloads") config.StringVar(¶ms.restTarget, "rest:target", "", "the target for the REST api") config.StringVar(¶ms.restUser, "rest:username", "", "username for REST api") config.StringVar(¶ms.restPass, "rest:password", "", "password for REST api") config.StringVar(¶ms.restSpace, "rest:space", "dev", "space to target for REST api") benchmarker.DescribeParameters(config) store.DescribeParameters(config) }