}) Describe("WaitToBeRunning", func() { var invocations int BeforeEach(func() { responses := []struct { state biagentclient.AgentState err error }{ {biagentclient.AgentState{JobState: "pending"}, nil}, {biagentclient.AgentState{JobState: "pending"}, nil}, {biagentclient.AgentState{JobState: "running"}, nil}, } fakeAgentClient.GetStateStub = func() (biagentclient.AgentState, error) { i := responses[invocations] invocations++ return i.state, i.err } }) It("waits until agent reports state as running", func() { err := vm.WaitToBeRunning(5, 0) Expect(err).ToNot(HaveOccurred()) Expect(invocations).To(Equal(3)) }) }) Describe("AttachDisk", func() { var disk *fakebidisk.FakeDisk BeforeEach(func() {