github.com/randomtask1155/cli@v6.41.1-0.20181227003417-a98eed78cbde+incompatible/integration/helpers/domains.go (about)

     1  package helpers
     2  
     3  import (
     4  	"fmt"
     5  	"regexp"
     6  
     7  	. "github.com/onsi/gomega"
     8  	. "github.com/onsi/gomega/gbytes"
     9  	. "github.com/onsi/gomega/gexec"
    10  )
    11  
    12  func DomainName(prefix ...string) string {
    13  	if len(prefix) > 0 {
    14  		return fmt.Sprintf("integration-%s.com", PrefixedRandomName(prefix[0]))
    15  	}
    16  	return fmt.Sprintf("integration%s.com", PrefixedRandomName(""))
    17  }
    18  
    19  type Domain struct {
    20  	Org  string
    21  	Name string
    22  }
    23  
    24  func NewDomain(org string, name string) Domain {
    25  	return Domain{
    26  		Org:  org,
    27  		Name: name,
    28  	}
    29  }
    30  
    31  // globally cached
    32  var foundDefaultDomain string
    33  
    34  func DefaultSharedDomain() string {
    35  	if foundDefaultDomain == "" {
    36  		session := CF("domains")
    37  		Eventually(session).Should(Exit(0))
    38  
    39  		regex, err := regexp.Compile(`(.+?)\s+shared`)
    40  		Expect(err).ToNot(HaveOccurred())
    41  
    42  		matches := regex.FindStringSubmatch(string(session.Out.Contents()))
    43  		Expect(matches).To(HaveLen(2))
    44  
    45  		foundDefaultDomain = matches[1]
    46  	}
    47  	return foundDefaultDomain
    48  }
    49  
    50  func (d Domain) Create() {
    51  	Eventually(CF("create-domain", d.Org, d.Name)).Should(Exit(0))
    52  	Eventually(CF("domains")).Should(And(Exit(0), Say(d.Name)))
    53  }
    54  
    55  func (d Domain) CreateShared() {
    56  	Eventually(CF("create-shared-domain", d.Name)).Should(Exit(0))
    57  }
    58  
    59  func (d Domain) CreateWithRouterGroup(routerGroup string) {
    60  	Eventually(CF("create-shared-domain", d.Name, "--router-group", routerGroup)).Should(Exit(0))
    61  }
    62  
    63  func (d Domain) CreateInternal() {
    64  	Eventually(CF("create-shared-domain", d.Name, "--internal")).Should(Exit(0))
    65  }
    66  
    67  func (d Domain) Share() {
    68  	Eventually(CF("share-private-domain", d.Org, d.Name)).Should(Exit(0))
    69  }
    70  
    71  func (d Domain) Delete() {
    72  	Eventually(CF("delete-domain", d.Name, "-f")).Should(Exit(0))
    73  }
    74  
    75  func (d Domain) DeleteShared() {
    76  	Eventually(CF("delete-shared-domain", d.Name, "-f")).Should(Exit(0))
    77  }