rewrite from lager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.8 KiB

4 years ago
  1. -module(lager_metadata_whitelist_test).
  2. -ifdef(TEST).
  3. -include_lib("eunit/include/eunit.hrl").
  4. setup() ->
  5. ok = error_logger:tty(false),
  6. ok = lager_util:safe_application_load(lager),
  7. ok = application:set_env(lager, handlers, [{lager_common_test_backend, info}]),
  8. ok = application:set_env(lager, error_logger_redirect, false),
  9. ok = application:unset_env(lager, traces),
  10. ok = lager:start(),
  11. ok = timer:sleep(250),
  12. ok.
  13. cleanup(_) ->
  14. ok = application:unset_env(lager, metadata_whitelist),
  15. catch ets:delete(lager_config), %% kill the ets config table with fire
  16. ok = application:stop(lager),
  17. ok = application:stop(goldrush),
  18. ok = error_logger:tty(true).
  19. date_time_now() ->
  20. Now = os:timestamp(),
  21. {Date, Time} = lager_util:format_time(lager_util:maybe_utc(lager_util:localtime_ms(Now))),
  22. {Date, Time, Now}.
  23. basic_test_() ->
  24. {Date, Time, Now} = date_time_now(),
  25. {
  26. foreach,
  27. fun setup/0,
  28. fun cleanup/1,
  29. [{"Meta", fun() ->
  30. Whitelist = [meta0],
  31. ok = application:set_env(lager, metadata_whitelist, Whitelist),
  32. Msg = lager_msg:new("Message", Now, error, [], []),
  33. Expected = iolist_to_binary([Date, " ", Time, " [error] Message\n"]),
  34. Got = iolist_to_binary(lager_default_formatter:format(Msg, [])),
  35. ?assertEqual(Expected, Got)
  36. end},
  37. {"Meta1", fun() ->
  38. Whitelist = [meta1],
  39. ok = application:set_env(lager, metadata_whitelist, Whitelist),
  40. Msg = lager_msg:new("Message", Now, error, [{meta1, "value1"}], []),
  41. Expected = iolist_to_binary([Date, " ", Time, " [error] meta1=value1 Message\n"]),
  42. Got = iolist_to_binary(lager_default_formatter:format(Msg, [])),
  43. ?assertEqual(Expected, Got)
  44. end},
  45. {"Meta2", fun() ->
  46. Whitelist = [meta1, meta2],
  47. ok = application:set_env(lager, metadata_whitelist, Whitelist),
  48. Msg = lager_msg:new("Message", Now, error, [{meta1, "value1"}, {meta2, 2}], []),
  49. Expected = iolist_to_binary([Date, " ", Time, " [error] meta1=value1 meta2=2 Message\n"]),
  50. Got = iolist_to_binary(lager_default_formatter:format(Msg, [])),
  51. ?assertEqual(Expected, Got)
  52. end},
  53. {"Meta3", fun() ->
  54. Whitelist = [meta1, meta2],
  55. ok = application:set_env(lager, metadata_whitelist, Whitelist),
  56. Msg = lager_msg:new("Message", Now, error, [{meta1, "value1"}, {meta3, 3}], []),
  57. Expected = iolist_to_binary([Date, " ", Time, " [error] meta1=value1 Message\n"]),
  58. Got = iolist_to_binary(lager_default_formatter:format(Msg, [])),
  59. ?assertEqual(Expected, Got)
  60. end}
  61. ]
  62. }.
  63. -endif.