52 lines
1.0 KiB
Erlang
52 lines
1.0 KiB
Erlang
-module(ip2region_test_util).
|
|
|
|
-export([
|
|
repo_root/0,
|
|
v6_xdb_path/0,
|
|
default_db_config/0,
|
|
reset_app/0,
|
|
load_app/0,
|
|
set_db_config/1,
|
|
start_app/0,
|
|
start_app/1,
|
|
stop_app/0
|
|
]).
|
|
|
|
repo_root() ->
|
|
TestDir = filename:dirname(?FILE),
|
|
ErlangDir = filename:dirname(TestDir),
|
|
BindingDir = filename:dirname(ErlangDir),
|
|
filename:dirname(BindingDir).
|
|
|
|
v6_xdb_path() ->
|
|
filename:join([repo_root(), "data", "ip2region_v6.xdb"]).
|
|
|
|
default_db_config() ->
|
|
[
|
|
{ipv4, "ip2region.xdb"},
|
|
{ipv6, v6_xdb_path()}
|
|
].
|
|
|
|
reset_app() ->
|
|
try application:stop(ip2region) catch _:_ -> ok end,
|
|
try application:unload(ip2region) catch _:_ -> ok end,
|
|
ok.
|
|
|
|
load_app() ->
|
|
ok = application:load(ip2region).
|
|
|
|
set_db_config(Config) ->
|
|
ok = application:set_env(ip2region, db, Config).
|
|
|
|
start_app() ->
|
|
start_app(default_db_config()).
|
|
|
|
start_app(Config) ->
|
|
reset_app(),
|
|
load_app(),
|
|
set_db_config(Config),
|
|
application:ensure_all_started(ip2region).
|
|
|
|
stop_app() ->
|
|
application:stop(ip2region).
|