github.com/randomtask1155/cli@v6.41.1-0.20181227003417-a98eed78cbde+incompatible/integration/helpers/name_generator.go (about) 1 package helpers 2 3 import ( 4 "fmt" 5 "sort" 6 7 uuid "github.com/nu7hatch/gouuid" 8 ) 9 10 // TODO: Is this working??? 11 func GenerateHigherName(randomNameGenerator func() string, names ...string) string { 12 name := randomNameGenerator() 13 14 var safe bool 15 for !safe { 16 safe = true 17 for _, nameToBeLowerThan := range names { 18 // regenerate name if name is NOT higher 19 if !sort.StringsAreSorted([]string{nameToBeLowerThan, name}) { 20 name = randomNameGenerator() 21 safe = false 22 break 23 } 24 } 25 } 26 return name 27 } 28 29 // TODO: Is this working??? 30 func GenerateLowerName(randomNameGenerator func() string, names ...string) string { 31 name := randomNameGenerator() 32 33 var safe bool 34 for !safe { 35 safe = true 36 for _, nameToBeHigherThan := range names { 37 // regenerate name if name is NOT lower 38 if !sort.StringsAreSorted([]string{name, nameToBeHigherThan}) { 39 name = randomNameGenerator() 40 safe = false 41 break 42 } 43 } 44 } 45 return name 46 } 47 48 func NewAppName() string { 49 return PrefixedRandomName("INTEGRATION-APP") 50 } 51 52 func NewIsolationSegmentName(infix ...string) string { 53 return PrefixedRandomName("INTEGRATION-ISOLATION-SEGMENT") 54 } 55 56 func NewOrgName() string { 57 return PrefixedRandomName("INTEGRATION-ORG") 58 } 59 60 func NewServiceBrokerName() string { 61 return PrefixedRandomName("INTEGRATION-SERVICE-BROKER") 62 } 63 64 func NewPlanName() string { 65 return PrefixedRandomName("INTEGRATION-PLAN") 66 } 67 68 func NewPassword() string { 69 return PrefixedRandomName("INTEGRATION-PASSWORD") 70 } 71 72 func NewSecurityGroupName(infix ...string) string { 73 if len(infix) > 0 { 74 return PrefixedRandomName("INTEGRATION-SEC-GROUP-" + infix[0]) 75 } 76 77 return PrefixedRandomName("INTEGRATION-SEC-GROUP") 78 } 79 80 func NewSpaceName() string { 81 return PrefixedRandomName("INTEGRATION-SPACE") 82 } 83 84 func NewUsername() string { 85 return PrefixedRandomName("INTEGRATION-USER") 86 } 87 88 func NewBuildpackName() string { 89 return PrefixedRandomName("INTEGRATION-BUILDPACK") 90 } 91 92 func NewStackName() string { 93 return PrefixedRandomName("INTEGRATION-STACK") 94 } 95 96 func NewDomainName(prefix ...string) string { 97 if len(prefix) > 0 { 98 return fmt.Sprintf("integration-%s.com", PrefixedRandomName(prefix[0])) 99 } 100 return fmt.Sprintf("integration%s.com", PrefixedRandomName("")) 101 } 102 103 func PrefixedRandomName(namePrefix string) string { 104 return namePrefix + "-" + RandomName() 105 } 106 107 func RandomName() string { 108 guid, err := uuid.NewV4() 109 if err != nil { 110 panic(err) 111 } 112 113 return guid.String() 114 }