func TestStart(t *testing.T) { defer provision.SetDetector(&provision.StandardDetector{}) provision.SetDetector(&provision.FakeDetector{ Provisioner: provision.NewNetstatProvisioner(), }) host := &Host{ Driver: &fakedriver.Driver{ MockState: state.Stopped, }, } if err := host.Start(); err != nil { t.Fatalf("Expected no error but got one: %s", err) } }
func TestRunActionForeachMachine(t *testing.T) { defer provision.SetDetector(&provision.StandardDetector{}) provision.SetDetector(&provision.FakeDetector{ Provisioner: provision.NewNetstatProvisioner(), }) // Assume a bunch of machines in randomly started or // stopped states. machines := []*host.Host{ { Name: "foo", DriverName: "fakedriver", Driver: &fakedriver.Driver{ MockState: state.Running, }, }, { Name: "bar", DriverName: "fakedriver", Driver: &fakedriver.Driver{ MockState: state.Stopped, }, }, { Name: "baz", // Ssh, don't tell anyone but this // driver only _thinks_ it's named // virtualbox... (to test serial actions) // It's actually FakeDriver! DriverName: "virtualbox", Driver: &fakedriver.Driver{ MockState: state.Stopped, }, }, { Name: "spam", DriverName: "virtualbox", Driver: &fakedriver.Driver{ MockState: state.Running, }, }, { Name: "eggs", DriverName: "fakedriver", Driver: &fakedriver.Driver{ MockState: state.Stopped, }, }, { Name: "ham", DriverName: "fakedriver", Driver: &fakedriver.Driver{ MockState: state.Running, }, }, } runActionForeachMachine("start", machines) for _, machine := range machines { machineState, _ := machine.Driver.GetState() assert.Equal(t, state.Running, machineState) } runActionForeachMachine("stop", machines) for _, machine := range machines { machineState, _ := machine.Driver.GetState() assert.Equal(t, state.Stopped, machineState) } }