summaryrefslogtreecommitdiff
path: root/test/elixir/lib/couch_raw.ex
diff options
context:
space:
mode:
Diffstat (limited to 'test/elixir/lib/couch_raw.ex')
-rw-r--r--test/elixir/lib/couch_raw.ex105
1 files changed, 0 insertions, 105 deletions
diff --git a/test/elixir/lib/couch_raw.ex b/test/elixir/lib/couch_raw.ex
deleted file mode 100644
index 62a0bbd0e..000000000
--- a/test/elixir/lib/couch_raw.ex
+++ /dev/null
@@ -1,105 +0,0 @@
-defmodule Rawresp do
- use HTTPotion.Base
-
- @moduledoc """
- HTTP client that provides raw response as result
- """
- @request_timeout 60_000
- @inactivity_timeout 55_000
-
- def process_url("http://" <> _ = url) do
- url
- end
-
- def process_url(url) do
- base_url = System.get_env("EX_COUCH_URL") || "http://127.0.0.1:15984"
- base_url <> url
- end
-
- def process_request_headers(headers, _body, options) do
- headers =
- headers
- |> Keyword.put(:"User-Agent", "couch-potion")
-
- headers =
- if headers[:"Content-Type"] do
- headers
- else
- Keyword.put(headers, :"Content-Type", "application/json")
- end
-
- case Keyword.get(options, :cookie) do
- nil ->
- headers
-
- cookie ->
- Keyword.put(headers, :Cookie, cookie)
- end
- end
-
- def process_options(options) do
- options
- |> set_auth_options()
- |> set_inactivity_timeout()
- |> set_request_timeout()
- end
-
- def process_request_body(body) do
- if is_map(body) do
- :jiffy.encode(body)
- else
- body
- end
- end
-
- def set_auth_options(options) do
- if Keyword.get(options, :cookie) == nil do
- headers = Keyword.get(options, :headers, [])
-
- if headers[:basic_auth] != nil or headers[:authorization] != nil do
- options
- else
- username = System.get_env("EX_USERNAME") || "adm"
- password = System.get_env("EX_PASSWORD") || "pass"
- Keyword.put(options, :basic_auth, {username, password})
- end
- else
- options
- end
- end
-
- def set_inactivity_timeout(options) do
- Keyword.update(
- options,
- :ibrowse,
- [{:inactivity_timeout, @inactivity_timeout}],
- fn ibrowse ->
- Keyword.put_new(ibrowse, :inactivity_timeout, @inactivity_timeout)
- end
- )
- end
-
- def set_request_timeout(options) do
- timeout = Application.get_env(:httpotion, :default_timeout, @request_timeout)
- Keyword.put_new(options, :timeout, timeout)
- end
-
- def login(userinfo) do
- [user, pass] = String.split(userinfo, ":", parts: 2)
- login(user, pass)
- end
-
- def login(user, pass, expect \\ :success) do
- resp = Couch.post("/_session", body: %{:username => user, :password => pass})
-
- if expect == :success do
- true = resp.body["ok"]
- cookie = resp.headers[:"set-cookie"]
- [token | _] = String.split(cookie, ";")
- %Couch.Session{cookie: token}
- else
- true = Map.has_key?(resp.body, "error")
- %Couch.Session{error: resp.body["error"]}
- end
- end
-end