基于serf的数据库同步模块库
chenshijun
2019-08-06 954aef5b16c944b0f27e03ccaafb1748b62f0d48
agent_test.go
@@ -14,28 +14,39 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package serf
package syncdb
import (
   "context"
   "fmt"
   "github.com/hashicorp/serf/serf"
   "testing"
   "time"
   "github.com/hashicorp/serf/serf"
)
func TestAgent(t *testing.T) {
   conf := DefaultConfig()
   conf.ClusterID = "testCluster"
   conf.NodeName = "testnode"
   agent, err := Create(conf)
   if err != nil {
      t.Errorf("create agent failed, error: %s", err)
   }
   fmt.Println("LocalMember1:", agent.LocalMember())
   agent.Start(context.Background())
   <- agent.readyCh
   //<- agent.readyCh
   go func() {
      agent.ShutdownCh()
   }()
   time.Sleep(time.Second)
   fmt.Println("LocalMember2:", agent.LocalMember())
   fmt.Println("ClusterID:", agent.conf.ClusterID)
   fmt.Println("NodeName:", agent.conf.NodeName)
   err = agent.UserEvent("test", []byte("test"), true)
   if err != nil {
@@ -46,13 +57,15 @@
   if err != nil {
      t.Errorf("query for other node failed, error: %s", err)
   }
   agent.LocalMember()
   fmt.Println("LocalMember:", agent.LocalMember())
   //agent.LocalMember()
   agent.Member("testnode")
   mb := agent.Member("testnode")
   fmt.Println("mb:", mb)
   agent.SerfConfig()
   _, err = agent.Join([]string{"127.0.0.1:9999"}, true)
   _, err = agent.Join([]string{"192.168.1.123:5000"}, true)
   if err != nil {
      t.Logf("join to other node failed, error: %s", err)
   }
@@ -72,3 +85,5 @@
      t.Errorf("angent shutdown failed, error: %s", err)
   }
}