summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorILYA Khlopotov <iilyak@apache.org>2020-02-04 07:06:57 -0800
committerILYA Khlopotov <iilyak@apache.org>2020-02-04 07:06:57 -0800
commit8650a4e0bb127165affe8972989f134d0e1f6554 (patch)
treeb9e68905c597f4913e67157f130445479f9df62d
parentbf397366f4a98e1767ab3e6eb83f3bffeacceaf6 (diff)
downloadcouchdb-8650a4e0bb127165affe8972989f134d0e1f6554.tar.gz
Support setting base_url in Couch test helper
-rw-r--r--test/elixir/lib/couch.ex21
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