Expect(err).NotTo(HaveOccurred()) }) It("should preferentially select the driver in the first directory", func() { _, err := syncer.Discover(logger) Expect(err).ToNot(HaveOccurred()) _, _, _, specFileName := fakeDriverFactory.DriverArgsForCall(0) Expect(specFileName).To(Equal(driverName + ".json")) }) }) }) Context("when given a driver spec not in canonical form", func() { var ( fakeRemoteClientFactory *voldriverfakes.FakeRemoteClientFactory driverFactory vollocal.DriverFactory fakeDriver *voldriverfakes.FakeDriver driverSyncer vollocal.DriverSyncer ) JustBeforeEach(func() { fakeRemoteClientFactory = new(voldriverfakes.FakeRemoteClientFactory) driverFactory = vollocal.NewDriverFactoryWithRemoteClientFactory(fakeRemoteClientFactory) driverSyncer = vollocal.NewDriverSyncerWithDriverFactory(logger, nil, []string{defaultPluginsDirectory}, time.Second*60, clock.NewClock(), driverFactory) }) TestCanonicalization := func(context, actual, it, expected string) { Context(context, func() { BeforeEach(func() { err := voldriver.WriteDriverSpec(logger, defaultPluginsDirectory, driverName, "spec", []byte(actual)) Expect(err).NotTo(HaveOccurred()) })
"code.cloudfoundry.org/volman/vollocal" ) var _ = Describe("DriverFactory", func() { var ( testLogger lager.Logger driverName string ) BeforeEach(func() { testLogger = lagertest.NewTestLogger("ClientTest") }) Context("when a valid driver spec is discovered", func() { var ( fakeRemoteClientFactory *voldriverfakes.FakeRemoteClientFactory localDriver *voldriverfakes.FakeDriver driver voldriver.Driver driverFactory vollocal.DriverFactory ) BeforeEach(func() { driverName = "some-driver-name" fakeRemoteClientFactory = new(voldriverfakes.FakeRemoteClientFactory) localDriver = new(voldriverfakes.FakeDriver) fakeRemoteClientFactory.NewRemoteClientReturns(localDriver, nil) driverFactory = vollocal.NewDriverFactoryWithRemoteClientFactory(fakeRemoteClientFactory) }) Context("when a json driver spec is discovered", func() { BeforeEach(func() { err := voldriver.WriteDriverSpec(testLogger, defaultPluginsDirectory, driverName, "json", []byte("{\"Addr\":\"http://0.0.0.0:8080\"}")) Expect(err).NotTo(HaveOccurred())