})
			})
		})

		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,
Exemplo n.º 2
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())