}) }) }) Context("when the namespace parameter is true", func() { Context("and the image has not been translated yet", func() { var ( mountpoint string envvars []string ) JustBeforeEach(func() { fakeCake.GetReturns(nil, errors.New("no image here")) fakeCake.PathStub = func(id layercake.ID) (string, error) { return "/mount/point/" + id.GraphID(), nil } fakeNamespacer.CacheKeyReturns("jam") var err error mountpoint, envvars, err = provider.Create( lagertest.NewTestLogger("test"), "some-id", &repository_fetcher.Image{ ImageID: "some-image-id", Env: []string{"env1=env1value", "env2=env2value"}, }, rootfs_provider.Spec{ Namespaced: true, QuotaSize: 0,
Expect(err).NotTo(HaveOccurred()) namespacedChildDir, err = ioutil.TempDir("", "namespaced-child-layer") Expect(err).NotTo(HaveOccurred()) otherNamespacedChildDir, err = ioutil.TempDir("", "other-namespaced-child-layer") Expect(err).NotTo(HaveOccurred()) cake.PathStub = func(id layercake.ID) (string, error) { if id == parentID { return parentDir, nil } if id == namespacedChildID { return namespacedChildDir, nil } if id == otherNamespacedChildID { return otherNamespacedChildDir, nil } return "", nil } cake.IsLeafReturns(true, nil) }) AfterEach(func() { Expect(os.RemoveAll(parentDir)).To(Succeed()) Expect(os.RemoveAll(namespacedChildDir)).To(Succeed()) Expect(os.RemoveAll(otherNamespacedChildDir)).To(Succeed())