context.LinkFactoryReturns(linkFactory)

		linkExists = conditions.LinkExists{
			Name: "my-interface",
		}
	})

	Context("when the link exists", func() {
		BeforeEach(func() {
			linkFactory.ExistsReturns(true)
		})

		It("returns true", func() {
			Expect(linkExists.Satisfied(context)).To(BeTrue())
			Expect(linkFactory.ExistsCallCount()).To(Equal(1))
			Expect(linkFactory.ExistsArgsForCall(0)).To(Equal("my-interface"))
		})
	})

	Context("when the link does not exist", func() {
		BeforeEach(func() {
			linkFactory.ExistsReturns(false)
		})

		It("returns false", func() {
			Expect(linkExists.Satisfied(context)).To(BeFalse())
			Expect(linkFactory.ExistsCallCount()).To(Equal(1))
			Expect(linkFactory.ExistsArgsForCall(0)).To(Equal("my-interface"))
		})
	})
			It("wraps and returns the error", func() {
				err := cleanupSandboxCommand.Execute(context)
				Expect(err).To(MatchError("sandbox destroy: potato"))
			})
		})

		Context("when there is an error destroying vxlan device", func() {
			BeforeEach(func() {
				linkFactory.DeleteLinkByNameReturns(errors.New("some-error"))
			})

			It("checks if the link still exists", func() {
				cleanupSandboxCommand.Execute(context)
				Expect(linkFactory.ExistsCallCount()).To(Equal(1))

				linkName := linkFactory.ExistsArgsForCall(0)
				Expect(linkName).To(Equal(cleanupSandboxCommand.VxlanDeviceName))
			})

			Context("when the link no longer exists", func() {
				BeforeEach(func() {
					linkFactory.ExistsReturns(false)
				})

				It("returns without an error", func() {
					err := cleanupSandboxCommand.Execute(context)
					Expect(err).NotTo(HaveOccurred())
				})
			})

			Context("when the link still exists", func() {