opts_test.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package opts
  2. import (
  3. "testing"
  4. )
  5. func TestValidateIP4(t *testing.T) {
  6. if ret, err := ValidateIp4Address(`1.2.3.4`); err != nil || ret == "" {
  7. t.Fatalf("ValidateIp4Address(`1.2.3.4`) got %s %s", ret, err)
  8. }
  9. if ret, err := ValidateIp4Address(`127.0.0.1`); err != nil || ret == "" {
  10. t.Fatalf("ValidateIp4Address(`127.0.0.1`) got %s %s", ret, err)
  11. }
  12. if ret, err := ValidateIp4Address(`127`); err == nil || ret != "" {
  13. t.Fatalf("ValidateIp4Address(`127`) got %s %s", ret, err)
  14. }
  15. if ret, err := ValidateIp4Address(`random invalid string`); err == nil || ret != "" {
  16. t.Fatalf("ValidateIp4Address(`random invalid string`) got %s %s", ret, err)
  17. }
  18. }
  19. func TestValidateDomain(t *testing.T) {
  20. valid := []string{
  21. `a`,
  22. `a.`,
  23. `1.foo`,
  24. `17.foo`,
  25. `foo.bar`,
  26. `foo.bar.baz`,
  27. `foo.bar.`,
  28. `foo.bar.baz`,
  29. `foo1.bar2`,
  30. `foo1.bar2.baz`,
  31. `1foo.2bar.`,
  32. `1foo.2bar.baz`,
  33. `foo-1.bar-2`,
  34. `foo-1.bar-2.baz`,
  35. `foo-1.bar-2.`,
  36. `foo-1.bar-2.baz`,
  37. `1-foo.2-bar`,
  38. `1-foo.2-bar.baz`,
  39. `1-foo.2-bar.`,
  40. `1-foo.2-bar.baz`,
  41. }
  42. invalid := []string{
  43. ``,
  44. `.`,
  45. `17`,
  46. `17.`,
  47. `.17`,
  48. `17-.`,
  49. `17-.foo`,
  50. `.foo`,
  51. `foo-.bar`,
  52. `-foo.bar`,
  53. `foo.bar-`,
  54. `foo.bar-.baz`,
  55. `foo.-bar`,
  56. `foo.-bar.baz`,
  57. }
  58. for _, domain := range valid {
  59. if ret, err := ValidateDomain(domain); err != nil || ret == "" {
  60. t.Fatalf("ValidateDomain(`"+domain+"`) got %s %s", ret, err)
  61. }
  62. }
  63. for _, domain := range invalid {
  64. if ret, err := ValidateDomain(domain); err == nil || ret != "" {
  65. t.Fatalf("ValidateDomain(`"+domain+"`) got %s %s", ret, err)
  66. }
  67. }
  68. }