opts_test.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package opts
  2. import (
  3. "testing"
  4. )
  5. func TestValidateIPAddress(t *testing.T) {
  6. if ret, err := ValidateIPAddress(`1.2.3.4`); err != nil || ret == "" {
  7. t.Fatalf("ValidateIPAddress(`1.2.3.4`) got %s %s", ret, err)
  8. }
  9. if ret, err := ValidateIPAddress(`127.0.0.1`); err != nil || ret == "" {
  10. t.Fatalf("ValidateIPAddress(`127.0.0.1`) got %s %s", ret, err)
  11. }
  12. if ret, err := ValidateIPAddress(`::1`); err != nil || ret == "" {
  13. t.Fatalf("ValidateIPAddress(`::1`) got %s %s", ret, err)
  14. }
  15. if ret, err := ValidateIPAddress(`127`); err == nil || ret != "" {
  16. t.Fatalf("ValidateIPAddress(`127`) got %s %s", ret, err)
  17. }
  18. if ret, err := ValidateIPAddress(`random invalid string`); err == nil || ret != "" {
  19. t.Fatalf("ValidateIPAddress(`random invalid string`) got %s %s", ret, err)
  20. }
  21. }
  22. func TestListOpts(t *testing.T) {
  23. o := NewListOpts(nil)
  24. o.Set("foo")
  25. if o.String() != "[foo]" {
  26. t.Errorf("%s != [foo]", o.String())
  27. }
  28. o.Set("bar")
  29. if o.Len() != 2 {
  30. t.Errorf("%d != 2", o.Len())
  31. }
  32. if !o.Get("bar") {
  33. t.Error("o.Get(\"bar\") == false")
  34. }
  35. if o.Get("baz") {
  36. t.Error("o.Get(\"baz\") == true")
  37. }
  38. o.Delete("foo")
  39. if o.String() != "[bar]" {
  40. t.Errorf("%s != [bar]", o.String())
  41. }
  42. }
  43. func TestValidateDnsSearch(t *testing.T) {
  44. valid := []string{
  45. `.`,
  46. `a`,
  47. `a.`,
  48. `1.foo`,
  49. `17.foo`,
  50. `foo.bar`,
  51. `foo.bar.baz`,
  52. `foo.bar.`,
  53. `foo.bar.baz`,
  54. `foo1.bar2`,
  55. `foo1.bar2.baz`,
  56. `1foo.2bar.`,
  57. `1foo.2bar.baz`,
  58. `foo-1.bar-2`,
  59. `foo-1.bar-2.baz`,
  60. `foo-1.bar-2.`,
  61. `foo-1.bar-2.baz`,
  62. `1-foo.2-bar`,
  63. `1-foo.2-bar.baz`,
  64. `1-foo.2-bar.`,
  65. `1-foo.2-bar.baz`,
  66. }
  67. invalid := []string{
  68. ``,
  69. ` `,
  70. ` `,
  71. `17`,
  72. `17.`,
  73. `.17`,
  74. `17-.`,
  75. `17-.foo`,
  76. `.foo`,
  77. `foo-.bar`,
  78. `-foo.bar`,
  79. `foo.bar-`,
  80. `foo.bar-.baz`,
  81. `foo.-bar`,
  82. `foo.-bar.baz`,
  83. }
  84. for _, domain := range valid {
  85. if ret, err := ValidateDnsSearch(domain); err != nil || ret == "" {
  86. t.Fatalf("ValidateDnsSearch(`"+domain+"`) got %s %s", ret, err)
  87. }
  88. }
  89. for _, domain := range invalid {
  90. if ret, err := ValidateDnsSearch(domain); err == nil || ret != "" {
  91. t.Fatalf("ValidateDnsSearch(`"+domain+"`) got %s %s", ret, err)
  92. }
  93. }
  94. }