}
	})

	It("uses the link factory to create the veth pair", func() {
		err := createVeth.Execute(context)
		Expect(err).NotTo(HaveOccurred())

		name, peerName, mtu := linkFactory.CreateVethArgsForCall(0)
		Expect(name).To(Equal("if-name"))
		Expect(peerName).To(Equal("peer-if-name"))
		Expect(mtu).To(Equal(99))
	})

	Context("when creating the link fails", func() {
		BeforeEach(func() {
			linkFactory.CreateVethReturns(errors.New("welp"))
		})

		It("wraps and propogates the error", func() {
			err := createVeth.Execute(context)
			Expect(err).To(MatchError("create veth: welp"))
		})
	})

	Describe("String", func() {
		It("is self describing", func() {
			Expect(createVeth.String()).To(Equal("ip link add dev if-name mtu 99 type veth peer name peer-if-name mtu 99"))
		})
	})
})