예제 #1
0
func (appRunner *appRunner) buildRoutesWithDefaults(params CreateAppParams, primaryPort uint16) route_helpers.Routes {
	routes := appRunner.buildRoutes(params.NoRoutes, params.RouteOverrides, params.TcpRoutes)

	if len(routes.AppRoutes) == 0 && len(routes.TcpRoutes) == 0 && !params.NoRoutes {
		routes.AppRoutes = route_helpers.BuildDefaultRoutingInfo(params.Name, params.ExposedPorts, primaryPort, appRunner.systemDomain)
	}

	return routes
}
예제 #2
0
func (factory *AppRunnerCommandFactory) displayDefaultRoutes(appName string, monitorPort uint16, exposedPorts []uint16) {
	factory.UI.SayLine(colors.Green(factory.urlForAppName(appName)))

	primaryPort := route_helpers.GetPrimaryPort(monitorPort, exposedPorts)
	appRoutes := route_helpers.BuildDefaultRoutingInfo(appName, exposedPorts, primaryPort, factory.Domain)
	for _, appRoute := range appRoutes {
		factory.UI.SayLine(colors.Green(factory.urlForAppNameAndPort(appName, appRoute.Port)))
	}
}
				Expect(returnPort).To(Equal(uint16(1000)))
			})
		})

		Context("when there is monitor port, and the exposedPorts is empty", func() {
			It("return the monitor port", func() {
				returnPort := route_helpers.GetPrimaryPort(uint16(1000), []uint16{})
				Expect(returnPort).To(Equal(uint16(1000)))
			})
		})
	})

	Describe("BuildDefaultRoutingInfo", func() {
		Context("when no exposedPorts is given", func() {
			It("output empty approutes", func() {
				appRoutes := route_helpers.BuildDefaultRoutingInfo("cool-app", []uint16{}, 5000, "cool-app-domain")
				Expect(appRoutes).To(BeEmpty())
			})
		})

		Context("when primaryPort is not included in the exposedPorts", func() {
			It("doesn't output the default route", func() {
				expectedAppRoutes := route_helpers.AppRoutes{
					{Hostnames: []string{"cool-app-2000.cool-app-domain"}, Port: 2000},
				}
				appRoutes := route_helpers.BuildDefaultRoutingInfo("cool-app", []uint16{2000}, 5000, "cool-app-domain")
				Expect(appRoutes).To(Equal(expectedAppRoutes))
			})
		})

		Context("when primaryPort is included in the exposedPorts", func() {