Describe("MonitorJobFailures", func() { It("monitors job status", func() { dummyNats.MonitorJobFailures(func(boshalert.MonitAlert) error { return nil }) Expect(handler.RegisteredAdditionalHandlerFunc).ToNot(BeNil()) }) }) Describe("Status", func() { BeforeEach(func() { dummyNats.MonitorJobFailures(func(boshalert.MonitAlert) error { return nil }) }) It("returns the received status", func() { statusMessage := boshhandler.NewRequest("", "set_dummy_status", []byte(`{"status":"failing"}`)) handler.RegisteredAdditionalHandlerFunc(statusMessage) Expect(dummyNats.Status()).To(Equal("failing")) }) It("returns running as a default value", func() { Expect(dummyNats.Status()).To(Equal("running")) }) It("does not change the status given other messages", func() { statusMessage := boshhandler.NewRequest("", "some_other_message", []byte(`{"status":"failing"}`)) handler.RegisteredAdditionalHandlerFunc(statusMessage) Expect(dummyNats.Status()).To(Equal("running")) }) }) })