| package opts |
| |
| import ( |
| "testing" |
| ) |
| |
| func TestValidateIP4(t *testing.T) { |
| if ret, err := ValidateIp4Address(`1.2.3.4`); err != nil || ret == "" { |
| t.Fatalf("ValidateIp4Address(`1.2.3.4`) got %s %s", ret, err) |
| } |
| |
| if ret, err := ValidateIp4Address(`127.0.0.1`); err != nil || ret == "" { |
| t.Fatalf("ValidateIp4Address(`127.0.0.1`) got %s %s", ret, err) |
| } |
| |
| if ret, err := ValidateIp4Address(`127`); err == nil || ret != "" { |
| t.Fatalf("ValidateIp4Address(`127`) got %s %s", ret, err) |
| } |
| |
| if ret, err := ValidateIp4Address(`random invalid string`); err == nil || ret != "" { |
| t.Fatalf("ValidateIp4Address(`random invalid string`) got %s %s", ret, err) |
| } |
| |
| } |
| |
| func TestValidateDomain(t *testing.T) { |
| valid := []string{ |
| `a`, |
| `a.`, |
| `1.foo`, |
| `17.foo`, |
| `foo.bar`, |
| `foo.bar.baz`, |
| `foo.bar.`, |
| `foo.bar.baz`, |
| `foo1.bar2`, |
| `foo1.bar2.baz`, |
| `1foo.2bar.`, |
| `1foo.2bar.baz`, |
| `foo-1.bar-2`, |
| `foo-1.bar-2.baz`, |
| `foo-1.bar-2.`, |
| `foo-1.bar-2.baz`, |
| `1-foo.2-bar`, |
| `1-foo.2-bar.baz`, |
| `1-foo.2-bar.`, |
| `1-foo.2-bar.baz`, |
| } |
| |
| invalid := []string{ |
| ``, |
| `.`, |
| `17`, |
| `17.`, |
| `.17`, |
| `17-.`, |
| `17-.foo`, |
| `.foo`, |
| `foo-.bar`, |
| `-foo.bar`, |
| `foo.bar-`, |
| `foo.bar-.baz`, |
| `foo.-bar`, |
| `foo.-bar.baz`, |
| } |
| |
| for _, domain := range valid { |
| if ret, err := ValidateDomain(domain); err != nil || ret == "" { |
| t.Fatalf("ValidateDomain(`"+domain+"`) got %s %s", ret, err) |
| } |
| } |
| |
| for _, domain := range invalid { |
| if ret, err := ValidateDomain(domain); err == nil || ret != "" { |
| t.Fatalf("ValidateDomain(`"+domain+"`) got %s %s", ret, err) |
| } |
| } |
| } |