BeforeEach(func() { tcpMapping = db.NewTcpRouteMapping("router-group-guid-001", 52000, "1.2.3.4", 60000) }) Context("when valid tcp mapping is passed", func() { It("does not return error", func() { err := validator.ValidateTcpRouteMapping([]db.TcpRouteMapping{tcpMapping}) Expect(err).To(BeNil()) }) }) Context("when invalid tcp route mappings are passed", func() { It("blows up when a host port is zero", func() { tcpMapping.HostPort = 0 err := validator.ValidateTcpRouteMapping([]db.TcpRouteMapping{tcpMapping}) Expect(err).ToNot(BeNil()) Expect(err.Type).To(Equal(routing_api.TcpRouteMappingInvalidError)) Expect(err.Error()).To(Equal("Each tcp mapping requires a positive host port")) }) It("blows up when a external port is zero", func() { tcpMapping.TcpRoute.ExternalPort = 0 err := validator.ValidateTcpRouteMapping([]db.TcpRouteMapping{tcpMapping}) Expect(err).ToNot(BeNil()) Expect(err.Type).To(Equal(routing_api.TcpRouteMappingInvalidError)) Expect(err.Error()).To(Equal("Each tcp mapping requires a positive external port")) }) It("blows up when host ip empty", func() {