test: update eunit tests
This commit is contained in:
parent
9915c85b0b
commit
2e35024df1
|
@ -78,8 +78,6 @@
|
||||||
{<<"is_superuser">>, atom}
|
{<<"is_superuser">>, atom}
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-elvis([{elvis_style, nesting_level, disable}]).
|
|
||||||
|
|
||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
%% Mnesia bootstrap
|
%% Mnesia bootstrap
|
||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
|
@ -177,7 +175,9 @@ import_users({PasswordType, Filename, FileData}, State) ->
|
||||||
Convertor = convertor(PasswordType, State),
|
Convertor = convertor(PasswordType, State),
|
||||||
try
|
try
|
||||||
{_NewUsersCnt, Users} = parse_import_users(Filename, FileData, Convertor),
|
{_NewUsersCnt, Users} = parse_import_users(Filename, FileData, Convertor),
|
||||||
case do_import_users(Users) of
|
case length(Users) > 0 andalso do_import_users(Users) of
|
||||||
|
false ->
|
||||||
|
error(empty_users);
|
||||||
ok ->
|
ok ->
|
||||||
ok;
|
ok;
|
||||||
{error, Reason} ->
|
{error, Reason} ->
|
||||||
|
|
|
@ -251,6 +251,30 @@ t_import_users(_) ->
|
||||||
sample_filename_and_data(<<"user-credentials-malformed.csv">>),
|
sample_filename_and_data(<<"user-credentials-malformed.csv">>),
|
||||||
State
|
State
|
||||||
)
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
?assertEqual(
|
||||||
|
{error, empty_users},
|
||||||
|
emqx_authn_mnesia:import_users(
|
||||||
|
{hash, <<"empty_users.json">>, <<"[]">>},
|
||||||
|
State
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
?assertEqual(
|
||||||
|
{error, empty_users},
|
||||||
|
emqx_authn_mnesia:import_users(
|
||||||
|
{hash, <<"empty_users.csv">>, <<>>},
|
||||||
|
State
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
?assertEqual(
|
||||||
|
{error, empty_users},
|
||||||
|
emqx_authn_mnesia:import_users(
|
||||||
|
{hash, prepared_user_list, []},
|
||||||
|
State
|
||||||
|
)
|
||||||
).
|
).
|
||||||
|
|
||||||
t_import_users_plain(_) ->
|
t_import_users_plain(_) ->
|
||||||
|
|
|
@ -50,6 +50,8 @@
|
||||||
|
|
||||||
-dialyzer(no_improper_lists).
|
-dialyzer(no_improper_lists).
|
||||||
|
|
||||||
|
-elvis([{elvis_style, nesting_level, disable}]).
|
||||||
|
|
||||||
%%
|
%%
|
||||||
|
|
||||||
%% @doc Make a stream that produces no values.
|
%% @doc Make a stream that produces no values.
|
||||||
|
@ -189,8 +191,8 @@ csv(Bin) when is_binary(Bin) ->
|
||||||
case get_csv_header(CSVData) of
|
case get_csv_header(CSVData) of
|
||||||
{ok, CSVHeaders, CSVLines} ->
|
{ok, CSVHeaders, CSVLines} ->
|
||||||
fun() -> Reader(CSVHeaders, CSVLines) end;
|
fun() -> Reader(CSVHeaders, CSVLines) end;
|
||||||
{error, Reason} ->
|
error ->
|
||||||
error(Reason)
|
empty()
|
||||||
end.
|
end.
|
||||||
|
|
||||||
csv_data(Data) ->
|
csv_data(Data) ->
|
||||||
|
@ -203,7 +205,7 @@ get_csv_header(CSV) ->
|
||||||
Seq = binary:split(Line, [<<",">>, <<" ">>, <<"\n">>], [global, trim_all]),
|
Seq = binary:split(Line, [<<",">>, <<" ">>, <<"\n">>], [global, trim_all]),
|
||||||
{ok, Seq, NewCSV};
|
{ok, Seq, NewCSV};
|
||||||
eof ->
|
eof ->
|
||||||
{error, empty_file}
|
error
|
||||||
end.
|
end.
|
||||||
|
|
||||||
csv_read_line({csv_data, [Line | Lines]}) ->
|
csv_read_line({csv_data, [Line | Lines]}) ->
|
||||||
|
|
|
@ -82,3 +82,25 @@ mqueue_test() ->
|
||||||
[1, 42, 2],
|
[1, 42, 2],
|
||||||
emqx_utils_stream:consume(emqx_utils_stream:mqueue(400))
|
emqx_utils_stream:consume(emqx_utils_stream:mqueue(400))
|
||||||
).
|
).
|
||||||
|
|
||||||
|
csv_test() ->
|
||||||
|
Data = <<"h1,h2,h3\r\nv1,v2,v3\r\nv4,v5,v6">>,
|
||||||
|
?assertEqual(
|
||||||
|
[
|
||||||
|
#{<<"h1">> => <<"v1">>, <<"h2">> => <<"v2">>, <<"h3">> => <<"v3">>},
|
||||||
|
#{<<"h1">> => <<"v4">>, <<"h2">> => <<"v5">>, <<"h3">> => <<"v6">>}
|
||||||
|
],
|
||||||
|
emqx_utils_stream:consume(emqx_utils_stream:csv(Data))
|
||||||
|
),
|
||||||
|
|
||||||
|
?assertEqual(
|
||||||
|
[],
|
||||||
|
emqx_utils_stream:consume(emqx_utils_stream:csv(<<"">>))
|
||||||
|
),
|
||||||
|
|
||||||
|
BadData = <<"h1,h2,h3\r\nv1,v2,v3\r\nv4,v5">>,
|
||||||
|
?assertException(
|
||||||
|
error,
|
||||||
|
bad_format,
|
||||||
|
emqx_utils_stream:consume(emqx_utils_stream:csv(BadData))
|
||||||
|
).
|
||||||
|
|
Loading…
Reference in New Issue