JustBeforeEach(func() {
				moreLogMessages, moreErrors = cnsmr.TailingLogs(appGuid, authToken)
			})

			It("closes all channels", func() {
				cnsmr.Close()
				Eventually(logMessages).Should(BeClosed())
				Eventually(errors).Should(BeClosed())
				Eventually(moreLogMessages).Should(BeClosed())
				Eventually(moreErrors).Should(BeClosed())
			})
		})

		Context("with a failing handler", func() {
			BeforeEach(func() {
				fakeHandler.Fail = true
			})

			It("attempts to connect five times", func() {

				fakeHandler.Close()

				for i := uint(0); i < retries; i++ {
					Eventually(errors).Should(Receive())
				}
			})

			It("waits 500ms before reconnecting", func() {
				fakeHandler.Close()

				start := time.Now()