err := agentClient.DeleteARPEntries(ips) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("bad request")) }) }) }) Describe("RunScript", func() { It("sends a run_script message to the agent", func() { // run_script fakeHTTPClient.SetPostBehavior(`{"value":{"agent_task_id":"fake-agent-task-id","state":"running"}}`, 200, nil) // get_task fakeHTTPClient.SetPostBehavior(`{"value":{}}`, 200, nil) err := agentClient.RunScript("the-script", map[string]interface{}{}) Expect(err).ToNot(HaveOccurred()) Expect(fakeHTTPClient.PostInputs).To(HaveLen(2)) Expect(fakeHTTPClient.PostInputs[0].Endpoint).To(Equal(agentEndpoint)) var request AgentRequestMessage err = json.Unmarshal(fakeHTTPClient.PostInputs[0].Payload, &request) Expect(err).ToNot(HaveOccurred()) Expect(request).To(Equal(AgentRequestMessage{ Method: "run_script", Arguments: []interface{}{"the-script", map[string]interface{}{}}, ReplyTo: replyToAddress, })) })