diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2018-01-26 14:31:47 -0600 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2018-01-26 14:54:21 -0600 |
commit | d15d0e7dbf4faf16c6fbcd6607de42d0eea7db18 (patch) | |
tree | eaf5d1f7c41c5ebc2f259567736d59c2e663a2d2 | |
parent | d35fea2d35db3e33f0feb3b418ca20c47b329977 (diff) | |
download | couchdb-d15d0e7dbf4faf16c6fbcd6607de42d0eea7db18.tar.gz |
Allow tests to set config values dynamically
-rw-r--r-- | test/elixir/test/test_helper.exs | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/test/elixir/test/test_helper.exs b/test/elixir/test/test_helper.exs index cb01fc286..9baf20432 100644 --- a/test/elixir/test/test_helper.exs +++ b/test/elixir/test/test_helper.exs @@ -66,15 +66,7 @@ defmodule CouchTestCase do end def set_config({section, key, value}) do - resp = Couch.get("/_membership") - existing = Enum.map(resp.body["all_nodes"], fn node -> - url = "/_node/#{node}/_config/#{section}/#{key}" - headers = ["X-Couch-Persist": "false"] - body = :jiffy.encode(value) - resp = Couch.put(url, headers: headers, body: body) - assert resp.status_code == 200 - {node, resp.body} - end) + existing = set_config_raw(section, key, value) on_exit(fn -> Enum.each(existing, fn {node, prev_value} -> if prev_value != "" do @@ -93,6 +85,18 @@ defmodule CouchTestCase do end) end + def set_config_raw(section, key, value) do + resp = Couch.get("/_membership") + Enum.map(resp.body["all_nodes"], fn node -> + url = "/_node/#{node}/_config/#{section}/#{key}" + headers = ["X-Couch-Persist": "false"] + body = :jiffy.encode(value) + resp = Couch.put(url, headers: headers, body: body) + assert resp.status_code == 200 + {node, resp.body} + end) + end + def create_db(db_name) do resp = Couch.put("/#{db_name}") assert resp.status_code == 201 |