diff --git a/apps/emqx_dashboard/test/emqx_dashboard_monitor_SUITE.erl b/apps/emqx_dashboard/test/emqx_dashboard_monitor_SUITE.erl index 3c36cbc0f..ae0d4171b 100644 --- a/apps/emqx_dashboard/test/emqx_dashboard_monitor_SUITE.erl +++ b/apps/emqx_dashboard/test/emqx_dashboard_monitor_SUITE.erl @@ -93,16 +93,23 @@ t_monitor_current_api(_) -> t_monitor_current_api_live_connections(_) -> process_flag(trap_exit, true), ClientId = <<"live_conn_tests">>, + ClientId1 = <<"live_conn_tests1">>, {ok, C} = emqtt:start_link([{clean_start, false}, {clientid, ClientId}]), {ok, _} = emqtt:connect(C), ok = emqtt:disconnect(C), - {ok, Rate} = request(["monitor_current"]), - ?assertEqual(0, maps:get(<<"live_connections">>, Rate)), - ?assertEqual(1, maps:get(<<"connections">>, Rate)), - %% clears - {ok, C1} = emqtt:start_link([{clean_start, true}, {clientid, ClientId}]), + {ok, C1} = emqtt:start_link([{clean_start, true}, {clientid, ClientId1}]), {ok, _} = emqtt:connect(C1), - ok = emqtt:disconnect(C1). + %% waiting for emqx_stats ticker + timer:sleep(1500), + _ = emqx_dashboard_monitor:current_rate(), + {ok, Rate} = request(["monitor_current"]), + ?assertEqual(1, maps:get(<<"live_connections">>, Rate)), + ?assertEqual(2, maps:get(<<"connections">>, Rate)), + %% clears + ok = emqtt:disconnect(C1), + {ok, C2} = emqtt:start_link([{clean_start, true}, {clientid, ClientId}]), + {ok, _} = emqtt:connect(C2), + ok = emqtt:disconnect(C2). t_monitor_reset(_) -> restart_monitor(),