func NewConfigurer(logger lager.Logger, tcpLoadBalancer string, tcpLoadBalancerBaseCfg string, tcpLoadBalancerCfg string) RouterConfigurer { switch tcpLoadBalancer { case HaProxyConfigurer: routerHostInfo, err := haproxy.NewHaProxyConfigurer(logger, tcpLoadBalancerBaseCfg, tcpLoadBalancerCfg) if err != nil { logger.Fatal("could not create tcp load balancer", err, lager.Data{"tcp_load_balancer": tcpLoadBalancer}) return nil } return routerHostInfo default: logger.Fatal("not-supported", errors.New("unsupported tcp load balancer"), lager.Data{"tcp_load_balancer": tcpLoadBalancer}) return nil } }
haproxyConfigurer *haproxy.HaProxyConfigurer ) verifyHaProxyConfigContent := func(haproxyFileName, expectedContent string, present bool) { data, err := ioutil.ReadFile(haproxyFileName) Expect(err).ShouldNot(HaveOccurred()) if present { Expect(string(data)).Should(ContainSubstring(expectedContent)) } else { Expect(string(data)).ShouldNot(ContainSubstring(expectedContent)) } } Context("when empty base configuration file is passed", func() { It("returns a ErrRouterConfigFileNotFound error", func() { _, err := haproxy.NewHaProxyConfigurer(logger, "", haproxyConfigFile) Expect(err).Should(HaveOccurred()) Expect(err.Error()).To(ContainSubstring(cf_tcp_router.ErrRouterConfigFileNotFound)) }) }) Context("when empty configuration file is passed", func() { It("returns a ErrRouterConfigFileNotFound error", func() { _, err := haproxy.NewHaProxyConfigurer(logger, haproxyConfigTemplate, "") Expect(err).Should(HaveOccurred()) Expect(err.Error()).To(ContainSubstring(cf_tcp_router.ErrRouterConfigFileNotFound)) }) }) Context("when base configuration file does not exist", func() { It("returns a ErrRouterConfigFileNotFound error", func() {