package main import ( "testing" "time" ) func TestConnection(t *testing.T) { // TestConnection tests the connection to the server localPool := NewGrainLocalPool(100, time.Minute, func(id CartId) (*CartGrain, error) { return &CartGrain{ Id: id, storageMessages: []Message{}, Items: []CartItem{}, TotalPrice: 0, }, nil }) pool, err := NewSyncedPool(localPool, "localhost", nil) if err != nil { t.Errorf("Error creating pool: %v", err) } err = pool.AddRemote("localhost") if err != nil { t.Errorf("Error adding remote: %v", err) } allHosts, err := pool.Negotiate([]string{"kalle", "pelle"}) if err != nil { t.Errorf("Error negotiating: %v", err) } if len(allHosts) != 1 { t.Errorf("Expected 1 host, got %d", len(allHosts)) } }