keepAliveProducerProduces :: Spec
keepAliveProducerProduces = it "keep alive producer produces" $ do
      let stream = Stream (Topic "keepAliveProducerProduces") (Partition 0)
          (testProducer, testConsumer) = coupledProducerConsumer stream
          message = Message "keepAliveProducerProduces"
      result <- newEmptyMVar

      p <- keepAliveProducer testProducer
      produce p [message]
      recordMatching testConsumer message result

      waitFor result message (killSocket' p)
keepAliveProducerProduces :: Spec
keepAliveProducerProduces = it "keep alive producer produces" $ do
      let stream = Stream (Topic "keepAliveProducerProduces") (Partition 0)
          (testProducer, testConsumer) = coupledProducerConsumer stream
          message = Message "keepAliveProducerProduces"
      result <- newEmptyMVar

      p <- keepAliveProducer testProducer
      produce p [message]
      recordMatching testConsumer message result

      waitFor result message (killSocket' p)
keepAliveProducerProduces = it "keep alive producer produces" $ do
      let stream = Stream (Topic "keepAliveProducerProduces") (Partition 0)
          (testProducer, testConsumer) = coupledProducerConsumer stream
          message = Message "keepAliveProducerProduces"
      result <- newEmptyMVar

      p <- keepAliveProducer testProducer
      produce p [message]
      recordMatching testConsumer message result

      waitFor result message (killSocket' p)