diff options
Diffstat (limited to 'test/farside_test.exs')
| -rw-r--r-- | test/farside_test.exs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/farside_test.exs b/test/farside_test.exs index 0673fc4..6347691 100644 --- a/test/farside_test.exs +++ b/test/farside_test.exs @@ -1,4 +1,6 @@ defmodule FarsideTest do + @services_json Application.fetch_env!(:farside, :services_json) + use ExUnit.Case use Plug.Test @@ -15,4 +17,40 @@ defmodule FarsideTest do assert conn.state == :sent assert conn.status == 200 end + + test "/ping" do + conn = + :get + |> conn("/ping", "") + |> Router.call(@opts) + + assert conn.state == :sent + assert conn.status == 200 + assert conn.resp_body == "PONG" + end + + test "/:service" do + {:ok, file} = File.read(@services_json) + {:ok, service_list} = Poison.decode(file, as: [%{}]) + + service_names = + Enum.map( + service_list, + fn service -> service["type"] end + ) + + IO.puts("") + + Enum.map(service_names, fn service_name -> + IO.puts("/#{service_name}") + + conn = + :get + |> conn("/#{service_name}", "") + |> Router.call(@opts) + + assert conn.state == :set + assert conn.status == 302 + end) + end end |
