Example #1
0
					succeedingRunner.WhenRunning(fake_command_runner.CommandSpec{}, func(cmd *exec.Cmd) error {
						return nil
					})
				})

				It("should unmount the parentID", func() {
					aufsCake.Runner = succeedingRunner
					Expect(aufsCake.Create(namespacedChildID, parentID, "")).To(Succeed())
					Expect(cake.UnmountCallCount()).To(Equal(1))
					Expect(cake.UnmountArgsForCall(0)).To(Equal(parentID))
				})

				It("should only unmount the parentID after mounting it", func() {
					cake.UnmountStub = func(id layercake.ID) error {
						Expect(cake.PathCallCount()).Should(BeNumerically(">", 0))
						Expect(cake.PathArgsForCall(0)).To(Equal(parentID))
						return nil
					}
					aufsCake.Runner = succeedingRunner
					Expect(aufsCake.Create(namespacedChildID, parentID, "")).To(Succeed())

				})

				It("should only unmount the parentID after we copy the parent directory", func() {
					runCallCount := 0
					cake.UnmountStub = func(id layercake.ID) error {
						Expect(runCallCount).To(Equal(1))
						return nil
					}

					fakeRunner := fake_command_runner.New()