Пример #1
0
				err = os.Symlink(tmp, symlinkDir)
				Expect(err).NotTo(HaveOccurred())

				Expect(os.MkdirAll(path.Join(tmp, "a", "test"), 0700)).To(Succeed())
				Expect(ioutil.WriteFile(path.Join(tmp, "a", "test", "file"), []byte(""), 0700)).To(Succeed())

				_, _, _, err = fetcher.Fetch(logger, &url.URL{Path: symlinkDir}, "", 0)
				Expect(err).NotTo(HaveOccurred())
			})
		})

		Context("when the path does not exist", func() {
			It("returns a reasonable error", func() {
				_, _, _, err := fetcher.Fetch(logger, &url.URL{Path: "does-not-exist"}, "", 0)
				Expect(err).To(HaveOccurred())
			})

			It("doesn't try to register anything in the graph", func() {
				fetcher.Fetch(logger, &url.URL{Path: "does-not-exist"}, "", 0)
				Expect(fakeCake.RegisterCallCount()).To(Equal(0))
			})
		})
	})
})

type UnderscoreIDer struct{}

func (UnderscoreIDer) ProvideID(path string) layercake.ID {
	return layercake.DockerImageID(strings.Replace(path, "/", "_", -1))
}