BeforeEach(func() { fs = fakesys.NewFakeFileSystem() runner = fakesys.NewFakeCmdRunner() uuidGen = &fakeuuid.FakeGenerator{} configPath = filepath.Join("/etc/", "blobstore-fake-provider.json") blobstore = NewExternalBlobstore("fake-provider", map[string]interface{}{}, fs, runner, uuidGen, configPath) }) Describe("Validate", func() { It("external validate writes config file", func() { options := map[string]interface{}{"fake-key": "fake-value"} blobstore := NewExternalBlobstore("fake-provider", options, fs, runner, uuidGen, configPath) runner.CommandExistsValue = true err := blobstore.Validate() Expect(err).ToNot(HaveOccurred()) s3CliConfig, err := fs.ReadFileString(configPath) Expect(err).ToNot(HaveOccurred()) expectedJSON := map[string]string{"fake-key": "fake-value"} boshassert.MatchesJSONString(GinkgoT(), expectedJSON, s3CliConfig) }) It("external validate errors when command not in path", func() { options := map[string]interface{}{} blobstore := NewExternalBlobstore("fake-provider", options, fs, runner, uuidGen, configPath)