func TestRaftJoinWithIncorrectAddress(t *testing.T) { t.Parallel() nodes := make(map[uint64]*raftutils.TestNode) var clockSource *fakeclock.FakeClock nodes[1], clockSource = raftutils.NewInitNode(t, tc, nil) defer raftutils.ShutdownNode(nodes[1]) // Try joining a new node with an incorrect address n := raftutils.NewNode(t, clockSource, tc, raft.NodeOptions{JoinAddr: nodes[1].Address, Addr: "1.2.3.4:1234"}) defer raftutils.CleanupNonRunningNode(n) err := n.JoinAndStart(context.Background()) assert.NotNil(t, err) assert.Contains(t, grpc.ErrorDesc(err), "could not connect to prospective new cluster member using its advertised address") // Check if first node still has only itself registered in the memberlist assert.Len(t, nodes[1].GetMemberlist(), 1) }
func TestRaftJoinWithIncorrectAddress(t *testing.T) { t.Parallel() nodes := make(map[uint64]*raftutils.TestNode) var clockSource *fakeclock.FakeClock nodes[1], clockSource = raftutils.NewInitNode(t, tc, nil) defer raftutils.ShutdownNode(nodes[1]) // Try joining a new node with an incorrect address n := raftutils.NewNode(t, clockSource, tc, raft.NewNodeOptions{JoinAddr: nodes[1].Address, Addr: "1.2.3.4:1234"}) defer raftutils.CleanupNonRunningNode(n) err := n.JoinAndStart() assert.NotNil(t, err) assert.Equal(t, grpc.ErrorDesc(err), raft.ErrHealthCheckFailure.Error()) // Check if first node still has only itself registered in the memberlist assert.Equal(t, len(nodes[1].GetMemberlist()), 1) }