mirror of https://github.com/databricks/cli.git
36 lines
774 B
Go
36 lines
774 B
Go
|
package internal
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"math/rand"
|
||
|
"os"
|
||
|
"strings"
|
||
|
"testing"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||
|
|
||
|
// GetEnvOrSkipTest proceeds with test only with that env variable
|
||
|
func GetEnvOrSkipTest(t *testing.T, name string) string {
|
||
|
value := os.Getenv(name)
|
||
|
if value == "" {
|
||
|
t.Skipf("Environment variable %s is missing", name)
|
||
|
}
|
||
|
return value
|
||
|
}
|
||
|
|
||
|
// RandomName gives random name with optional prefix. e.g. qa.RandomName("tf-")
|
||
|
func RandomName(prefix ...string) string {
|
||
|
rand.Seed(time.Now().UnixNano())
|
||
|
randLen := 12
|
||
|
b := make([]byte, randLen)
|
||
|
for i := range b {
|
||
|
b[i] = charset[rand.Intn(randLen)]
|
||
|
}
|
||
|
if len(prefix) > 0 {
|
||
|
return fmt.Sprintf("%s%s", strings.Join(prefix, ""), b)
|
||
|
}
|
||
|
return string(b)
|
||
|
}
|