neighChan = make(chan *watcher.Neigh, 100)
		doneChan = make(chan struct{})
		logger = lagertest.NewTestLogger("test")
		targetNS = &fakes.Namespace{}
		targetNS.ExecuteStub = func(callback func(*os.File) error) error {
			return callback(nil)
		}

		mySubscriber = &subscriber.Subscriber{
			Netlinker: fakeNetlinker,
			Logger:    logger,
		}

		fakeNetlinker.SubscribeReturns(fakeSocket, nil)
		fakeSocket.ReceiveReturns([]syscall.NetlinkMessage{{Data: []byte("something")}}, nil)
		fakeNetlinker.NeighDeserializeReturns(&netlink.Neigh{}, nil)
	})

	It("subscribes in the sandbox namespace", func() {
		targetNS.ExecuteStub = func(callback func(*os.File) error) error {
			defer GinkgoRecover()
			Expect(fakeNetlinker.SubscribeCallCount()).To(Equal(0))
			err := callback(nil)
			Expect(fakeNetlinker.SubscribeCallCount()).To(Equal(1))
			return err
		}

		err := mySubscriber.Subscribe(targetNS, neighChan, doneChan)
		Expect(err).NotTo(HaveOccurred())

		Expect(targetNS.ExecuteCallCount()).To(Equal(1))