}, }, }, } BeforeEach(func() { By("create the container to handle the HTTPGet hook request.") newPod := podClient.CreateSync(podHandleHookRequest) targetIP = newPod.Status.PodIP }) testPodWithHttpHook := func(podWithHook *v1.Pod) { By("create the pod with lifecycle hook") podClient.CreateSync(podWithHook) if podWithHook.Spec.Containers[0].Lifecycle.PostStart != nil { By("check poststart hook") Eventually(func() error { return podClient.MatchContainerOutput(podHandleHookRequest.Name, podHandleHookRequest.Spec.Containers[0].Name, `GET /echo\?msg=poststart`) }, postStartWaitTimeout, podCheckInterval).Should(BeNil()) } By("delete the pod with lifecycle hook") podClient.DeleteSync(podWithHook.Name, v1.NewDeleteOptions(15), podWaitTimeout) if podWithHook.Spec.Containers[0].Lifecycle.PreStop != nil { By("check prestop hook") Eventually(func() error { return podClient.MatchContainerOutput(podHandleHookRequest.Name, podHandleHookRequest.Spec.Containers[0].Name, `GET /echo\?msg=prestop`) }, preStopWaitTimeout, podCheckInterval).Should(BeNil()) } } It("should execute poststart http hook properly [Conformance]", func() { podWithHook := &v1.Pod{ ObjectMeta: v1.ObjectMeta{