func testSyncWithMount(mountID ID, wd, remotePath string) (s *Sync, m Mount, err error) { opts := SyncOpts{ ClientFunc: func(ID) (client.Client, error) { return testutil.NewClient(), nil }, WorkDir: wd, } s, err = NewSync(opts) if err != nil { return nil, Mount{}, err } // Add new mount. m = Mount{ Path: "some/path", RemotePath: remotePath, } return s, m, s.Add(mountID, m) }
func TestCreateBalance(t *testing.T) { var ( client = testutil.NewClient() builder = testutil.NewBuilder(client) id = machine.ID("serv") ) g, err := New(testOptions(builder)) if err != nil { t.Fatalf("want err = nil; got %v", err) } defer g.Close() req := &CreateRequest{ Addresses: map[machine.ID][]machine.Addr{ id: {testutil.TurnOffAddr()}, }, } if _, err := g.Create(req); err != nil { t.Fatalf("want err = nil; got %v", err) } if err := builder.WaitForBuild(time.Second); err != nil { t.Fatalf("want err = nil; got %v", err) } // Create with empty addresses should remove previously added machine. if _, err := g.Create(&CreateRequest{}); err != nil { t.Fatalf("want err = nil; got %v", err) } // Client context should be closed. if err := testutil.WaitForContextClose(client.Context(), time.Second); err != nil { t.Fatalf("want err = nil; got %v", err) } }