(fix) Auth0 Management token flaky test (#4179)

* ensure random generated token does not have last character as boundary character

* use separate charset for boundary chars
This commit is contained in:
Abdul Basit
2025-05-29 16:48:17 +05:00
committed by GitHub
parent e02a82229b
commit 7f115911ce
@@ -97,18 +97,23 @@ func makeFakeTokenString(token, domain string) string {
// generateRandomString generates exactly 2001 char string for a fake token to by pass the check in detector for testing
func generateRandomString() string {
const length = 2001
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._-"
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"
const charsetWithBoundaryChars = charset + ".-"
random := rand.New(rand.NewSource(time.Now().UnixNano()))
var builder strings.Builder
builder.Grow(length)
for i := 0; i < length; i++ {
randomChar := charset[random.Intn(len(charset))]
for i := 0; i < length-1; i++ {
randomChar := charsetWithBoundaryChars[random.Intn(len(charset))]
builder.WriteByte(randomChar)
}
// ensure last character is not boundary character
lastChar := charset[random.Intn(len(charset))]
builder.WriteByte(lastChar)
// append ey in start as the token must start with 'ey'
return fmt.Sprintf("ey%s", builder.String())
}