Current section

Files

Jump to
roger_ui test router_test.exs
Raw

test/router_test.exs

defmodule RogerUi.Web.RouterTest do
use ExUnit.Case
use Plug.Test
alias RogerUi.Web.RouterPlug.Router
test "index page" do
conn = :get
|> conn("/")
|> Router.call([])
assert conn.status == 200
end
test "get nodes" do
conn = :get
|> conn("/api/nodes")
|> Router.call([])
assert conn.status == 200
json = Poison.decode!(conn.resp_body)
assert Map.has_key?(json, "nodes")
end
test "get jobs" do
conn = :get
|> conn("/api/jobs/roger_ui_test_partition/default")
|> Router.call([])
assert conn.status == 200
json = Poison.decode!(conn.resp_body)
~w(queued_jobs running_jobs roger_now)
|> Enum.each(&(assert Map.has_key?(json, &1)))
end
test "pause queue" do
conn = :put
|> conn("/api/queues/pause/roger_ui_test_partition/default")
|> Router.call([])
assert conn.status == 204
end
test "resume queue" do
conn = :put
|> conn("/api/queues/resume/roger_ui_test_partition/default")
|> Router.call([])
assert conn.status == 204
end
test "purge queue" do
conn = :delete
|> conn("api/queues/roger_ui_test_partition/default")
|> Router.call([])
assert conn.status == 204
end
test "cancel job" do
conn = :delete
|> conn("api/jobs/roger_ui_test_partition/y887llhnhnh")
|> Router.call([])
assert conn.status == 204
end
test "get all queues paginated" do
conn = :get
|> conn("/api/queues/10/1")
|> Router.call([])
assert conn.status == 200
json = Poison.decode!(conn.resp_body)
assert Enum.count(json["queues"]) == 10
assert json["total"] == 12
conn = :get
|> conn("/api/queues/10/2")
|> Router.call([])
json = Poison.decode!(conn.resp_body)
assert Enum.count(json["queues"]) == 2
end
test "get all queues paginated and filtered" do
conn = :get
|> conn("/api/queues/10/1/fast")
|> Router.call([])
assert conn.status == 200
json = Poison.decode!(conn.resp_body)
assert Enum.count(json["queues"]) == 4
end
end