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

     1  package helpers
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  
     7  	. "github.com/onsi/gomega"
     8  	. "github.com/onsi/gomega/gexec"
     9  )
    10  
    11  func SetupReadOnlyOrgAndSpace() (string, string) {
    12  	homeDir := SetHomeDir()
    13  	SetAPI()
    14  	LoginCF()
    15  	orgName := NewOrgName()
    16  	spaceName1 := NewSpaceName()
    17  	spaceName2 := NewSpaceName()
    18  	Eventually(CF("create-org", orgName)).Should(Exit(0))
    19  	// TODO: remove when create-space works with CF_CLI_EXPERIMENTAL=true
    20  	Eventually(CFWithEnv(map[string]string{"CF_CLI_EXPERIMENTAL": "false"}, "create-space", spaceName1, "-o", orgName)).Should(Exit(0))
    21  	Eventually(CFWithEnv(map[string]string{"CF_CLI_EXPERIMENTAL": "false"}, "create-space", spaceName2, "-o", orgName)).Should(Exit(0))
    22  	DestroyHomeDir(homeDir)
    23  	return orgName, spaceName1
    24  }
    25  
    26  func CreateAndTargetOrg() string {
    27  	org := NewOrgName()
    28  	CreateOrg(org)
    29  	TargetOrg(org)
    30  	return org
    31  }
    32  
    33  func CreateOrgAndSpace(org string, space string) {
    34  	CreateOrg(org)
    35  	TargetOrg(org)
    36  	CreateSpace(space)
    37  }
    38  
    39  func CreateOrg(org string) {
    40  	Eventually(CF("create-org", org)).Should(Exit(0))
    41  }
    42  
    43  func CreateSpace(space string) {
    44  	// TODO: remove when create-space works with CF_CLI_EXPERIMENTAL=true
    45  	Eventually(CFWithEnv(map[string]string{"CF_CLI_EXPERIMENTAL": "false"}, "create-space", space)).Should(Exit(0))
    46  }
    47  
    48  func GetOrgGUID(orgName string) string {
    49  	session := CF("org", "--guid", orgName)
    50  	Eventually(session).Should(Exit(0))
    51  	return strings.TrimSpace(string(session.Out.Contents()))
    52  }
    53  
    54  func GetSpaceGUID(spaceName string) string {
    55  	session := CF("space", "--guid", spaceName)
    56  	Eventually(session).Should(Exit(0))
    57  	return strings.TrimSpace(string(session.Out.Contents()))
    58  }
    59  
    60  func QuickDeleteOrg(orgName string) {
    61  	// If orgName is empty, the BeforeSuite has failed and attempting to delete
    62  	// will produce a meaningless error.
    63  	if orgName == "" {
    64  		fmt.Println("Empty org name. Skipping deletion.")
    65  		return
    66  	}
    67  
    68  	guid := GetOrgGUID(orgName)
    69  	url := fmt.Sprintf("/v2/organizations/%s?recursive=true&async=true", guid)
    70  	session := CF("curl", "-X", "DELETE", url)
    71  	Eventually(session).Should(Exit(0))
    72  }
    73  
    74  func QuickDeleteOrgIfExists(orgName string) {
    75  	session := CF("org", "--guid", orgName)
    76  	Eventually(session).Should(Exit())
    77  	if session.ExitCode() != 0 {
    78  		return
    79  	}
    80  	guid := strings.TrimSpace(string(session.Out.Contents()))
    81  	url := fmt.Sprintf("/v2/organizations/%s?recursive=true&async=true", guid)
    82  	session = CF("curl", "-X", "DELETE", url)
    83  	Eventually(session).Should(Exit())
    84  }
    85  
    86  func QuickDeleteSpace(spaceName string) {
    87  	guid := GetSpaceGUID(spaceName)
    88  	url := fmt.Sprintf("/v2/spaces/%s?recursive=true&async=true", guid)
    89  	session := CF("curl", "-X", "DELETE", url)
    90  	Eventually(session).Should(Exit(0))
    91  }