summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBen Busby <noreply+git@benbusby.com>2021-11-10 11:47:03 -0700
committerBen Busby <noreply+git@benbusby.com>2021-11-10 11:47:03 -0700
commitf33279c41b17545bfbe7c0f9baa5d1b49c814a30 (patch)
tree561f58830eb7f4552e28b65696876f4998b69252 /test
parent2189c9ddcaa3bda8117550e2dc2bc531f793e910 (diff)
downloadfarside-f33279c41b17545bfbe7c0f9baa5d1b49c814a30.tar.gz
Test for valid service redirects
Updates testing to iterate through all available services and validate that each one correctly produces a 302 redirect.
Diffstat (limited to 'test')
-rw-r--r--test/farside_test.exs38
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