JustBeforeEach(func() {
			logMessages, errors = cnsmr.TailingLogs(appGuid, authToken)
		})

		It("resets the attempt counter after a successful connection", func(done Done) {
			defer close(done)

			fakeHandler.InputChan <- marshalMessage(createMessage("message 1", 0))
			Eventually(logMessages).Should(Receive())

			fakeHandler.Close()
			expectedErrorCount := 4
			for i := 0; i < expectedErrorCount; i++ {
				Eventually(errors, time.Second).Should(Receive())
			}
			fakeHandler.Reset()

			fakeHandler.InputChan <- marshalMessage(createMessage("message 2", 0))

			Eventually(logMessages).Should(Receive())

			fakeHandler.Close()
			for i := uint(0); i < retries; i++ {
				Eventually(errors, time.Second).Should(Receive())
			}
		}, 20)

		Context("with multiple connections", func() {
			var (
				moreLogMessages <-chan *events.LogMessage
				moreErrors      <-chan error