|
|
package cluster
import ( "github.com/chrislusf/seaweedfs/weed/pb" "github.com/stretchr/testify/assert" "testing" )
func TestClusterAddRemoveNodes(t *testing.T) { c := NewCluster()
c.AddClusterNode("filer", pb.ServerAddress("111:1"), "23.45") c.AddClusterNode("filer", pb.ServerAddress("111:2"), "23.45") assert.Equal(t, []pb.ServerAddress{ pb.ServerAddress("111:1"), pb.ServerAddress("111:2"), }, c.filerLeaders.GetLeaders())
c.AddClusterNode("filer", pb.ServerAddress("111:3"), "23.45") c.AddClusterNode("filer", pb.ServerAddress("111:4"), "23.45") assert.Equal(t, []pb.ServerAddress{ pb.ServerAddress("111:1"), pb.ServerAddress("111:2"), pb.ServerAddress("111:3"), }, c.filerLeaders.GetLeaders())
c.AddClusterNode("filer", pb.ServerAddress("111:5"), "23.45") c.AddClusterNode("filer", pb.ServerAddress("111:6"), "23.45") c.RemoveClusterNode("filer", pb.ServerAddress("111:4")) assert.Equal(t, []pb.ServerAddress{ pb.ServerAddress("111:1"), pb.ServerAddress("111:2"), pb.ServerAddress("111:3"), }, c.filerLeaders.GetLeaders())
// remove oldest
c.RemoveClusterNode("filer", pb.ServerAddress("111:1")) assert.Equal(t, []pb.ServerAddress{ pb.ServerAddress("111:6"), pb.ServerAddress("111:2"), pb.ServerAddress("111:3"), }, c.filerLeaders.GetLeaders())
// remove oldest
c.RemoveClusterNode("filer", pb.ServerAddress("111:1"))
}
|