Fix tests, brinng back host configurator test thing
This commit is contained in:
parent
9c6f5aa1fc
commit
3637ce9b58
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Reference in a new issue