Fix tests, brinng back host configurator test thing

This commit is contained in:
Connor Rigby 2017-12-12 17:39:23 -08:00
parent 9c6f5aa1fc
commit 3637ce9b58
4 changed files with 48 additions and 57 deletions

View file

@ -89,27 +89,30 @@ defmodule Farmbot.System do
@doc "Format an error for human consumption."
def format_reason(reason) do
[_ | [_ | stack]] = System.stacktrace()
stack = Enum.map(stack, fn er -> "\t#{inspect(er)}" end) |> Enum.join(",\r\n <p>")
formated = do_format_reason(reason)
footer = """
<hr>
<p>
<p>
<p> <strong> environment: </strong> #{@env}
<p> <strong> source_ref: </strong> #{@ref}
<p> <strong> target: </strong> #{@target}
<p>
<p>
Stacktrace:
<p> [#{stack}]
<hr>
"""
case formated do
nil -> nil
{:ignore, reason} -> {:ignore, reason}
formatted when is_binary(formatted) -> formated <> footer
end
raise "deleteme"
rescue
_e -> [_ | [_ | stack]] = System.stacktrace()
stack = Enum.map(stack, fn er -> "\t#{inspect(er)}" end) |> Enum.join(",\r\n <p>")
formated = do_format_reason(reason)
footer = """
<hr>
<p>
<p>
<p> <strong> environment: </strong> #{@env}
<p> <strong> source_ref: </strong> #{@ref}
<p> <strong> target: </strong> #{@target}
<p>
<p>
Stacktrace:
<p> [#{stack}]
<hr>
"""
case formated do
nil -> nil
{:ignore, reason} -> {:ignore, reason}
formatted when is_binary(formatted) -> formated <> footer
end
end
# This mess of pattern matches cleans up erlang startup errors. It's very

View file

@ -13,21 +13,36 @@ defmodule Farmbot.Host.TargetConfiguratorTest do
plug(:match)
plug(:dispatch)
use Farmbot.Logger
alias Farmbot.System.ConfigStorage
@version Mix.Project.config[:version]
@data_path Application.get_env(:farmbot, :data_path)
get "/" do
last_reset_reason_file = Path.join(@data_path, "last_shutdown_reason")
if File.exists?(last_reset_reason_file) do
render_page(conn, "index", [last_reset_reason: File.read!(last_reset_reason_file)])
render_page(conn, "index", [version: @version, last_reset_reason: File.read!(last_reset_reason_file)])
else
render_page(conn, "index", [last_reset_reason: nil])
render_page(conn, "index", [version: @version, last_reset_reason: nil])
end
end
get "/setup" do
last_reset_reason_file = Path.join(@data_path, "last_shutdown_reason")
if File.exists?(last_reset_reason_file) do
render_page(conn, "index", [version: @version, last_reset_reason: File.read!(last_reset_reason_file)])
else
render_page(conn, "index", [version: @version, last_reset_reason: nil])
end
end
get "/network" do
render_page(conn, "network", [interfaces: []])
render_page(conn, "network", interfaces: [
{"fake_wireless_iface0", %{type: :wireless, ssids: ["not", "a", "real", "ssid", "list"], checked: "checked"}},
{"fake_wired_iface1", %{type: :wired, checked: nil}}
])
end
get "/firmware" do
@ -42,17 +57,8 @@ defmodule Farmbot.Host.TargetConfiguratorTest do
render_page(conn, "credentials", server: server, email: email, password: pass)
end
post "/configure_network" do
redir(conn, "/firmware")
end
get "/finish" do
render_page(conn, "finish")
end
post "/configure_firmware" do
Process.sleep(15000)
redir(conn, "/credentials")
send_resp(conn, 200, "bye")
end
post "/configure_credentials" do

View file

@ -11,17 +11,11 @@ defmodule Farmbot.Host.TargetConfiguratorTest.Supervisor do
:http,
Farmbot.Host.TargetConfiguratorTest,
[],
port: 4000,
acceptors: 3,
dispatch: [dispatch()]
)]
supervise(children, [strategy: :one_for_one])
end
port: 4040,
acceptors: 3
)
]
defp dispatch do
{:_, [
{"/ws", SocketHandler, []},
{:_, Plug.Adapters.Cowboy.Handler, {Farmbot.Host.TargetConfiguratorTest, []}}
]}
supervise(children, strategy: :one_for_one)
end
end

View file

@ -40,18 +40,6 @@ defmodule Farmbot.CeleryScript.AST.Node.ConfigUpdateTest do
refute ConfigStorage.get_config_value(:bool, "settings", "auto_sync")
end
test "sets arduino hardware to a valid settings", %{env: env} do
ConfigUpdate.execute(%{package: :farmbot_os}, pair("firmware_hardware", "arduino"), env)
|> assert_cs_success()
assert ConfigStorage.get_config_value(:string, "settings", "firmware_hardware") == "arduino"
ConfigUpdate.execute(%{package: :farmbot_os}, pair("firmware_hardware", "farmduino"), env)
|> assert_cs_success()
assert ConfigStorage.get_config_value(:string, "settings", "firmware_hardware") == "farmduino"
end
test "can not set arduino hardware to unknown setting", %{env: env} do
ConfigUpdate.execute(%{package: :farmbot_os}, pair("firmware_hardware", "whoops"), env)
|> assert_cs_fail("unknown hardware: whoops")