aboutsummaryrefslogtreecommitdiff
path: root/test/exdatadog_test.exs
diff options
context:
space:
mode:
Diffstat (limited to 'test/exdatadog_test.exs')
-rw-r--r--test/exdatadog_test.exs64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/exdatadog_test.exs b/test/exdatadog_test.exs
new file mode 100644
index 0000000..5e752ab
--- /dev/null
+++ b/test/exdatadog_test.exs
@@ -0,0 +1,64 @@
+defmodule ExdatadogTest do
+ @moduledoc """
+ Provides tests for the Exdatadog module
+ """
+ use ExUnit.Case
+
+ alias HTTPoison.Response
+ import Exdatadog
+
+ doctest Exdatadog
+
+ setup_all do
+ :meck.new(Poison, [:no_link])
+
+ on_exit fn ->
+ :meck.unload(Poison)
+ end
+ end
+
+ test "auth_params using api_key" do
+ assert auth_params(%{api_key: "1234"}) == [api_key: "1234"]
+ end
+
+ test "auth_params using api_key and app_key" do
+ expected = [application_key: "abcd", api_key: "1234"]
+ assert auth_params(%{api_key: "1234", app_key: "abcd"}) == expected
+ end
+
+ test "auth_params with no auth" do
+ assert auth_params(%{}) == []
+ assert auth_params(nil) == []
+ end
+
+ test "process_response with 200" do
+ assert process_response(%Response{status_code: 200,
+ headers: %{},
+ body: "json"}) == {200, "json"}
+ assert :meck.validate(Poison)
+ end
+
+ test "process_response with non-200" do
+ assert process_response(%Response{status_code: 404,
+ headers: %{},
+ body: "json"}) == {404, "json"}
+
+ assert :meck.validate(Poison)
+ end
+
+ test "process_resposne_body with nil 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 with empty body" do
+ assert process_response(%Response{status_code: 202,
+ headers: %{},
+ body: nil}) == {202, nil}
+ end
+
+end