BeforeEach(func() { logger = lagertest.NewTestLogger("test") natsPort = test_util.NextAvailPort() natsRunner = test_util.NewNATSRunner(int(natsPort)) natsRunner.Start() proxyPort := test_util.NextAvailPort() statusPort := test_util.NextAvailPort() sslPort := test_util.NextAvailPort() cert, err := tls.LoadX509KeyPair("../test/assets/certs/server.pem", "../test/assets/certs/server.key") Expect(err).ToNot(HaveOccurred()) config = test_util.SpecConfig(statusPort, proxyPort, natsPort) config.EnableSSL = true config.SSLPort = sslPort config.SSLCertificate = cert config.CipherSuites = []uint16{tls.TLS_RSA_WITH_AES_256_CBC_SHA} config.EndpointTimeout = 5 * time.Second mbusClient = natsRunner.MessageBus registry = rregistry.NewRouteRegistry(logger, config, new(fakes.FakeRouteRegistryReporter)) varz = vvarz.NewVarz(registry) logcounter := schema.NewLogCounter() atomic.StoreInt32(&healthCheck, 0) p = proxy.NewProxy(proxy.ProxyArgs{ Logger: logger, EndpointTimeout: config.EndpointTimeout, Ip: config.Ip,
} configDrainSetup := func(cfg *config.Config, pruneInterval, pruneThreshold, drainWait int) { // ensure the threshold is longer than the interval that we check, // because we set the route's timestamp to time.Now() on the interval // as part of pausing cfg.PruneStaleDropletsInterval = time.Duration(pruneInterval) * time.Second cfg.DropletStaleThreshold = time.Duration(pruneThreshold) * time.Second cfg.StartResponseDelayInterval = 1 * time.Second cfg.EndpointTimeout = 5 * time.Second cfg.DrainTimeout = 1 * time.Second cfg.DrainWait = time.Duration(drainWait) * time.Second } createConfig := func(cfgFile string, statusPort, proxyPort uint16, pruneInterval, pruneThreshold, drainWait int, suspendPruning bool, natsPorts ...uint16) *config.Config { cfg := test_util.SpecConfig(statusPort, proxyPort, natsPorts...) configDrainSetup(cfg, pruneInterval, pruneThreshold, drainWait) cfg.SuspendPruningIfNatsUnavailable = suspendPruning caCertsPath := filepath.Join("test", "assets", "certs", "uaa-ca.pem") caCertsPath, err := filepath.Abs(caCertsPath) Expect(err).ToNot(HaveOccurred()) cfg.LoadBalancerHealthyThreshold = 0 cfg.OAuth = config.OAuthConfig{ TokenEndpoint: "127.0.0.1", Port: 8443, ClientName: "client-id", ClientSecret: "client-secret", SkipSSLValidation: false, CACerts: caCertsPath,