ip_test.go 962 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package util
  2. import (
  3. "testing"
  4. . "github.com/smartystreets/goconvey/convey"
  5. )
  6. func TestSplitIPPort(t *testing.T) {
  7. Convey("When parsing an IPv4 without explicit port", t, func() {
  8. ip, port, err := SplitIPPort("1.2.3.4", "5678")
  9. So(err, ShouldEqual, nil)
  10. So(ip, ShouldEqual, "1.2.3.4")
  11. So(port, ShouldEqual, "5678")
  12. })
  13. Convey("When parsing an IPv6 without explicit port", t, func() {
  14. ip, port, err := SplitIPPort("::1", "5678")
  15. So(err, ShouldEqual, nil)
  16. So(ip, ShouldEqual, "::1")
  17. So(port, ShouldEqual, "5678")
  18. })
  19. Convey("When parsing an IPv4 with explicit port", t, func() {
  20. ip, port, err := SplitIPPort("1.2.3.4:56", "78")
  21. So(err, ShouldEqual, nil)
  22. So(ip, ShouldEqual, "1.2.3.4")
  23. So(port, ShouldEqual, "56")
  24. })
  25. Convey("When parsing an IPv6 with explicit port", t, func() {
  26. ip, port, err := SplitIPPort("[::1]:56", "78")
  27. So(err, ShouldEqual, nil)
  28. So(ip, ShouldEqual, "::1")
  29. So(port, ShouldEqual, "56")
  30. })
  31. }