Example #1
0
	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()
Example #2
0
	"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
		}
Example #3
0
File: server.go Project: Jonty/pat
func InitCommandLineFlags(config config.Config) {
	config.EnvVar(&params.port, "VCAP_APP_PORT", "8080", "The port to bind to")
	store.DescribeParameters(config)
	benchmarker.DescribeParameters(config)
}
Example #4
0
func InitCommandLineFlags(flags config.Config) {
	flags.StringVar(&params.path, "logging:file", "", "A file to log to, or empty to log to STDOUT")
	flags.StringVar(&params.level, "logging:level", "INFO", "The level to log at, one of all, debug2, debug1, debug, info, warn, error, fatal, off")
}
Example #5
0
func DescribeParameters(config config.Config) {
	config.StringVar(&params.csvDir, "csv-dir", "output/csvs", "Directory to Store CSVs")
	config.BoolVar(&params.useRedis, "use-redis-store", false, "True if redis should be used (requires the -redis-host, -redis-port and -redis-password arguments)")
	redis.DescribeParameters(config)
}
Example #6
0
func DescribeParameters(config config.Config) {
	config.BoolVar(&params.startMasterAndSlave, "use-redis-worker", false, "Runs in master mode, sending work to perform to a redis queue")
}
Example #7
0
func DescribeParameters(config config.Config) {
	config.StringVar(&params.redisHost, "redis-host", "localhost", "Redis hostname")
	config.IntVar(&params.redisPort, "redis-port", 6379, "Redis port")
	config.StringVar(&params.redisPassword, "redis-password", "", "Redis password")
	config.EnvVar(&params.vcapServices, "VCAP_SERVICES", "", "The VCAP_SERVICES environment variable")
}
Example #8
0
func InitCommandLineFlags(config config.Config) {
	config.StringVar(&params.app, "app", "assets/dora", "filepath to app, defaults to provided dora in assets")
	config.StringVar(&params.manifest, "app:manifest", "", "filepath to cf manifest for the app")
	config.IntVar(&params.iterations, "iterations", 1, "number of pushes to attempt")
	config.StringVar(&params.concurrency, "concurrency", "1", "number of workers to execute the workload in parallel, can be static or ramping up, i.e. 1..3")
	config.IntVar(&params.concurrencyStepTime, "concurrency:timeBetweenSteps", 60, "seconds between adding additonal workers when ramping works up")
	config.BoolVar(&params.silent, "silent", false, "true to run silently and exit without interaction when finished")
	config.StringVar(&params.workload, "workload", "cf:push", "a comma-separated list of operations a user should issue (use -list-workloads to see available workload options)")
	config.IntVar(&params.interval, "interval", 0, "repeat a workload every n seconds, to be used with -stop")
	config.IntVar(&params.stop, "stop", 0, "repeat a repeating interval until n seconds, to be used with -interval")
	config.BoolVar(&params.listWorkloads, "list-workloads", false, "Lists the available workloads")
	config.StringVar(&params.restTarget, "rest:target", "", "the target for the REST api")
	config.StringVar(&params.restUser, "rest:username", "", "username for REST api")
	config.StringVar(&params.restPass, "rest:password", "", "password for REST api")
	config.StringVar(&params.restSpace, "rest:space", "dev", "space to target for REST api")
	benchmarker.DescribeParameters(config)
	store.DescribeParameters(config)
}