Expect(err.Error()).To(ContainSubstring("connection reset by peer 3")) }) }) }) Describe("MountDisk", func() { Context("when agent responds with a value", func() { BeforeEach(func() { fakeHTTPClient.SetPostBehavior(`{"value":{"agent_task_id":"fake-agent-task-id","state":"running"}}`, 200, nil) fakeHTTPClient.SetPostBehavior(`{"value":{"agent_task_id":"fake-agent-task-id","state":"running"}}`, 200, nil) fakeHTTPClient.SetPostBehavior(`{"value":{"agent_task_id":"fake-agent-task-id","state":"running"}}`, 200, nil) fakeHTTPClient.SetPostBehavior(`{"value":{}}`, 200, nil) }) It("makes a POST request to the endpoint", func() { err := agentClient.MountDisk("fake-disk-cid") Expect(err).ToNot(HaveOccurred()) Expect(fakeHTTPClient.PostInputs).To(HaveLen(4)) Expect(fakeHTTPClient.PostInputs[0].Endpoint).To(Equal("http://localhost:6305/agent")) var request AgentRequestMessage err = json.Unmarshal(fakeHTTPClient.PostInputs[0].Payload, &request) Expect(err).ToNot(HaveOccurred()) Expect(request).To(Equal(AgentRequestMessage{ Method: "mount_disk", Arguments: []interface{}{"fake-disk-cid"}, ReplyTo: "fake-uuid", })) })