config_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package registry
  2. import (
  3. "testing"
  4. )
  5. func TestValidateMirror(t *testing.T) {
  6. valid := []string{
  7. "http://mirror-1.com",
  8. "https://mirror-1.com",
  9. "http://localhost",
  10. "https://localhost",
  11. "http://localhost:5000",
  12. "https://localhost:5000",
  13. "http://127.0.0.1",
  14. "https://127.0.0.1",
  15. "http://127.0.0.1:5000",
  16. "https://127.0.0.1:5000",
  17. }
  18. invalid := []string{
  19. "!invalid!://%as%",
  20. "ftp://mirror-1.com",
  21. "http://mirror-1.com/",
  22. "http://mirror-1.com/?q=foo",
  23. "http://mirror-1.com/v1/",
  24. "http://mirror-1.com/v1/?q=foo",
  25. "http://mirror-1.com/v1/?q=foo#frag",
  26. "http://mirror-1.com?q=foo",
  27. "https://mirror-1.com#frag",
  28. "https://mirror-1.com/",
  29. "https://mirror-1.com/#frag",
  30. "https://mirror-1.com/v1/",
  31. "https://mirror-1.com/v1/#",
  32. "https://mirror-1.com?q",
  33. }
  34. for _, address := range valid {
  35. if ret, err := ValidateMirror(address); err != nil || ret == "" {
  36. t.Errorf("ValidateMirror(`"+address+"`) got %s %s", ret, err)
  37. }
  38. }
  39. for _, address := range invalid {
  40. if ret, err := ValidateMirror(address); err == nil || ret != "" {
  41. t.Errorf("ValidateMirror(`"+address+"`) got %s %s", ret, err)
  42. }
  43. }
  44. }