})

	Context("when getting the sandbox from the sandbox repository fails", func() {
		BeforeEach(func() {
			sandboxRepo.GetReturns(nil, errors.New("lime"))
		})

		It("returns a meaningful error", func() {
			err := startDNS.Execute(context)
			Expect(err).To(MatchError("get sandbox: lime"))
		})
	})

	Context("when launching the DNS server on the sandbox returns an error", func() {
		BeforeEach(func() {
			sbox.LaunchDNSReturns(errors.New("bergamot"))
		})

		It("returns a meaningful error", func() {
			err := startDNS.Execute(context)
			Expect(err).To(MatchError("sandbox launch dns: bergamot"))
		})
	})

	Describe("String", func() {
		It("returns a human readable representation", func() {
			Expect(startDNS.String()).To(Equal("start dns server in sandbox some-sandbox-name"))
		})
	})
})