util_test.go 918 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package util
  2. import (
  3. "testing"
  4. )
  5. func TestCreateRandomString(t *testing.T) {
  6. for i := 0; i < 10; i++ {
  7. s := CreateRandomString()
  8. t.Logf("Generated Random String: %s", s)
  9. }
  10. }
  11. func TestGenerateRandomECSPassword(t *testing.T) {
  12. for i := 0; i < 10; i++ {
  13. s := GenerateRandomECSPassword()
  14. if len(s) < 8 || len(s) > 30 {
  15. t.Errorf("Generated ECS password [%v]: bad len", s)
  16. }
  17. hasDigit := false
  18. hasLower := false
  19. hasUpper := false
  20. for j := range s {
  21. switch {
  22. case '0' <= s[j] && s[j] <= '9':
  23. hasDigit = true
  24. case 'a' <= s[j] && s[j] <= 'z':
  25. hasLower = true
  26. case 'A' <= s[j] && s[j] <= 'Z':
  27. hasUpper = true
  28. }
  29. }
  30. if !hasDigit {
  31. t.Errorf("Generated ECS password [%v]: no digit", s)
  32. }
  33. if !hasLower {
  34. t.Errorf("Generated ECS password [%v]: no lower letter ", s)
  35. }
  36. if !hasUpper {
  37. t.Errorf("Generated ECS password [%v]: no upper letter", s)
  38. }
  39. }
  40. }