diff options
Diffstat (limited to 'test/zendex_test.exs')
-rw-r--r-- | test/zendex_test.exs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/zendex_test.exs b/test/zendex_test.exs new file mode 100644 index 0000000..7dfaa80 --- /dev/null +++ b/test/zendex_test.exs @@ -0,0 +1,49 @@ +defmodule ZendexTest do + use ExUnit.Case + import Zendex + + doctest Zendex + + setup_all do + :meck.new(Poison, [:no_link]) + + on_exit fn -> + :meck.unload Poison + end + end + + test "authorization_header using user and password" do + auth = %{authentication: "dXNlcjpwYXNzd29yZA=="} + expected = [{"Authorization", "Basic dXNlcjpwYXNzd29yZA=="}] + assert authorization_header(auth, []) == expected + end + + test "process response on a 200 response" do + assert process_response(%HTTPoison.Response{status_code: 200, + headers: %{}, + body: "json" }) == "json" + assert :meck.validate(Poison) + end + + test "process response on a non-200 response" do + assert process_response(%HTTPoison.Response{status_code: 404, + headers: %{}, + body: "json" }) == {404, "json"} + assert :meck.validate(Poison) + end + + test "process_response_body with an empty body" do + assert process_response_body("") == nil + end + + test "process_response_body with content" do + :meck.expect(Poison, :decode!, 1, :decoded_json) + assert process_response_body("json") == :decoded_json + end + + test "process response on a non-200 response and empty body" do + assert process_response(%HTTPoison.Response{status_code: 404, + headers: %{}, + body: nil }) == {404, nil} + end +end |