|
@@ -0,0 +1,81 @@
|
|
|
|
+-module(herd_db_test).
|
|
|
|
+
|
|
|
|
+-include_lib("eunit/include/eunit.hrl").
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+-spec epgsql_res_to_json_test() -> ok.
|
|
|
|
+epgsql_res_to_json_test() ->
|
|
|
|
+ Data1 = {ok,
|
|
|
|
+ [{column,<<"id">>,int8,8,-1,1},
|
|
|
|
+ {column,<<"name">>,varchar,-1,36,1},
|
|
|
|
+ {column,<<"registration_date">>,timestamp,8,-1,1},
|
|
|
|
+ {column,<<"account_type">>,{unknown_oid,33521},4,-1,0},
|
|
|
|
+ {column,<<"address">>,text,-1,-1,1},
|
|
|
|
+ {column,<<"country">>,text,-1,-1,1}
|
|
|
|
+ ],
|
|
|
|
+ [{12,<<"Bob">>,{{2015,2,17},{16,10,31.277398}},<<"base">>,<<"Minsk, bla-bla-bla">>,<<"BY">>},
|
|
|
|
+ {13,<<"Bill">>,{{2015,2,17},{16,11,1.211181}},<<"premium">>,<<"Amsterdam, bla-bla-bla">>,<<"NL">>}]},
|
|
|
|
+ ?assertEqual([{[{<<"id">>,12},
|
|
|
|
+ {<<"name">>,<<"Bob">>},
|
|
|
|
+ {<<"registration_date">>,1424189431},
|
|
|
|
+ {<<"account_type">>,<<"base">>},
|
|
|
|
+ {<<"address">>,<<"Minsk, bla-bla-bla">>},
|
|
|
|
+ {<<"country">>,<<"BY">>}]},
|
|
|
|
+ {[{<<"id">>,13},
|
|
|
|
+ {<<"name">>,<<"Bill">>},
|
|
|
|
+ {<<"registration_date">>,1424189461},
|
|
|
|
+ {<<"account_type">>,<<"premium">>},
|
|
|
|
+ {<<"address">>,<<"Amsterdam, bla-bla-bla">>},
|
|
|
|
+ {<<"country">>,<<"NL">>}]}],
|
|
|
|
+ herd_db:epgsql_res_to_json(Data1)),
|
|
|
|
+
|
|
|
|
+ Data2 = {ok,
|
|
|
|
+ [{column,<<"id">>,int4,4,-1,1},
|
|
|
|
+ {column,<<"token">>,uuid,16,-1,1},
|
|
|
|
+ {column,<<"name">>,varchar,-1,68,1},
|
|
|
|
+ {column,<<"reg_date">>,date,4,-1,1},
|
|
|
|
+ {column,<<"reg_time">>,time,8,-1,1},
|
|
|
|
+ {column,<<"ts_1">>,timestamp,8,-1,1},
|
|
|
|
+ {column,<<"ts_2">>,timestamptz,8,-1,1}
|
|
|
|
+ ],
|
|
|
|
+ [{1,<<"1f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>,<<"Bob">>,
|
|
|
|
+ {2015,2,18}, null, {{2015,2,18},{13,5,23.140576}}, null},
|
|
|
|
+ {2,<<"2f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>,<<"Bill">>,
|
|
|
|
+ null, {13,5,23.140576}, null, {{2015,2,18},{10,5,23.140576}}},
|
|
|
|
+ {3,<<"3f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>,<<"Helen">>,
|
|
|
|
+ {2015,2,18}, {13,5,23.140576}, null,null},
|
|
|
|
+ {4,<<"4f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>,<<"Kate">>,
|
|
|
|
+ null,null, {{2015,2,18},{13,5,23.140576}}, {{2015,2,18},{10,5,23.140576}}}]},
|
|
|
|
+
|
|
|
|
+ ?assertEqual([{[{<<"id">>,1},
|
|
|
|
+ {<<"token">>,<<"1f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>},
|
|
|
|
+ {<<"name">>,<<"Bob">>},
|
|
|
|
+ {<<"reg_date">>,1424217600},
|
|
|
|
+ {<<"reg_time">>,null},
|
|
|
|
+ {<<"ts_1">>,1424264723},
|
|
|
|
+ {<<"ts_2">>,null}]},
|
|
|
|
+ {[{<<"id">>,2},
|
|
|
|
+ {<<"token">>,<<"2f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>},
|
|
|
|
+ {<<"name">>,<<"Bill">>},
|
|
|
|
+ {<<"reg_date">>,null},
|
|
|
|
+ {<<"reg_time">>,47123},
|
|
|
|
+ {<<"ts_1">>,null},
|
|
|
|
+ {<<"ts_2">>,1424253923}]},
|
|
|
|
+ {[{<<"id">>,3},
|
|
|
|
+ {<<"token">>,<<"3f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>},
|
|
|
|
+ {<<"name">>,<<"Helen">>},
|
|
|
|
+ {<<"reg_date">>,1424217600},
|
|
|
|
+ {<<"reg_time">>,47123},
|
|
|
|
+ {<<"ts_1">>,null},
|
|
|
|
+ {<<"ts_2">>,null}]},
|
|
|
|
+ {[{<<"id">>,4},
|
|
|
|
+ {<<"token">>,<<"4f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>},
|
|
|
|
+ {<<"name">>,<<"Kate">>},
|
|
|
|
+ {<<"reg_date">>,null},
|
|
|
|
+ {<<"reg_time">>,null},
|
|
|
|
+ {<<"ts_1">>,1424264723},
|
|
|
|
+ {<<"ts_2">>,1424253923}]}],
|
|
|
|
+
|
|
|
|
+ herd_db:epgsql_res_to_json(Data2)),
|
|
|
|
+
|
|
|
|
+ ok.
|