Example #1
0
				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,
			}))
		})