checks_test.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package main
  2. import (
  3. "testing"
  4. )
  5. func TestCheckRegex(t *testing.T) {
  6. var secretsPresent bool
  7. var results []string
  8. checks := map[string]bool{
  9. "github.com": false,
  10. "github.com/user/": false,
  11. "github.com/user -- Sys": false,
  12. "github_api_client = \"sample key\"": true,
  13. "aws=\"afewafewafewafewaf\"": true,
  14. "aws\"afewafewafewafewaf\"": false,
  15. "heroku := \"afewafewafewafewaf\"": true,
  16. "heroku_client_secret := \"afewafewafewafewaf\"": true,
  17. "reddit_api_secreit = \"Fwe4fa431FgklreF\"": true,
  18. }
  19. for k, v := range checks {
  20. results, secretsPresent = checkRegex(k)
  21. if v != secretsPresent {
  22. t.Errorf("regexCheck failed on string %s. Expected secretsPresent: %t, got %t, %v", k, v, secretsPresent, results)
  23. }
  24. }
  25. }
  26. func TestEntropy(t *testing.T) {
  27. var enoughEntropy bool
  28. checks := map[string]bool{
  29. "heroku_client_secret = settings.HEROKU_CLIENT": false,
  30. "heroku_client_secret = conf.heroku": false,
  31. "reddit_secret = settings.REDDIT_API": false,
  32. "reddit_api_secret = \"Fwe4fa431FgklreF\"": true,
  33. "aws_secret= \"AKIAIMNOJVGFDXXXE4OA\"": true,
  34. }
  35. for k, v := range checks {
  36. enoughEntropy = checkEntropy(k)
  37. if v != enoughEntropy {
  38. t.Errorf("checkEntropy failed for %s. Expected %t, got %t", k, v, enoughEntropy)
  39. }
  40. }
  41. }