main_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package main
  2. import (
  3. "testing"
  4. )
  5. func TestProxyFlagSet(t *testing.T) {
  6. tests := []struct {
  7. val string
  8. pass bool
  9. }{
  10. // known values
  11. {"on", true},
  12. {"off", true},
  13. // unrecognized values
  14. {"foo", false},
  15. {"", false},
  16. }
  17. for i, tt := range tests {
  18. pf := new(ProxyFlag)
  19. err := pf.Set(tt.val)
  20. if tt.pass != (err == nil) {
  21. t.Errorf("#%d: want pass=%t, but got err=%v", i, tt.pass, err)
  22. }
  23. }
  24. }
  25. func TestBadValidateAddr(t *testing.T) {
  26. tests := []string{
  27. // bad IP specification
  28. ":4001",
  29. "127.0:8080",
  30. "123:456",
  31. // bad port specification
  32. "127.0.0.1:foo",
  33. "127.0.0.1:",
  34. // unix sockets not supported
  35. "unix://",
  36. "unix://tmp/etcd.sock",
  37. // bad strings
  38. "somewhere",
  39. "234#$",
  40. "file://foo/bar",
  41. "http://hello",
  42. }
  43. for i, in := range tests {
  44. if err := validateAddr(in); err == nil {
  45. t.Errorf(`#%d: unexpected nil error for in=%q`, i, in)
  46. }
  47. }
  48. }
  49. func TestValidateAddr(t *testing.T) {
  50. tests := []string{
  51. "1.2.3.4:8080",
  52. "10.1.1.1:80",
  53. }
  54. for i, in := range tests {
  55. if err := validateAddr(in); err != nil {
  56. t.Errorf("#%d: err=%v, want nil for in=%q", i, err, in)
  57. }
  58. }
  59. }