util_test.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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 TestRandIDWithRandLen(t *testing.T) {
  14. tests := []struct {
  15. name string
  16. start int
  17. end int
  18. expectErr bool
  19. }{
  20. {
  21. name: "start and end are equal",
  22. start: 5,
  23. end: 5,
  24. expectErr: true,
  25. },
  26. {
  27. name: "start is less than end",
  28. start: 5,
  29. end: 10,
  30. expectErr: false,
  31. },
  32. {
  33. name: "start is greater than end",
  34. start: 10,
  35. end: 5,
  36. expectErr: true,
  37. },
  38. }
  39. for _, tt := range tests {
  40. t.Run(tt.name, func(t *testing.T) {
  41. assert := assert.New(t)
  42. id, err := RandIDWithRandLen(tt.start, tt.end)
  43. if tt.expectErr {
  44. assert.Error(err)
  45. } else {
  46. assert.NoError(err)
  47. assert.GreaterOrEqual(len(id), tt.start)
  48. assert.Less(len(id), tt.end)
  49. }
  50. })
  51. }
  52. }
  53. func TestGetAuthKey(t *testing.T) {
  54. assert := assert.New(t)
  55. key := GetAuthKey("1234", 1488720000)
  56. assert.Equal("6df41a43725f0c770fd56379e12acf8c", key)
  57. }
  58. func TestParseRangeNumbers(t *testing.T) {
  59. assert := assert.New(t)
  60. numbers, err := ParseRangeNumbers("2-5")
  61. if assert.NoError(err) {
  62. assert.Equal([]int64{2, 3, 4, 5}, numbers)
  63. }
  64. numbers, err = ParseRangeNumbers("1")
  65. if assert.NoError(err) {
  66. assert.Equal([]int64{1}, numbers)
  67. }
  68. numbers, err = ParseRangeNumbers("3-5,8")
  69. if assert.NoError(err) {
  70. assert.Equal([]int64{3, 4, 5, 8}, numbers)
  71. }
  72. numbers, err = ParseRangeNumbers(" 3-5,8, 10-12 ")
  73. if assert.NoError(err) {
  74. assert.Equal([]int64{3, 4, 5, 8, 10, 11, 12}, numbers)
  75. }
  76. _, err = ParseRangeNumbers("3-a")
  77. assert.Error(err)
  78. }