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: false, QuotaSize: 0, }, ) Expect(err).ToNot(HaveOccurred()) Expect(fakeCake.CreateCallCount()).To(Equal(1)) id, parent, containerID := fakeCake.CreateArgsForCall(0) Expect(id).To(Equal(layercake.ContainerID("some-id"))) Expect(parent).To(Equal(layercake.DockerImageID("some-image-id"))) Expect(containerID).To(Equal("some-id")) Expect(mountpoint).To(Equal("/some/graph/driver/mount/point")) Expect(envvars).To(Equal( []string{ "env1=env1value", "env2=env2value", }, )) }) })
} cake.IsLeafReturns(true, nil) }) AfterEach(func() { Expect(os.RemoveAll(parentDir)).To(Succeed()) Expect(os.RemoveAll(namespacedChildDir)).To(Succeed()) Expect(os.RemoveAll(otherNamespacedChildDir)).To(Succeed()) }) Context("when the image ID is not namespaced", func() { It("should delegate to the cake", func() { cake.CreateReturns(testError) Expect(aufsCake.Create(childID, parentID, "potato")).To(Equal(testError)) Expect(cake.CreateCallCount()).To(Equal(1)) cid, iid, containerID := cake.CreateArgsForCall(0) Expect(cid).To(Equal(childID)) Expect(iid).To(Equal(parentID)) Expect(containerID).To(Equal("potato")) }) }) Context("when the image ID is namespaced", func() { It("should delegate to the cake but with an empty parent", func() { cake.CreateReturns(testError) Expect(aufsCake.Create(namespacedChildID, parentID, "")).To(Equal(testError)) Expect(cake.CreateCallCount()).To(Equal(1)) cid, iid, _ := cake.CreateArgsForCall(0) Expect(cid).To(Equal(namespacedChildID)) Expect(iid.GraphID()).To(BeEmpty())