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",
					},
				))
			})
		})

		Context("when the quota is positive", func() {
Beispiel #2
0
			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())
			})