herd_db_tests.erl 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. -module(herd_db_tests).
  2. -include_lib("eunit/include/eunit.hrl").
  3. -spec epgsql_res_to_json_test() -> ok.
  4. epgsql_res_to_json_test() ->
  5. Data1 = {ok,
  6. [{column,<<"id">>,int8,8,-1,1},
  7. {column,<<"name">>,varchar,-1,36,1},
  8. {column,<<"registration_date">>,timestamp,8,-1,1},
  9. {column,<<"account_type">>,{unknown_oid,33521},4,-1,0},
  10. {column,<<"address">>,text,-1,-1,1},
  11. {column,<<"country">>,text,-1,-1,1}
  12. ],
  13. [{12,<<"Bob">>,{{2015,2,17},{16,10,31.277398}},<<"base">>,<<"Minsk, bla-bla-bla">>,<<"BY">>},
  14. {13,<<"Bill">>,{{2015,2,17},{16,11,1.211181}},<<"premium">>,<<"Amsterdam, bla-bla-bla">>,<<"NL">>}]},
  15. ?assertEqual([{[{<<"id">>,12},
  16. {<<"name">>,<<"Bob">>},
  17. {<<"registration_date">>,1424189431},
  18. {<<"account_type">>,<<"base">>},
  19. {<<"address">>,<<"Minsk, bla-bla-bla">>},
  20. {<<"country">>,<<"BY">>}]},
  21. {[{<<"id">>,13},
  22. {<<"name">>,<<"Bill">>},
  23. {<<"registration_date">>,1424189461},
  24. {<<"account_type">>,<<"premium">>},
  25. {<<"address">>,<<"Amsterdam, bla-bla-bla">>},
  26. {<<"country">>,<<"NL">>}]}],
  27. herd_db:epgsql_res_to_json(Data1)),
  28. Data2 = {ok,
  29. [{column,<<"id">>,int4,4,-1,1},
  30. {column,<<"token">>,uuid,16,-1,1},
  31. {column,<<"name">>,varchar,-1,68,1},
  32. {column,<<"reg_date">>,date,4,-1,1},
  33. {column,<<"reg_time">>,time,8,-1,1},
  34. {column,<<"ts_1">>,timestamp,8,-1,1},
  35. {column,<<"ts_2">>,timestamptz,8,-1,1}
  36. ],
  37. [{1,<<"1f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>,<<"Bob">>,
  38. {2015,2,18}, null, {{2015,2,18},{13,5,23.140576}}, null},
  39. {2,<<"2f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>,<<"Bill">>,
  40. null, {13,5,23.140576}, null, {{2015,2,18},{10,5,23.140576}}},
  41. {3,<<"3f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>,<<"Helen">>,
  42. {2015,2,18}, {13,5,23.140576}, null,null},
  43. {4,<<"4f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>,<<"Kate">>,
  44. null,null, {{2015,2,18},{13,5,23.140576}}, {{2015,2,18},{10,5,23.140576}}}]},
  45. ?assertEqual([{[{<<"id">>,1},
  46. {<<"token">>,<<"1f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>},
  47. {<<"name">>,<<"Bob">>},
  48. {<<"reg_date">>,1424217600},
  49. {<<"reg_time">>,null},
  50. {<<"ts_1">>,1424264723},
  51. {<<"ts_2">>,null}]},
  52. {[{<<"id">>,2},
  53. {<<"token">>,<<"2f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>},
  54. {<<"name">>,<<"Bill">>},
  55. {<<"reg_date">>,null},
  56. {<<"reg_time">>,47123},
  57. {<<"ts_1">>,null},
  58. {<<"ts_2">>,1424253923}]},
  59. {[{<<"id">>,3},
  60. {<<"token">>,<<"3f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>},
  61. {<<"name">>,<<"Helen">>},
  62. {<<"reg_date">>,1424217600},
  63. {<<"reg_time">>,47123},
  64. {<<"ts_1">>,null},
  65. {<<"ts_2">>,null}]},
  66. {[{<<"id">>,4},
  67. {<<"token">>,<<"4f5cb2d8-14b4-4ec4-a45e-a3fa06f07650">>},
  68. {<<"name">>,<<"Kate">>},
  69. {<<"reg_date">>,null},
  70. {<<"reg_time">>,null},
  71. {<<"ts_1">>,1424264723},
  72. {<<"ts_2">>,1424253923}]}],
  73. herd_db:epgsql_res_to_json(Data2)),
  74. ok.