net_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright 2015 go-swagger maintainers
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. package swag
  15. import (
  16. "testing"
  17. "github.com/stretchr/testify/assert"
  18. )
  19. func TestSplitHostPort(t *testing.T) {
  20. data := []struct {
  21. Input string
  22. Host string
  23. Port int
  24. Err bool
  25. }{
  26. {"localhost:3933", "localhost", 3933, false},
  27. {"localhost:yellow", "", -1, true},
  28. {"localhost", "", -1, true},
  29. {"localhost:", "", -1, true},
  30. {"localhost:3933", "localhost", 3933, false},
  31. }
  32. for _, e := range data {
  33. h, p, err := SplitHostPort(e.Input)
  34. if (!e.Err && assert.NoError(t, err)) || (e.Err && assert.Error(t, err)) {
  35. assert.Equal(t, e.Host, h)
  36. assert.Equal(t, e.Port, p)
  37. }
  38. }
  39. }