mirror of https://github.com/milvus-io/milvus.git
Add unittest to function util
Signed-off-by: dragondriver <jiquan.long@zilliz.com>pull/4973/head^2
parent
c10b36f188
commit
6796c7bfe7
|
@ -0,0 +1,43 @@
|
|||
package funcutil
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestCheckPortAvailable(t *testing.T) {
|
||||
num := 10
|
||||
|
||||
for i := 0; i < num; i++ {
|
||||
port := GetAvailablePort()
|
||||
assert.Equal(t, CheckPortAvailable(port), true)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseIndexParamsMap(t *testing.T) {
|
||||
num := 10
|
||||
keys := make([]string, 0)
|
||||
values := make([]string, 0)
|
||||
params := make(map[string]string)
|
||||
|
||||
for i := 0; i < num; i++ {
|
||||
keys = append(keys, "key"+strconv.Itoa(i))
|
||||
values = append(values, "value"+strconv.Itoa(i))
|
||||
params[keys[i]] = values[i]
|
||||
}
|
||||
|
||||
paramsBytes, err := json.Marshal(params)
|
||||
assert.Equal(t, err, nil)
|
||||
paramsStr := string(paramsBytes)
|
||||
|
||||
parsedParams, err := ParseIndexParamsMap(paramsStr)
|
||||
assert.Equal(t, err, nil)
|
||||
assert.Equal(t, parsedParams, params)
|
||||
|
||||
invalidStr := "invalid string"
|
||||
_, err = ParseIndexParamsMap(invalidStr)
|
||||
assert.NotEqual(t, err, nil)
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package retry
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestImpl(t *testing.T) {
|
||||
attempts := 10
|
||||
sleep := time.Millisecond * 1
|
||||
maxSleepTime := time.Millisecond * 16
|
||||
|
||||
var err error
|
||||
|
||||
naiveF := func() error {
|
||||
return nil
|
||||
}
|
||||
err = Impl(attempts, sleep, naiveF, maxSleepTime)
|
||||
assert.Equal(t, err, nil)
|
||||
|
||||
errorF := func() error {
|
||||
return errors.New("errorF")
|
||||
}
|
||||
err = Impl(attempts, sleep, errorF, maxSleepTime)
|
||||
assert.NotEqual(t, err, nil)
|
||||
|
||||
begin := 0
|
||||
stop := 2
|
||||
interruptF := func() error {
|
||||
if begin >= stop {
|
||||
return NoRetryError(errors.New("interrupt here"))
|
||||
}
|
||||
begin++
|
||||
return errors.New("interruptF")
|
||||
}
|
||||
err = Impl(attempts, sleep, interruptF, maxSleepTime)
|
||||
assert.NotEqual(t, err, nil)
|
||||
|
||||
begin = 0
|
||||
stop = attempts / 2
|
||||
untilSucceedF := func() error {
|
||||
if begin >= stop {
|
||||
return nil
|
||||
}
|
||||
begin++
|
||||
return errors.New("untilSucceedF")
|
||||
}
|
||||
err = Impl(attempts, sleep, untilSucceedF, maxSleepTime)
|
||||
assert.Equal(t, err, nil)
|
||||
|
||||
begin = 0
|
||||
stop = attempts * 2
|
||||
noRetryF := func() error {
|
||||
if begin >= stop {
|
||||
return nil
|
||||
}
|
||||
begin++
|
||||
return errors.New("noRetryF")
|
||||
}
|
||||
err = Impl(attempts, sleep, noRetryF, maxSleepTime)
|
||||
assert.NotEqual(t, err, nil)
|
||||
}
|
Loading…
Reference in New Issue