util_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package util
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. )
  6. func TestRandId(t *testing.T) {
  7. assert := assert.New(t)
  8. id, err := RandId()
  9. assert.NoError(err)
  10. t.Log(id)
  11. assert.Equal(16, len(id))
  12. }
  13. func TestGetAuthKey(t *testing.T) {
  14. assert := assert.New(t)
  15. key := GetAuthKey("1234", 1488720000)
  16. t.Log(key)
  17. assert.Equal("6df41a43725f0c770fd56379e12acf8c", key)
  18. }
  19. func TestGetPortRanges(t *testing.T) {
  20. assert := assert.New(t)
  21. rangesStr := "2000-3000,3001,4000-50000"
  22. expect := [][2]int64{
  23. [2]int64{2000, 3000},
  24. [2]int64{3001, 3001},
  25. [2]int64{4000, 50000},
  26. }
  27. actual, err := GetPortRanges(rangesStr)
  28. assert.Nil(err)
  29. t.Log(actual)
  30. assert.Equal(expect, actual)
  31. }
  32. func TestContainsPort(t *testing.T) {
  33. assert := assert.New(t)
  34. rangesStr := "2000-3000,3001,4000-50000"
  35. portRanges, err := GetPortRanges(rangesStr)
  36. assert.Nil(err)
  37. type Case struct {
  38. Port int64
  39. Answer bool
  40. }
  41. cases := []Case{
  42. Case{
  43. Port: 3001,
  44. Answer: true,
  45. },
  46. Case{
  47. Port: 3002,
  48. Answer: false,
  49. },
  50. Case{
  51. Port: 44444,
  52. Answer: true,
  53. },
  54. }
  55. for _, elem := range cases {
  56. ok := ContainsPort(portRanges, elem.Port)
  57. assert.Equal(elem.Answer, ok)
  58. }
  59. }
  60. func TestPortRangesCut(t *testing.T) {
  61. assert := assert.New(t)
  62. rangesStr := "2000-3000,3001,4000-50000"
  63. portRanges, err := GetPortRanges(rangesStr)
  64. assert.Nil(err)
  65. expect := [][2]int64{
  66. [2]int64{2000, 3000},
  67. [2]int64{3001, 3001},
  68. [2]int64{4000, 44443},
  69. [2]int64{44445, 50000},
  70. }
  71. actual := PortRangesCut(portRanges, 44444)
  72. t.Log(actual)
  73. assert.Equal(expect, actual)
  74. }