It("should return nil", func() { _, err := factory.FindLink("some-device-name") Expect(err).To(Equal(errors.New("not found"))) }) }) }) Describe("Exists", func() { Context("when a link is found", func() { BeforeEach(func() { netlinker.LinkByNameReturns(&netlink.Vxlan{VxlanId: 41}, nil) }) It("returns true", func() { Expect(factory.Exists("some-device-name")).To(BeTrue()) Expect(netlinker.LinkByNameCallCount()).To(Equal(1)) Expect(netlinker.LinkByNameArgsForCall(0)).To(Equal("some-device-name")) }) }) Context("when link by name returns an error", func() { BeforeEach(func() { netlinker.LinkByNameReturns(nil, errors.New("not found")) }) It("returns false", func() { Expect(factory.Exists("some-device-name")).To(BeFalse()) Expect(netlinker.LinkByNameCallCount()).To(Equal(1)) Expect(netlinker.LinkByNameArgsForCall(0)).To(Equal("some-device-name")) }) })