123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- -module(limit_reached_SUITE).
- -include_lib("common_test/include/ct.hrl").
- -include_lib("eunit/include/eunit.hrl").
- %%-compile([export_all, nowarn_export_all]).
- -export([
- all/0, groups/0,
- init_per_suite/1, end_per_suite/1,
- init_per_group/2, end_per_group/2,
- init_per_testcase/2, end_per_testcase/2,
- limit_reached1_test/1,
- limit_reached2_test/1,
- limit_reached3_test/1,
- limit_reached4_test/1,
- limit_reached5_test/1
- ]).
- all() ->
- [
- {group, test_group1}
- %% перелік груп тестів або ж перелік окремих тестів
- %%limit_reached1_test,
- %%limit_reached2_test
- ].
- groups() ->
- [
- {
- test_group1,
- [sequence], %% виконувати тести послідовно
- [
- limit_reached1_test,
- limit_reached2_test,
- limit_reached3_test,
- limit_reached4_test,
- limit_reached5_test
- ]
- }
- ].
- %% виконується перед запуском переліку тестів
- init_per_suite(Config) ->
- {ok, _} = application:ensure_all_started(token_bucket),
- Config.
- %% виконується після завершення всіх тестів
- end_per_suite(Config) ->
- Config.
- %% виконується перед запуском групи тестів
- init_per_group(_GroupName, Config) ->
- Config.
- %% виконується після завершення групи тестів
- end_per_group(_GroupName, _Config) ->
- ok.
- %% виконується перед запуском кожного тесту
- init_per_testcase(_TestCase, Config) ->
- Config.
- %% виконується після кожного тесту
- end_per_testcase(_TestCase, Config) ->
- Config.
- limit_reached1_test(_Config) ->
- ?assertEqual(false, token_bucket:is_limit_reached(123) ),
- ct:pal("limit_reached1_test/1 : [OK]"),
- ok.
- %%Config.
- %%{save_config, Config}.
- limit_reached2_test(_Config) ->
- timer:sleep(1001), %% wait 1 sec
- R = [token_bucket:is_limit_reached(123) || _ <- lists:seq(1,5)],
- ?assertEqual([false,false,false,true,true], R),
- ct:pal("limit_reached2_test/1 : [OK]"),
- ok.
- limit_reached3_test(_Config) ->
- timer:sleep(1001), %% wait 1 sec
- R = [token_bucket:is_limit_reached(123, 4) || _ <- lists:seq(1,5)],
- ?assertEqual([false,false,false,false,true], R),
- ct:pal("limit_reached3_test/1 : [OK]"),
- ok.
- limit_reached4_test(_Config) ->
- timer:sleep(1001), %% wait 1 sec
- R = [token_bucket:is_limit_reached(123, infinity) || _ <- lists:seq(1,5)],
- ?assertEqual([false,false,false,false,false], R),
- ct:pal("limit_reached4_test/1 : [OK]"),
- ok.
- limit_reached5_test(_Config) ->
- timer:sleep(1001), %% wait 1 sec
- R = [token_bucket:is_limit_reached(123) || _ <- lists:seq(1,5)],
- ?assertEqual([false,false,false,true,true], R),
-
- R2 = [token_bucket:is_limit_reached(123, 4) || _ <- lists:seq(1,5)],
- ?assertEqual([false,true,true,true,true], R2),
-
- R3 = [token_bucket:is_limit_reached(777, 4) || _ <- lists:seq(1,5)],
- ?assertEqual([false,false,false,false,true], R3),
-
- timer:sleep(1001), %% wait 1 sec
-
- ?assertEqual(false, token_bucket:is_limit_reached(123) ),
-
- ct:pal("limit_reached5_test/1 : [OK]"),
- ok.
|