Ejemplo n.º 1
0
						Expect(err).To(HaveOccurred())
						Expect(err.Error()).To(ContainSubstring("fake-unmonitor-error"))
						Expect(value).To(Equal(0))
					})
				})
			})

			Context("when current agent spec does not have a job spec template", func() {
				It("returns 0 and does not run drain script", func() {
					specService.Spec = boshas.V1ApplySpec{}

					value, err := act()
					Expect(err).ToNot(HaveOccurred())
					Expect(value).To(Equal(0))

					Expect(jobScriptProvider.NewDrainScriptCallCount()).To(Equal(0))
				})
			})
		})

		Context("when drain shutdown is requested", func() {
			act := func() (int, error) { return action.Run(DrainTypeShutdown) }

			Context("when current agent has a job spec template", func() {
				var (
					currentSpec boshas.V1ApplySpec
				)

				BeforeEach(func() {
					currentSpec = boshas.V1ApplySpec{}
					addJobTemplate(&currentSpec.JobSpec, "foo")