Merge branch 'gen-ct' into develop
This commit is contained in:
commit
d5412c8d34
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
init_per_suite(Config) ->
|
init_per_suite(Config) ->
|
||||||
emqx_ct_helpers:start_apps([]),
|
emqx_ct_helpers:start_apps([]),
|
||||||
Config.
|
Config.
|
||||||
|
@ -32,6 +33,59 @@ init_per_suite(Config) ->
|
||||||
end_per_suite(_Config) ->
|
end_per_suite(_Config) ->
|
||||||
emqx_ct_helpers:stop_apps([]).
|
emqx_ct_helpers:stop_apps([]).
|
||||||
|
|
||||||
|
|
||||||
|
t_start(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_restart(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_stop(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_is_running(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscribe(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_publish(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unsubscribe(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_topics(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscribers(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscriptions(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscribed(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_hook(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unhook(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_run_hook(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_run_fold_hook(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_shutdown(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_reboot(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
t_get_env(_) ->
|
t_get_env(_) ->
|
||||||
?assertEqual(undefined, emqx:get_env(undefined_key)),
|
?assertEqual(undefined, emqx:get_env(undefined_key)),
|
||||||
?assertEqual(default_value, emqx:get_env(undefined_key, default_value)),
|
?assertEqual(default_value, emqx:get_env(undefined_key, default_value)),
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_access_control_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_authenticate(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_check_acl(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_reload_acl(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_access_rule_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_compile(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_match(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_acl_cache_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_cache_k(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_cache_v(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_cleanup_acl_cache(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_oldest_key(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_newest_key(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_cache_max_size(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_cache_size(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_dump_acl_cache(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_empty_acl_cache(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_put_acl_cache(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_acl_cache(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_is_enabled(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -24,6 +24,13 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
t_encode(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_decode(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
t_proper_base62(_) ->
|
t_proper_base62(_) ->
|
||||||
Opts = [{numtests, 100}, {to_file, user}],
|
Opts = [{numtests, 100}, {to_file, user}],
|
||||||
?assert(proper:quickcheck(prop_symmetric(), Opts)),
|
?assert(proper:quickcheck(prop_symmetric(), Opts)),
|
||||||
|
|
|
@ -23,6 +23,22 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_init(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_push(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_commit(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_size(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_items(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_batch_full_commit(_) ->
|
t_batch_full_commit(_) ->
|
||||||
B0 = emqx_batch:init(#{batch_size => 3,
|
B0 = emqx_batch:init(#{batch_size => 3,
|
||||||
linger_ms => 2000,
|
linger_ms => 2000,
|
||||||
|
|
|
@ -27,10 +27,7 @@
|
||||||
-include("emqx.hrl").
|
-include("emqx.hrl").
|
||||||
-include("emqx_mqtt.hrl").
|
-include("emqx_mqtt.hrl").
|
||||||
|
|
||||||
all() ->
|
all() -> emqx_ct:all(?MODULE).
|
||||||
[{group, pubsub},
|
|
||||||
{group, metrics},
|
|
||||||
{group, stats}].
|
|
||||||
|
|
||||||
groups() ->
|
groups() ->
|
||||||
[{pubsub, [sequence],
|
[{pubsub, [sequence],
|
||||||
|
@ -159,3 +156,57 @@ set_get_stat(_) ->
|
||||||
emqx_stats:setstat('retained.max', 99),
|
emqx_stats:setstat('retained.max', 99),
|
||||||
?assertEqual(99, emqx_stats:getstat('retained.max')).
|
?assertEqual(99, emqx_stats:getstat('retained.max')).
|
||||||
|
|
||||||
|
|
||||||
|
t_dispatch(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscriber_down(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_subopts(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_subopts(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_topics(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_stats_fun(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_init(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_call(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_cast(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_info(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_terminate(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_code_change(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_safe_publish(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscribed(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscriptions(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscribers(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unsubscribe(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscribe(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_broker_helper_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_start_link(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_lookup_subid(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_create_seq(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_init(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_call(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_cast(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_info(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_terminate(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_code_change(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_lookup_subpid(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_reclaim_seq(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_sub_shard(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_register_sub(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -88,3 +88,27 @@ t_lock_clientid(_) ->
|
||||||
{true, _Nodes} = emqx_cm_locker:unlock(<<"clientid">>),
|
{true, _Nodes} = emqx_cm_locker:unlock(<<"clientid">>),
|
||||||
{true, _Nodes} = emqx_cm_locker:unlock(<<"clientid">>).
|
{true, _Nodes} = emqx_cm_locker:unlock(<<"clientid">>).
|
||||||
|
|
||||||
|
|
||||||
|
t_unregister_channel(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_chan_attrs(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_chan_stats(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_lookup_channels(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_chan_stats(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_chan_attrs(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_register_channel(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_stats_fun(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_cm_locker_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_start_link(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_trans(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_lock(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unlock(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_cm_registry_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_start_link(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_init(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_call(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_cast(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_handle_info(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_terminate(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_code_change(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_lookup_channels(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_is_enabled(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unregister_channel(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_register_channel(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -39,6 +39,14 @@ end_per_suite(_Config) ->
|
||||||
emqx_ct_helpers:stop_apps([]),
|
emqx_ct_helpers:stop_apps([]),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
|
||||||
|
t_check(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_detect(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
t_detect_check(_) ->
|
t_detect_check(_) ->
|
||||||
ClientInfo = #{zone => external,
|
ClientInfo = #{zone => external,
|
||||||
clientid => <<"clientid">>,
|
clientid => <<"clientid">>,
|
||||||
|
|
|
@ -40,3 +40,25 @@ t_guid_base62(_) ->
|
||||||
Guid = emqx_guid:gen(),
|
Guid = emqx_guid:gen(),
|
||||||
?assertEqual(Guid, emqx_guid:from_base62(emqx_guid:to_base62(Guid))).
|
?assertEqual(Guid, emqx_guid:from_base62(emqx_guid:to_base62(Guid))).
|
||||||
|
|
||||||
|
t_new(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_timestamp(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_to_hexstr(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_from_hexstr(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_from_base62(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_to_base62(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_gen(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,25 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
t_lookup(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
|
t_run_fold(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_run(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_del(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_add(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
t_add_del_hook(_) ->
|
t_add_del_hook(_) ->
|
||||||
{ok, _} = emqx_hooks:start_link(),
|
{ok, _} = emqx_hooks:start_link(),
|
||||||
ok = emqx:hook(test_hook, fun ?MODULE:hook_fun1/1, []),
|
ok = emqx:hook(test_hook, fun ?MODULE:hook_fun1/1, []),
|
||||||
|
|
|
@ -24,6 +24,10 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_new(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_contain(_) ->
|
t_contain(_) ->
|
||||||
Inflight = emqx_inflight:insert(k, v, emqx_inflight:new()),
|
Inflight = emqx_inflight:insert(k, v, emqx_inflight:new()),
|
||||||
?assert(emqx_inflight:contain(k, Inflight)),
|
?assert(emqx_inflight:contain(k, Inflight)),
|
||||||
|
@ -90,3 +94,12 @@ t_window(_) ->
|
||||||
a, 1, emqx_inflight:new(2))),
|
a, 1, emqx_inflight:new(2))),
|
||||||
?assertEqual([a, b], emqx_inflight:window(Inflight)).
|
?assertEqual([a, b], emqx_inflight:window(Inflight)).
|
||||||
|
|
||||||
|
t_to_list(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_size(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_max_size(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,13 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_init(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_info(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_check(_) ->
|
t_check(_) ->
|
||||||
Keepalive = emqx_keepalive:init(60),
|
Keepalive = emqx_keepalive:init(60),
|
||||||
?assertEqual(60, emqx_keepalive:info(interval, Keepalive)),
|
?assertEqual(60, emqx_keepalive:info(interval, Keepalive)),
|
||||||
|
|
|
@ -90,3 +90,22 @@ get_base_dir(Module) ->
|
||||||
get_base_dir() ->
|
get_base_dir() ->
|
||||||
get_base_dir(?MODULE).
|
get_base_dir(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_start_listener(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_restart(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_restart_listener(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_stop_listener(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_stop(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_start(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_logger_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_debug(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_info(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_warning(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_error(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_critical(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_proc_metadata(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_primary_log_level(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_primary_log_level(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_log_handlers(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_log_handler(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_log_handler_level(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_log_level(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_parse_transform(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_metadata_peername(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_metadata_clientid(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -92,6 +92,9 @@ t_undefined_headers(_) ->
|
||||||
Msg2 = emqx_message:set_header(c, 3, Msg),
|
Msg2 = emqx_message:set_header(c, 3, Msg),
|
||||||
?assertEqual(3, emqx_message:get_header(c, Msg2)).
|
?assertEqual(3, emqx_message:get_header(c, Msg2)).
|
||||||
|
|
||||||
|
t_remove_header(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_format(_) ->
|
t_format(_) ->
|
||||||
Msg = emqx_message:make(<<"clientid">>, <<"topic">>, <<"payload">>),
|
Msg = emqx_message:make(<<"clientid">>, <<"topic">>, <<"payload">>),
|
||||||
io:format("~s~n", [emqx_message:format(Msg)]),
|
io:format("~s~n", [emqx_message:format(Msg)]),
|
||||||
|
@ -102,7 +105,7 @@ t_format(_) ->
|
||||||
},
|
},
|
||||||
io:format("~s~n", [emqx_message:format(Msg1)]).
|
io:format("~s~n", [emqx_message:format(Msg1)]).
|
||||||
|
|
||||||
t_expired(_) ->
|
t_is_expired(_) ->
|
||||||
Msg = emqx_message:make(<<"clientid">>, <<"topic">>, <<"payload">>),
|
Msg = emqx_message:make(<<"clientid">>, <<"topic">>, <<"payload">>),
|
||||||
?assertNot(emqx_message:is_expired(Msg)),
|
?assertNot(emqx_message:is_expired(Msg)),
|
||||||
Msg1 = emqx_message:set_headers(#{'Message-Expiry-Interval' => 1}, Msg),
|
Msg1 = emqx_message:set_headers(#{'Message-Expiry-Interval' => 1}, Msg),
|
||||||
|
@ -115,6 +118,10 @@ t_expired(_) ->
|
||||||
Msg2 = emqx_message:update_expiry(Msg1),
|
Msg2 = emqx_message:update_expiry(Msg1),
|
||||||
?assertEqual(1, emqx_message:get_header('Message-Expiry-Interval', Msg2)).
|
?assertEqual(1, emqx_message:get_header('Message-Expiry-Interval', Msg2)).
|
||||||
|
|
||||||
|
|
||||||
|
t_to_list(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_to_packet(_) ->
|
t_to_packet(_) ->
|
||||||
Pkt = #mqtt_packet{header = #mqtt_packet_header{type = ?PUBLISH,
|
Pkt = #mqtt_packet{header = #mqtt_packet_header{type = ?PUBLISH,
|
||||||
qos = ?QOS_0,
|
qos = ?QOS_0,
|
||||||
|
@ -140,3 +147,15 @@ t_to_map(_) ->
|
||||||
?assertEqual(List, emqx_message:to_list(Msg)),
|
?assertEqual(List, emqx_message:to_list(Msg)),
|
||||||
?assertEqual(maps:from_list(List), emqx_message:to_map(Msg)).
|
?assertEqual(maps:from_list(List), emqx_message:to_map(Msg)).
|
||||||
|
|
||||||
|
t_update_expiry(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_header(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_flag(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_headers(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,21 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
t_val(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_dec(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_commit(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_inc(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_new(_) ->
|
t_new(_) ->
|
||||||
with_metrics_server(
|
with_metrics_server(
|
||||||
fun() ->
|
fun() ->
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_mod_acl_internal_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_load(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unload(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_all_rules(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_check_acl(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_reload_acl(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_mod_presence_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_load(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unload(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_on_client_connected(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_on_client_disconnected(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_mod_rewrite_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_load(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_rewrite_subscribe(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_rewrite_unsubscribe(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_rewrite_publish(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unload(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_mod_subscription_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_load(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_on_client_connected(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unload(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -52,6 +52,13 @@ end_per_suite(_Config) ->
|
||||||
%% Test cases
|
%% Test cases
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
t_unload(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_load(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
%% Test case for emqx_mod_presence
|
%% Test case for emqx_mod_presence
|
||||||
t_mod_presence(_) ->
|
t_mod_presence(_) ->
|
||||||
ok = emqx_mod_presence:load([{qos, ?QOS_1}]),
|
ok = emqx_mod_presence:load([{qos, ?QOS_1}]),
|
||||||
|
|
|
@ -24,6 +24,14 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_get_caps(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_default(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
t_check_pub(_) ->
|
t_check_pub(_) ->
|
||||||
PubCaps = #{max_qos_allowed => ?QOS_1,
|
PubCaps = #{max_qos_allowed => ?QOS_1,
|
||||||
retain_available => false
|
retain_available => false
|
||||||
|
|
|
@ -78,3 +78,12 @@ t_validate_value(_) ->
|
||||||
foreach_prop(Fun) ->
|
foreach_prop(Fun) ->
|
||||||
lists:foreach(Fun, maps:to_list(emqx_mqtt_props:all())).
|
lists:foreach(Fun, maps:to_list(emqx_mqtt_props:all())).
|
||||||
|
|
||||||
|
|
||||||
|
t_all(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get(_) ->
|
||||||
|
error('TODO').
|
|
@ -28,6 +28,25 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_init(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_is_empty(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_len(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_max_len(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_dropped(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_stats(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_in(_) ->
|
t_in(_) ->
|
||||||
Opts = #{max_len => 5, store_qos0 => true},
|
Opts = #{max_len => 5, store_qos0 => true},
|
||||||
Q = ?Q:init(Opts),
|
Q = ?Q:init(Opts),
|
||||||
|
|
|
@ -42,3 +42,7 @@ t_check(_) ->
|
||||||
[self() ! {msg, I} || I <- lists:seq(1, 6)],
|
[self() ! {msg, I} || I <- lists:seq(1, 6)],
|
||||||
?assertEqual({shutdown, message_queue_too_long}, emqx_oom:check(Oom)).
|
?assertEqual({shutdown, message_queue_too_long}, emqx_oom:check(Oom)).
|
||||||
|
|
||||||
|
|
||||||
|
t_info(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,43 @@ init_per_suite(Config) ->
|
||||||
end_per_suite(_Config) ->
|
end_per_suite(_Config) ->
|
||||||
application:stop(os_mon).
|
application:stop(os_mon).
|
||||||
|
|
||||||
|
|
||||||
|
t_get_cpu_check_interval(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_cpu_check_interval(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_cpu_high_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_cpu_high_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_cpu_low_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_cpu_low_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_mem_check_interval(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_mem_check_interval(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_sysmem_high_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_sysmem_high_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_procmem_high_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_procmem_high_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_api(_) ->
|
t_api(_) ->
|
||||||
gen_event:swap_handler(alarm_handler, {emqx_alarm_handler, swap}, {alarm_handler, []}),
|
gen_event:swap_handler(alarm_handler, {emqx_alarm_handler, swap}, {alarm_handler, []}),
|
||||||
{ok, _} = emqx_os_mon:start_link([{cpu_check_interval, 1},
|
{ok, _} = emqx_os_mon:start_link([{cpu_check_interval, 1},
|
||||||
|
|
|
@ -173,6 +173,10 @@ t_will_msg(_) ->
|
||||||
?assertEqual(<<"clientid">>, Msg#message.from),
|
?assertEqual(<<"clientid">>, Msg#message.from),
|
||||||
?assertEqual(<<"topic">>, Msg#message.topic).
|
?assertEqual(<<"topic">>, Msg#message.topic).
|
||||||
|
|
||||||
|
t_to_message(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
t_format(_) ->
|
t_format(_) ->
|
||||||
io:format("~s", [emqx_packet:format(?CONNECT_PACKET(#mqtt_packet_connect{}))]),
|
io:format("~s", [emqx_packet:format(?CONNECT_PACKET(#mqtt_packet_connect{}))]),
|
||||||
io:format("~s", [emqx_packet:format(?CONNACK_PACKET(?CONNACK_SERVER))]),
|
io:format("~s", [emqx_packet:format(?CONNACK_PACKET(?CONNACK_SERVER))]),
|
||||||
|
|
|
@ -23,6 +23,12 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
t_get_counter(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_reset_counter(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_update_counter(_) ->
|
t_update_counter(_) ->
|
||||||
?assertEqual(undefined, emqx_pd:update_counter(bytes, 1)),
|
?assertEqual(undefined, emqx_pd:update_counter(bytes, 1)),
|
||||||
?assertEqual(1, emqx_pd:update_counter(bytes, 1)),
|
?assertEqual(1, emqx_pd:update_counter(bytes, 1)),
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
init_per_suite(Config) ->
|
init_per_suite(Config) ->
|
||||||
|
|
||||||
%% Compile extra plugin code
|
%% Compile extra plugin code
|
||||||
|
@ -42,6 +43,23 @@ init_per_suite(Config) ->
|
||||||
|
|
||||||
Config.
|
Config.
|
||||||
|
|
||||||
|
|
||||||
|
t_load_expand_plugin(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_list(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_find_plugin(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unload(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
|
t_init(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
set_sepecial_cfg(_) ->
|
set_sepecial_cfg(_) ->
|
||||||
ExpandPath = filename:dirname(code:lib_dir(emqx_mini_plugin)),
|
ExpandPath = filename:dirname(code:lib_dir(emqx_mini_plugin)),
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,12 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
t_new(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_count(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_monitor(_) ->
|
t_monitor(_) ->
|
||||||
PMon = emqx_pmon:new(),
|
PMon = emqx_pmon:new(),
|
||||||
PMon1 = emqx_pmon:monitor(self(), PMon),
|
PMon1 = emqx_pmon:monitor(self(), PMon),
|
||||||
|
@ -31,6 +37,9 @@ t_monitor(_) ->
|
||||||
PMon2 = emqx_pmon:demonitor(self(), PMon2),
|
PMon2 = emqx_pmon:demonitor(self(), PMon2),
|
||||||
?assertEqual(0, emqx_pmon:count(PMon2)).
|
?assertEqual(0, emqx_pmon:count(PMon2)).
|
||||||
|
|
||||||
|
t_demonitor(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_find(_) ->
|
t_find(_) ->
|
||||||
PMon = emqx_pmon:new(),
|
PMon = emqx_pmon:new(),
|
||||||
PMon1 = emqx_pmon:monitor(self(), val, PMon),
|
PMon1 = emqx_pmon:monitor(self(), val, PMon),
|
||||||
|
@ -51,3 +60,5 @@ t_erase(_) ->
|
||||||
?assertEqual([{self(), val}], Items),
|
?assertEqual([{self(), val}], Items),
|
||||||
?assertEqual(0, emqx_pmon:count(PMon3)).
|
?assertEqual(0, emqx_pmon:count(PMon3)).
|
||||||
|
|
||||||
|
t_erase_all(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -86,3 +86,6 @@ t_unexpected(_) ->
|
||||||
test_mfa() ->
|
test_mfa() ->
|
||||||
lists:foldl(fun(X, Sum) -> X + Sum end, 0, [1,2,3,4,5]).
|
lists:foldl(fun(X, Sum) -> X + Sum end, 0, [1,2,3,4,5]).
|
||||||
|
|
||||||
|
|
||||||
|
t_async_submit(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -26,6 +26,49 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?SUITE).
|
all() -> emqx_ct:all(?SUITE).
|
||||||
|
|
||||||
|
|
||||||
|
t_is_queue(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_is_empty(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_to_list(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_from_list(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_in(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_out_p(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_join(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_filter(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_fold(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_highest(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_out(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_len(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_plen(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_new(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_priority_queue_plen(_) ->
|
t_priority_queue_plen(_) ->
|
||||||
Q = ?PQ:new(),
|
Q = ?PQ:new(),
|
||||||
0 = ?PQ:plen(0, Q),
|
0 = ?PQ:plen(0, Q),
|
||||||
|
|
|
@ -25,6 +25,25 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_name(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_text(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_mqtt_frame_error(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_connack_error(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_compat(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_formalized(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_prop_name_text(_) ->
|
t_prop_name_text(_) ->
|
||||||
?assert(proper:quickcheck(prop_name_text(), prop_name_text(opts))).
|
?assert(proper:quickcheck(prop_name_text(), prop_name_text(opts))).
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,24 @@ t_mnesia(_) ->
|
||||||
%% for coverage
|
%% for coverage
|
||||||
ok = emqx_router:mnesia(copy).
|
ok = emqx_router:mnesia(copy).
|
||||||
|
|
||||||
|
t_add_route(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_do_add_route(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_lookup_routes(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_delete_route(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_do_delete_route(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_topics(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_add_delete(_) ->
|
t_add_delete(_) ->
|
||||||
?R:add_route(<<"a/b/c">>),
|
?R:add_route(<<"a/b/c">>),
|
||||||
?R:add_route(<<"a/b/c">>, node()),
|
?R:add_route(<<"a/b/c">>, node()),
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
-module(emqx_router_helper_SUITE).
|
||||||
|
|
||||||
|
-compile(export_all).
|
||||||
|
-compile(nowarn_export_all).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
init_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
end_per_testcase(_TestCase, Config) ->
|
||||||
|
Config.
|
||||||
|
|
||||||
|
t_mnesia(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
|
t_monitor(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_stats_fun(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -24,6 +24,17 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
t_multicall(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_cast(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_call(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
t_prop_rpc(_) ->
|
t_prop_rpc(_) ->
|
||||||
ok = load(),
|
ok = load(),
|
||||||
Opts = [{to_file, user}, {numtests, 10}],
|
Opts = [{to_file, user}, {numtests, 10}],
|
||||||
|
|
|
@ -29,6 +29,23 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_currval(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_delete(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_create(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_reclaim(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_nextval(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
t_generate(_) ->
|
t_generate(_) ->
|
||||||
ok = emqx_sequence:create(seqtab),
|
ok = emqx_sequence:create(seqtab),
|
||||||
?assertEqual(0, currval(seqtab, key)),
|
?assertEqual(0, currval(seqtab, key)),
|
||||||
|
|
|
@ -39,6 +39,21 @@ init_per_suite(Config) ->
|
||||||
end_per_suite(_Config) ->
|
end_per_suite(_Config) ->
|
||||||
emqx_ct_helpers:stop_apps([]).
|
emqx_ct_helpers:stop_apps([]).
|
||||||
|
|
||||||
|
t_is_ack_required(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_maybe_nack_dropped(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_nack_no_connection(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_maybe_ack(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscribers(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_random_basic(_) ->
|
t_random_basic(_) ->
|
||||||
ok = ensure_config(random),
|
ok = ensure_config(random),
|
||||||
ClientId = <<"ClientId">>,
|
ClientId = <<"ClientId">>,
|
||||||
|
@ -224,6 +239,16 @@ last_message(ExpectedPayload, Pids) ->
|
||||||
<<"not yet?">>
|
<<"not yet?">>
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
t_dispatch(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_unsubscribe(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_subscribe(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% help functions
|
%% help functions
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
|
@ -23,6 +23,19 @@
|
||||||
|
|
||||||
all() -> emqx_ct:all(?MODULE).
|
all() -> emqx_ct:all(?MODULE).
|
||||||
|
|
||||||
|
|
||||||
|
t_statsfun(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_getstats(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_getstat(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_setstat(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_get_state(_) ->
|
t_get_state(_) ->
|
||||||
with_proc(fun() ->
|
with_proc(fun() ->
|
||||||
SetConnsCount = emqx_stats:statsfun('connections.count'),
|
SetConnsCount = emqx_stats:statsfun('connections.count'),
|
||||||
|
|
|
@ -43,6 +43,28 @@ end_per_suite(_Config) ->
|
||||||
ok = emqx_logger:set_log_level(error),
|
ok = emqx_logger:set_log_level(error),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
t_version(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_sysdescr(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_uptime(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_datetime(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_sys_interval(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_sys_heatbeat_interval(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_info(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
t_prop_sys(_) ->
|
t_prop_sys(_) ->
|
||||||
Opts = [{numtests, 100}, {to_file, user}],
|
Opts = [{numtests, 100}, {to_file, user}],
|
||||||
ok = load(?mock_modules),
|
ok = load(?mock_modules),
|
||||||
|
|
|
@ -230,3 +230,6 @@ bench(Case, Fun, Args) ->
|
||||||
ct:pal("Time consumed by ~s: ~.3f(us)~nCall ~s per second: ~w",
|
ct:pal("Time consumed by ~s: ~.3f(us)~nCall ~s per second: ~w",
|
||||||
[Case, Time/?N, Case, (?N * 1000000) div Time]).
|
[Case, Time/?N, Case, (?N * 1000000) div Time]).
|
||||||
|
|
||||||
|
|
||||||
|
t_match(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
|
@ -33,6 +33,7 @@ init_per_suite(Config) ->
|
||||||
end_per_suite(_Config) ->
|
end_per_suite(_Config) ->
|
||||||
emqx_ct_helpers:stop_apps([]).
|
emqx_ct_helpers:stop_apps([]).
|
||||||
|
|
||||||
|
|
||||||
t_start_traces(_Config) ->
|
t_start_traces(_Config) ->
|
||||||
{ok, T} = emqtt:start_link([{host, "localhost"},
|
{ok, T} = emqtt:start_link([{host, "localhost"},
|
||||||
{clientid, <<"client">>},
|
{clientid, <<"client">>},
|
||||||
|
@ -80,3 +81,19 @@ t_start_traces(_Config) ->
|
||||||
emqtt:disconnect(T),
|
emqtt:disconnect(T),
|
||||||
|
|
||||||
emqx_logger:set_log_level(warning).
|
emqx_logger:set_log_level(warning).
|
||||||
|
|
||||||
|
|
||||||
|
t_start_trace(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_stop_trace(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_lookup_traces(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
t_trace(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,18 @@ init_per_suite(Config) ->
|
||||||
end_per_suite(_Config) ->
|
end_per_suite(_Config) ->
|
||||||
application:stop(sasl).
|
application:stop(sasl).
|
||||||
|
|
||||||
|
t_get_process_high_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_process_high_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_get_process_low_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
|
t_set_process_low_watermark(_) ->
|
||||||
|
error('TODO').
|
||||||
|
|
||||||
t_api(_) ->
|
t_api(_) ->
|
||||||
meck:new(alarm_handler, [passthrough, no_history]),
|
meck:new(alarm_handler, [passthrough, no_history]),
|
||||||
Tester = self(),
|
Tester = self(),
|
||||||
|
|
Loading…
Reference in New Issue