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  }