Packages
exq
0.8.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/metadata_test.exs
defmodule MetadataTest do
use ExUnit.Case
alias Exq.Worker.Metadata
@job %{args: [1, 2, 3]}
setup do
{:ok, _} = Metadata.start_link(%{})
{:ok, metadata: Metadata.server_name(nil)}
end
test "associate job to worker pid", %{metadata: metadata} do
pid = spawn_link(fn ->
receive do
:fetch_and_quit ->
assert Exq.worker_job() == @job
:ok
end
end)
assert Metadata.associate(metadata, pid, @job) == :ok
assert Metadata.lookup(metadata, pid) == @job
assert Exq.worker_job(Exq, pid) == @job
send(pid, :fetch_and_quit)
Process.sleep(50)
assert_raise ArgumentError, fn ->
Metadata.lookup(metadata, pid)
end
end
test "custom name" do
{:ok, _} = Metadata.start_link(%{name: ExqTest})
pid = spawn_link(fn ->
receive do
:fetch_and_quit ->
assert Exq.worker_job(ExqTest) == @job
:ok
end
end)
assert Metadata.associate(Metadata.server_name(ExqTest), pid, @job) == :ok
assert Exq.worker_job(ExqTest, pid) == @job
send(pid, :fetch_and_quit)
Process.sleep(50)
end
end