Expect(err).To(MatchError("veth device count: tomato"))
			})
		})
	})

	Describe("Teardown", func() {
		It("tears down the sandbox", func() {
			err := sb.Teardown()
			Expect(err).NotTo(HaveOccurred())
		})

		It("stops the arp miss monitor", func() {
			err := sb.Teardown()
			Expect(err).NotTo(HaveOccurred())

			Expect(watcher.StopMonitorCallCount()).To(Equal(1))
			targetNS := watcher.StopMonitorArgsForCall(0)
			Expect(targetNS).To(Equal(sbNamespace))
		})

		Context("when the DNS server has been launched", func() {
			var process *fakes.Process

			BeforeEach(func() {
				process = &fakes.Process{}
				invoker.InvokeReturns(process)

				runner := &fakes.Runner{}
				err := sb.LaunchDNS(runner)
				Expect(err).NotTo(HaveOccurred())
			})