github.com/schwarzm/garden-linux@v0.0.0-20150507151835-33bca2147c47/integration/lifecycle/grace_time_test.go (about) 1 package lifecycle_test 2 3 import ( 4 "github.com/cloudfoundry-incubator/garden" 5 . "github.com/onsi/ginkgo" 6 . "github.com/onsi/gomega" 7 ) 8 9 var _ = Describe("A container with a grace time", func() { 10 var container garden.Container 11 12 BeforeEach(func() { 13 client = startGarden("--containerGraceTime", "3s") 14 15 var err error 16 17 container, err = client.Create(garden.ContainerSpec{}) 18 Expect(err).ToNot(HaveOccurred()) 19 }) 20 21 Context("when a request takes longer than the grace time", func() { 22 It("is not destroyed after the request is over", func() { 23 process, err := container.Run(garden.ProcessSpec{ 24 Path: "sleep", 25 Args: []string{"5"}, 26 }, garden.ProcessIO{}) 27 Expect(err).ToNot(HaveOccurred()) 28 29 Expect(process.Wait()).To(Equal(0)) 30 31 _, err = container.Info() 32 Expect(err).ToNot(HaveOccurred()) 33 }) 34 }) 35 36 Context("when no requests are made for longer than the grace time", func() { 37 It("is destroyed", func() { 38 Eventually(func() error { 39 _, err := client.Lookup(container.Handle()) 40 return err 41 }, 10, 1).Should(HaveOccurred()) 42 }) 43 }) 44 })