Packages
exq
0.13.5
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.2
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.1
0.9.0
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.2
Exq is a job processing library compatible with Resque / Sidekiq for the Elixir language.
Current section
Files
Jump to
Current section
Files
test/readonly_reconnect_test.exs
defmodule ReadonlyReconnectTest do
use ExUnit.Case
import ExqTestUtil
setup do
Process.flag(:trap_exit, true)
{:ok, redis} = Redix.start_link(host: "127.0.0.1", port: 6556)
Process.register(redis, :testredis)
on_exit(fn ->
wait()
TestRedis.teardown()
end)
{:ok, redis: redis}
end
test "disconnect on read-only errors with single command", %{redis: redis} do
Exq.Redis.Connection.q(:testredis, ["SET", "key", "value"])
assert_received({:EXIT, pid, :killed})
assert redis == pid
end
test "disconnect on read-only errors with command pipeline", %{redis: redis} do
Exq.Redis.Connection.qp(:testredis, [["GET", "key"], ["SET", "key", "value"]])
assert_received({:EXIT, pid, :killed})
assert redis == pid
end
test "disconnect on read-only errors with command pipeline returning values", %{redis: redis} do
Exq.Redis.Connection.qp!(:testredis, [["GET", "key"], ["SET", "key", "value"]])
assert_received({:EXIT, pid, :killed})
assert redis == pid
end
test "pass through other errors" do
assert {:error, %Redix.Error{}} = Exq.Redis.Connection.q(:testredis, ["GETS", "key"])
assert {:ok, [%Redix.Error{}]} = Exq.Redis.Connection.qp(:testredis, [["GETS", "key"]])
end
end