github.com/cloudfoundry-attic/cli-with-i18n@v6.32.1-0.20171002233121-7401370d3b85+incompatible/integration/helpers/route.go (about) 1 package helpers 2 3 import ( 4 "fmt" 5 "path" 6 7 . "github.com/onsi/gomega" 8 . "github.com/onsi/gomega/gbytes" 9 . "github.com/onsi/gomega/gexec" 10 ) 11 12 type Route struct { 13 Domain string 14 Host string 15 Path string 16 Port int 17 Space string 18 } 19 20 func NewRoute(space string, domain string, hostname string, path string) Route { 21 return Route{ 22 Space: space, 23 Domain: domain, 24 Host: hostname, 25 Path: path, 26 } 27 } 28 29 func NewTCPRoute(space string, domain string, port int) Route { 30 return Route{ 31 Space: space, 32 Domain: domain, 33 Port: port, 34 } 35 } 36 37 func (r Route) Create() { 38 if r.Port != 0 { 39 Eventually(CF("create-route", r.Space, r.Domain, "--port", fmt.Sprint(r.Port))).Should(Exit(0)) 40 } else { 41 Eventually(CF("create-route", r.Space, r.Domain, "--hostname", r.Host, "--path", r.Path)).Should(Exit(0)) 42 } 43 } 44 45 func (r Route) Delete() { 46 if r.Port != 0 { 47 Eventually(CF("delete-route", r.Domain, "--port", fmt.Sprint(r.Port))).Should(Exit(0)) 48 } else { 49 Eventually(CF("delete-route", r.Domain, "--hostname", r.Host, "--path", r.Path, "-f")).Should(Exit(0)) 50 } 51 } 52 53 func (r Route) String() string { 54 routeString := r.Domain 55 56 if r.Port != 0 { 57 routeString = fmt.Sprintf("%s:%d", routeString, r.Port) 58 } 59 60 if r.Host != "" { 61 routeString = fmt.Sprintf("%s.%s", r.Host, routeString) 62 } 63 64 if r.Path != "" { 65 routeString = path.Join(routeString, r.Path) 66 } 67 68 return routeString 69 } 70 71 func DomainName(prefix ...string) string { 72 if len(prefix) > 0 { 73 return fmt.Sprintf("integration-%s.com", PrefixedRandomName(prefix[0])) 74 } 75 return fmt.Sprintf("integration%s.com", PrefixedRandomName("")) 76 } 77 78 type Domain struct { 79 Org string 80 Name string 81 } 82 83 func NewDomain(org string, name string) Domain { 84 return Domain{ 85 Org: org, 86 Name: name, 87 } 88 } 89 90 func (d Domain) Create() { 91 Eventually(CF("create-domain", d.Org, d.Name)).Should(Exit(0)) 92 Eventually(CF("domains")).Should(And(Exit(0), Say(d.Name))) 93 } 94 95 func (d Domain) CreateShared() { 96 Eventually(CF("create-shared-domain", d.Name)).Should(Exit(0)) 97 } 98 99 func (d Domain) CreateWithRouterGroup(routerGroup string) { 100 Eventually(CF("create-shared-domain", d.Name, "--router-group", routerGroup)).Should(Exit(0)) 101 } 102 103 func (d Domain) Share() { 104 Eventually(CF("share-private-domain", d.Org, d.Name)).Should(Exit(0)) 105 } 106 107 func (d Domain) Delete() { 108 Eventually(CF("delete-domain", d.Name, "-f")).Should(Exit(0)) 109 } 110 111 func (d Domain) DeleteShared() { 112 Eventually(CF("delete-shared-domain", d.Name, "-f")).Should(Exit(0)) 113 }