-module(epgsql_pool_tests).

-include("epgsql_pool.hrl").
-include_lib("eunit/include/eunit.hrl").


get_set_settings_test() ->
     application:ensure_all_started(epgsql_pool),

    ?assertMatch(#{
        connection_timeout := 10000,
        keep_alive_timeout := 60000,
        max_reconnect_timeout := 5000,
        min_reconnect_timeout := 100,
        pooler_get_worker_timeout := 10000,
        pooler_max_queue := 1000,
        query_timeout := 10000,
        transaction_timeout := 20000
    }, epgsql_pool:get_settings()),

    ok = epgsql_pool:set_settings(#{
        aa => bb,
        pooler_max_queue => 500,
        cc => dd,
        max_reconnect_timeout => 777,
        min_reconnect_timeout => 42,
        dd => 42,
        query_timeout => 555
    }),

    ?assertMatch(#{
        connection_timeout := 10000,
        keep_alive_timeout := 60000,
        max_reconnect_timeout := 777,
        min_reconnect_timeout := 42,
        pooler_get_worker_timeout := 10000,
        pooler_max_queue := 500,
        query_timeout := 555,
        transaction_timeout := 20000
    }, epgsql_pool:get_settings()),

    ok.