embedded-redis
embedded-redis copied to clipboard
redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream
It does not seem possible to start and stop the embedded redis database within separate, isolated unit tests that implement redislabs' Spark Redis.
The second unit test below fails with: redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream
import com.holdenkarau.spark.testing.SharedSparkContext
import com.redislabs.provider.redis.{RedisConfig, RedisEndpoint}
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.{BeforeAndAfterEach, FlatSpec, Matchers}
import redis.embedded.RedisServer
@RunWith(classOf[JUnitRunner])
class RedisSpec extends FlatSpec with SharedSparkContext with BeforeAndAfterEach with Matchers {
"first test" should "connect and close redis" in {
val redisEmbedded = new RedisServer(6379)
redisEmbedded.start()
val redisConfig = new RedisConfig(new RedisEndpoint("localhost", 6379))
redisEmbedded.stop()
}
"second test" should "also connect and close redis" in {
val redisEmbedded = new RedisServer(6379)
redisEmbedded.start()
// fails here:
val redisConfig = new RedisConfig(new RedisEndpoint("localhost", 6379))
redisEmbedded.stop()
}
}
This issue is also captured here for similar contexts: https://github.com/kstyrc/embedded-redis/issues/31 http://stackoverflow.com/questions/28737107/redis-clients-jedis-exceptions-jedisconnectionexception-unexpected-end-of-strea