Expect(err).ToNot(HaveOccurred())

		Expect(socketConnector.ConnectCallCount()).To(Equal(1))

		socketMessage := socketConnector.ConnectArgsForCall(0)
		Expect(socketMessage.Data).To(Equal(json.RawMessage(payload)))
	})

	Describe("Signalling", func() {
		var (
			signalSent syscall.Signal
		)

		Context("when signalling is enabled", func() {
			BeforeEach(func() {
				response.Pid = 12
				process.ReadSignals = true

				socketConnector.ConnectReturns(response, nil)
				Expect(process.Start()).To(Succeed())
			})

			JustBeforeEach(func() {
				data, err := json.Marshal(&link.SignalMsg{Signal: signalSent})
				Expect(err).ToNot(HaveOccurred())
				signalWriter.Write(data)
			})

			Context("when sending a KILL signal", func() {
				BeforeEach(func() {
					signalSent = syscall.SIGKILL