checks_test.go 1.4 KB

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