epgsql_pool_settings_tests.erl 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. -module(epgsql_pool_settings_tests).
  2. -include("epgsql_pool.hrl").
  3. -include_lib("eunit/include/eunit.hrl").
  4. get_set_test() ->
  5. epgsql_pool_settings:start_link(),
  6. ?assertEqual(10000, epgsql_pool_settings:get(connection_timeout)),
  7. ?assertEqual(10000, epgsql_pool_settings:get(query_timeout)),
  8. ?assertEqual(10000, epgsql_pool_settings:get(pooler_get_worker_timeout)),
  9. epgsql_pool_settings:set(connection_timeout, 5000),
  10. ?assertEqual(5000, epgsql_pool_settings:get(connection_timeout)),
  11. epgsql_pool_settings:set(max_reconnect_timeout, 4500),
  12. ?assertEqual(4500, epgsql_pool_settings:get(max_reconnect_timeout)),
  13. ?assertThrow({settings_not_found, some_key},
  14. epgsql_pool_settings:get(some_key)),
  15. epgsql_pool_settings:set(some_key, 42),
  16. ?assertEqual(42, epgsql_pool_settings:get(some_key)),
  17. epgsql_pool_settings ! stop,
  18. ok.
  19. connection_params_test() ->
  20. epgsql_pool_settings:start_link(),
  21. ?assertThrow({connection_params_not_found, some_pool},
  22. epgsql_pool_settings:get_connection_params(some_pool)),
  23. Params1 = #epgsql_connection_params{host = "localhost", port = 5432,
  24. username="user", password="123",
  25. database="db"},
  26. epgsql_pool_settings:set_connection_params(pool_1, Params1),
  27. Params2 = #epgsql_connection_params{host = "some.host", port = 5432,
  28. username="someuser", password="123",
  29. database="somedb"},
  30. epgsql_pool_settings:set_connection_params(pool_2, Params2),
  31. ?assertEqual(Params1, epgsql_pool_settings:get_connection_params(pool_1)),
  32. ?assertEqual(Params2, epgsql_pool_settings:get_connection_params(pool_2)),
  33. epgsql_pool_settings ! stop,
  34. ok.
  35. monitoring_callback_test() ->
  36. epgsql_pool_settings:start_link(),
  37. ?assertEqual(undefined, epgsql_pool_settings:get_monitoring_callback()),
  38. Callback = fun(Event) -> Event end,
  39. ?assertEqual(ok, epgsql_pool_settings:set_monitoring_callback(Callback)),
  40. ?assertEqual(Callback, epgsql_pool_settings:get_monitoring_callback()),
  41. ok.