1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
package transfer
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestPicksFirstDatanode(t *testing.T) {
df := newDatanodeFailover([]string{"foo:6000", "bar:6000"})
assert.EqualValues(t, df.next(), "foo:6000")
}
func TestPicksDatanodesWithoutFailures(t *testing.T) {
df := newDatanodeFailover([]string{"foo:6000", "foo:7000", "bar:6000"})
datanodeFailures["foo:6000"] = time.Now()
assert.EqualValues(t, df.next(), "foo:7000")
}
func TestPicksDatanodesWithOldestFailures(t *testing.T) {
df := newDatanodeFailover([]string{"foo:6000", "bar:6000"})
datanodeFailures["foo:6000"] = time.Now().Add(-10 * time.Minute)
datanodeFailures["bar:6000"] = time.Now()
assert.EqualValues(t, df.next(), "foo:6000")
}
|