diff options
author | ILYA Khlopotov <iilyak@apache.org> | 2020-02-04 07:06:57 -0800 |
---|---|---|
committer | ILYA Khlopotov <iilyak@apache.org> | 2020-02-04 07:06:57 -0800 |
commit | 8650a4e0bb127165affe8972989f134d0e1f6554 (patch) | |
tree | b9e68905c597f4913e67157f130445479f9df62d | |
parent | bf397366f4a98e1767ab3e6eb83f3bffeacceaf6 (diff) | |
download | couchdb-8650a4e0bb127165affe8972989f134d0e1f6554.tar.gz |
Support setting base_url in Couch test helper
-rw-r--r-- | test/elixir/lib/couch.ex | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/test/elixir/lib/couch.ex b/test/elixir/lib/couch.ex index 8f47ad85c..3fa5001d5 100644 --- a/test/elixir/lib/couch.ex +++ b/test/elixir/lib/couch.ex @@ -4,7 +4,7 @@ defmodule Couch.Session do """ @enforce_keys [:cookie] - defstruct [:cookie] + defstruct [:cookie, :base_url] def new(cookie) do %Couch.Session{cookie: cookie} @@ -34,6 +34,7 @@ defmodule Couch.Session do def go(%Couch.Session{} = sess, method, url, opts) do opts = Keyword.merge(opts, cookie: sess.cookie) + opts = Keyword.merge(opts, base_url: sess.base_url) Couch.request(method, url, opts) end @@ -54,8 +55,13 @@ defmodule Couch do url end - def process_url(url) do - base_url = System.get_env("EX_COUCH_URL") || "http://127.0.0.1:15984" + def process_url(url, options) do + base_url = case Keyword.get(options, :base_url) do + nil -> + System.get_env("EX_COUCH_URL") || "http://127.0.0.1:15984" + base_url -> + base_url + end base_url <> url end @@ -114,15 +120,16 @@ defmodule Couch do def login(userinfo) do [user, pass] = String.split(userinfo, ":", parts: 2) - login(user, pass) + login(nil, user, pass) end - def login(user, pass) do - resp = Couch.post("/_session", body: %{:username => user, :password => pass}) + def login(base_url, user, pass) do + resp = Couch.post("/_session", + body: %{:username => user, :password => pass}, base_url: base_url) true = resp.body["ok"] cookie = resp.headers[:"set-cookie"] [token | _] = String.split(cookie, ";") - %Couch.Session{cookie: token} + %Couch.Session{cookie: token, base_url: base_url} end end |