1
0
Fork 0

Test node-join on the cluster service

master
Philip O'Toole 10 months ago
parent f7ab671b15
commit 92dd85240c

@ -449,6 +449,55 @@ func Test_ServiceRemoveNode(t *testing.T) {
}
}
func Test_ServiceJoinNode(t *testing.T) {
ln, mux := mustNewMux()
go mux.Serve()
tn := mux.Listen(1) // Could be any byte value.
db := mustNewMockDatabase()
mgr := mustNewMockManager()
cred := mustNewMockCredentialStore()
s := New(tn, db, mgr, cred)
if s == nil {
t.Fatalf("failed to create cluster service")
}
c := NewClient(mustNewDialer(1, false, false), 30*time.Second)
if err := s.Open(); err != nil {
t.Fatalf("failed to open cluster service: %s", err.Error())
}
expNodeAddr := "test-node-addr"
called := false
mgr.joinFn = func(jr *command.JoinRequest) error {
called = true
if jr.Address != expNodeAddr {
t.Fatalf("node address is wrong, exp: %s, got %s", expNodeAddr, jr.Address)
}
return nil
}
req := &command.JoinRequest{
Address: expNodeAddr,
}
err := c.Join(req, s.Addr(), longWait)
if err != nil {
t.Fatalf("failed to join node: %s", err.Error())
}
if !called {
t.Fatal("JoinNode not called on manager")
}
// Clean up resources
if err := ln.Close(); err != nil {
t.Fatalf("failed to close Mux's listener: %s", err)
}
if err := s.Close(); err != nil {
t.Fatalf("failed to close cluster service")
}
}
// Test_BinaryEncoding_Backwards ensures that software earlier than v6.6.2
// can communicate with v6.6.2+ releases. v6.6.2 increased the maximum size
// of cluster responses.

Loading…
Cancel
Save