func initEnv() {
	err := os.RemoveAll(TestDataDir)
	if err != nil {
		panic(err)
	}
}
start with no file and join cluster
package server
import (
	"bytes"
	"io/ioutil"
	"math/rand"
	"net/http"
	"testing"
	"github.com/stretchr/testify/require"
	"go.uber.org/atomic"
	"github.com/flike/kingbus/mysql"
	"time"
	"fmt"
	"os"
	"path"
	"encoding/json"
	"github.com/coreos/etcd/pkg/types"
	"github.com/flike/kingbus/config"
	"github.com/flike/kingbus/log"
	"github.com/flike/kingbus/storage"
	"github.com/flike/kingbus/utils"
	"github.com/satori/go.uuid"
)
const letterArray = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
const (
	nodeNamePrefix = "node_"
	TestDataDir    = "/tmp/kingbus/data"
	TestSyncerDir  = "/tmp/kingbus/syncer"
	TempLogDir     = "/tmp/kingbus/log"
)
func TestSyncAdminURL(t *testing.T) {
	var httpResp utils.Resp
	cluster := StartClusterInTest()
	defer StopClusterInTest(cluster)
	require.Equal(t, 3, len(cluster))
	time.Sleep(time.Second)
	resp, err := http.Get("http://127.0.0.1:9591/members")
	require.Nil(t, err)
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	require.Nil(t, err)
	d := json.NewDecoder(bytes.NewReader(body))
	d.UseNumber()
	err = d.Decode(&httpResp)
	require.Nil(t, err)
	require.Equal(t, "success", httpResp.Message)
	members, ok := httpResp.Data.([]interface{})
	require.Equal(t, true, ok)
	for i := 0; i < len(members); i++ {
		member, ok := members[i].(map[string]interface{})
		require.Equal(t, true, ok)
		t.Logf("Id:%s,peerURLs:%s,name:%s,adminURLs:%s", member["Id"],
			member["peerURLs"], member["name"], member["adminURLs"])
	}
}