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 }