t2_server_query_elixir/test/t2_server_query_test.exs

94 lines
2.5 KiB
Elixir
Raw Normal View History

2021-10-06 21:55:39 +00:00
defmodule T2ServerQueryTest do
use ExUnit.Case, async: true
2021-10-07 20:06:22 +00:00
# doctest T2ServerQuery
2021-10-06 21:55:39 +00:00
test "Gracefully handle timeouts and unreachable servers" do
# We know this query is going to timeout, so lets not wait around :)
timeout = 250
port = Enum.random(28_000..28_999)
2021-10-07 20:06:22 +00:00
{:error, result} = T2ServerQuery.query("127.0.0.1", port, timeout)
2021-10-06 21:55:39 +00:00
|> T2ServerQuery.log
assert result.server_status == :offline
assert result.server_description == "Host unreachable, timed out."
assert result.server_name == "127.0.0.1:#{port}"
end
test "Live test a number of Tribes 2 servers" do
tasks = [
Task.async(T2ServerQuery, :query, ["35.239.88.241", 28_000]),
2022-04-13 18:52:16 +00:00
Task.async(T2ServerQuery, :query, ["148.170.171.67"])
2021-10-06 21:55:39 +00:00
]
2021-10-13 17:05:50 +00:00
Task.yield_many(tasks)
2022-04-13 18:52:16 +00:00
|> Enum.each(fn {_task, result} ->
case result do
{:ok, _ } -> assert true
{:error, _} -> assert false
_ -> assert false
end
2021-10-06 21:55:39 +00:00
end)
end
2022-04-13 18:52:16 +00:00
test "Invalid IP" do
{:error, result} = T2ServerQuery.query("fake.ip")
|> T2ServerQuery.log
assert result.server_status == :offline
assert result.server_name == "fake.ip - Invalid IP"
2021-10-06 21:55:39 +00:00
end
2022-04-13 18:52:16 +00:00
2021-10-06 21:55:39 +00:00
end
2022-04-13 18:52:16 +00:00
2021-10-07 20:06:22 +00:00
#qry_test = T2ServerQuery.query("127.0.0.1")
2021-10-06 21:55:39 +00:00
#IO.inspect qry_test
2021-10-07 20:06:22 +00:00
#qry_test2 = T2ServerQuery.query("35.239.88.241")
2021-10-06 21:55:39 +00:00
#IO.inspect qry_test2
# tasks = [
2021-10-07 20:06:22 +00:00
# Task.async(T2ServerQuery, :query, ["127.0.0.1"]),
# Task.async(T2ServerQuery, :query, ["35.239.88.241"]),
# Task.async(T2ServerQuery, :query, ["97.99.172.12", 28001]),
# Task.async(T2ServerQuery, :query, ["67.222.138.13"]),
# Task.async(T2ServerQuery, :query, ["91.55.51.94"]),
2021-10-06 21:55:39 +00:00
# ]
# IO.inspect Task.yield_many(tasks)
2021-10-07 20:06:22 +00:00
# task0 = Task.async(T2ServerQuery, :query, ["127.0.0.1"])
# task1 = Task.async(T2ServerQuery, :query, ["35.239.88.241"])
# task2 = Task.async(T2ServerQuery, :query, ["97.99.172.12", 28001])
# task3 = Task.async(T2ServerQuery, :query, ["67.222.138.13"])
# task4 = Task.async(T2ServerQuery, :query, ["91.55.51.94"])
2021-10-06 21:55:39 +00:00
# # res4 = Task.await(task4)
# # IO.inspect res4.server_name
# res0 = Task.await(task0)
# res1 = Task.await(task1)
# res2 = Task.await(task2)
# res3 = Task.await(task3)
# res4 = Task.await(task4)
# IO.inspect res1.server_name
# IO.inspect res2.server_name
# IO.inspect res3.server_name
# IO.inspect res4.server_name
2021-10-07 20:06:22 +00:00
# T2ServerQuery.query("35.239.88.241")
# T2ServerQuery.query("97.99.172.12", 28001)
# T2ServerQuery.query("67.222.138.13")
# T2ServerQuery.query("91.55.51.94")