ip_address_test.go 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package util
  2. import (
  3. "testing"
  4. . "github.com/smartystreets/goconvey/convey"
  5. )
  6. func TestParseIPAddress(t *testing.T) {
  7. Convey("Test parse ip address", t, func() {
  8. So(ParseIPAddress("192.168.0.140:456"), ShouldEqual, "192.168.0.140")
  9. So(ParseIPAddress("192.168.0.140"), ShouldEqual, "192.168.0.140")
  10. So(ParseIPAddress("[::1:456]"), ShouldEqual, "127.0.0.1")
  11. So(ParseIPAddress("[::1]"), ShouldEqual, "127.0.0.1")
  12. So(ParseIPAddress("::1"), ShouldEqual, "127.0.0.1")
  13. So(ParseIPAddress("::1:123"), ShouldEqual, "127.0.0.1")
  14. })
  15. }
  16. func TestSplitHostPortDefault(t *testing.T) {
  17. Convey("Test split ip address to host and port", t, func() {
  18. host, port := SplitHostPortDefault("192.168.0.140:456", "", "")
  19. So(host, ShouldEqual, "192.168.0.140")
  20. So(port, ShouldEqual, "456")
  21. host, port = SplitHostPortDefault("192.168.0.140", "", "123")
  22. So(host, ShouldEqual, "192.168.0.140")
  23. So(port, ShouldEqual, "123")
  24. host, port = SplitHostPortDefault("[::1:456]", "", "")
  25. So(host, ShouldEqual, "::1")
  26. So(port, ShouldEqual, "456")
  27. host, port = SplitHostPortDefault("[::1]", "", "123")
  28. So(host, ShouldEqual, "::1")
  29. So(port, ShouldEqual, "123")
  30. host, port = SplitHostPortDefault("::1:123", "", "")
  31. So(host, ShouldEqual, "::1")
  32. So(port, ShouldEqual, "123")
  33. host, port = SplitHostPortDefault("::1", "", "123")
  34. So(host, ShouldEqual, "::1")
  35. So(port, ShouldEqual, "123")
  36. host, port = SplitHostPortDefault(":456", "1.2.3.4", "")
  37. So(host, ShouldEqual, "1.2.3.4")
  38. So(port, ShouldEqual, "456")
  39. host, port = SplitHostPortDefault("xyz.rds.amazonaws.com", "", "123")
  40. So(host, ShouldEqual, "xyz.rds.amazonaws.com")
  41. So(port, ShouldEqual, "123")
  42. host, port = SplitHostPortDefault("xyz.rds.amazonaws.com:123", "", "")
  43. So(host, ShouldEqual, "xyz.rds.amazonaws.com")
  44. So(port, ShouldEqual, "123")
  45. })
  46. }
  47. func TestSplitHostPort(t *testing.T) {
  48. Convey("Test split ip address to host and port", t, func() {
  49. host, port := SplitHostPort("192.168.0.140:456")
  50. So(host, ShouldEqual, "192.168.0.140")
  51. So(port, ShouldEqual, "456")
  52. host, port = SplitHostPort("192.168.0.140")
  53. So(host, ShouldEqual, "192.168.0.140")
  54. So(port, ShouldEqual, "")
  55. host, port = SplitHostPort("[::1:456]")
  56. So(host, ShouldEqual, "::1")
  57. So(port, ShouldEqual, "456")
  58. host, port = SplitHostPort("[::1]")
  59. So(host, ShouldEqual, "::1")
  60. So(port, ShouldEqual, "")
  61. host, port = SplitHostPort("::1:123")
  62. So(host, ShouldEqual, "::1")
  63. So(port, ShouldEqual, "123")
  64. host, port = SplitHostPort("::1")
  65. So(host, ShouldEqual, "::1")
  66. So(port, ShouldEqual, "")
  67. host, port = SplitHostPort(":456")
  68. So(host, ShouldEqual, "")
  69. So(port, ShouldEqual, "456")
  70. host, port = SplitHostPort("xyz.rds.amazonaws.com")
  71. So(host, ShouldEqual, "xyz.rds.amazonaws.com")
  72. So(port, ShouldEqual, "")
  73. host, port = SplitHostPort("xyz.rds.amazonaws.com:123")
  74. So(host, ShouldEqual, "xyz.rds.amazonaws.com")
  75. So(port, ShouldEqual, "123")
  76. })
  77. }