This is an automated email from the ASF dual-hosted git repository. jan pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 794c317a37cbbed817d63b5dff9b2f164e4e81d4 Author: James Coglan <[email protected]> AuthorDate: Mon Nov 10 15:41:01 2025 +0000 Instruct jiffy to use `nil` as the Elixir equivalent of the JSON null value --- test/elixir/lib/couch.ex | 4 ++-- test/elixir/lib/couch/dbtest.ex | 8 ++++---- test/elixir/lib/couch_raw.ex | 2 +- test/elixir/test/all_docs_test.exs | 2 +- test/elixir/test/attachments_multipart_test.exs | 14 +++++++------- test/elixir/test/changes_async_test.exs | 6 +++--- test/elixir/test/changes_test.exs | 2 +- test/elixir/test/config_test.exs | 2 +- test/elixir/test/design_docs_test.exs | 2 +- test/elixir/test/design_options_test.exs | 2 +- test/elixir/test/erlang_views_test.exs | 2 +- test/elixir/test/jsonp_test.exs | 2 +- test/elixir/test/nouveau_test.exs | 2 +- test/elixir/test/partition_crud_test.exs | 2 +- test/elixir/test/partition_mango_test.exs | 4 ++-- test/elixir/test/replication_test.exs | 2 +- test/elixir/test/reshard_basic_test.exs | 8 ++++---- test/elixir/test/rewrite_test.exs | 4 ++-- test/elixir/test/users_db_test.exs | 2 +- test/elixir/test/view_collation_raw_test.exs | 6 +++--- test/elixir/test/view_collation_test.exs | 6 +++--- test/elixir/test/view_errors_test.exs | 4 ++-- test/elixir/test/view_multi_key_all_docs_test.exs | 10 +++++----- test/elixir/test/view_multi_key_design_test.exs | 18 +++++++++--------- test/elixir/test/view_offsets_test.exs | 2 +- 25 files changed, 59 insertions(+), 59 deletions(-) diff --git a/test/elixir/lib/couch.ex b/test/elixir/lib/couch.ex index efdfe31eb..a119095a9 100644 --- a/test/elixir/lib/couch.ex +++ b/test/elixir/lib/couch.ex @@ -117,7 +117,7 @@ defmodule Couch do def process_request_body(body) do if is_map(body) do - :jiffy.encode(body) + :jiffy.encode(body, [:use_nil]) else body end @@ -131,7 +131,7 @@ defmodule Couch do content_type = headers[:"Content-Type"] if !!content_type and String.match?(content_type, ~r/application\/json/) do - body |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps]) + body |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps, :use_nil]) else process_response_body(body) end diff --git a/test/elixir/lib/couch/dbtest.ex b/test/elixir/lib/couch/dbtest.ex index b1ef926ab..693e6f0f3 100644 --- a/test/elixir/lib/couch/dbtest.ex +++ b/test/elixir/lib/couch/dbtest.ex @@ -90,7 +90,7 @@ defmodule Couch.DBTest do if prev_value != "" do url = "/_node/#{node}/_config/#{section}/#{key}" headers = ["X-Couch-Persist": "false"] - body = :jiffy.encode(prev_value) + body = :jiffy.encode(prev_value, [:use_nil]) resp = Couch.put(url, headers: headers, body: body) assert resp.status_code == 200 else @@ -109,7 +109,7 @@ defmodule Couch.DBTest do Enum.map(resp.body["all_nodes"], fn node -> url = "/_node/#{node}/_config/#{section}/#{key}" headers = ["X-Couch-Persist": "false"] - body = :jiffy.encode(value) + body = :jiffy.encode(value, [:use_nil]) resp = Couch.put(url, headers: headers, body: body) assert resp.status_code == 200 {node, resp.body} @@ -494,7 +494,7 @@ defmodule Couch.DBTest do Couch.put( "/_node/#{node}/_config/#{setting.section}/#{setting.key}", headers: ["X-Couch-Persist": false], - body: :jiffy.encode(setting.value) + body: :jiffy.encode(setting.value, [:use_nil]) ) assert resp.status_code == 200 @@ -525,7 +525,7 @@ defmodule Couch.DBTest do Couch.put( "/_node/#{node}/_config/#{setting.section}/#{setting.key}", headers: ["X-Couch-Persist": false], - body: :jiffy.encode(value) + body: :jiffy.encode(value, [:use_nil]) ) assert resp.status_code == 200 diff --git a/test/elixir/lib/couch_raw.ex b/test/elixir/lib/couch_raw.ex index 62a0bbd0e..641612c9c 100644 --- a/test/elixir/lib/couch_raw.ex +++ b/test/elixir/lib/couch_raw.ex @@ -46,7 +46,7 @@ defmodule Rawresp do def process_request_body(body) do if is_map(body) do - :jiffy.encode(body) + :jiffy.encode(body, [:use_nil]) else body end diff --git a/test/elixir/test/all_docs_test.exs b/test/elixir/test/all_docs_test.exs index 3d07e12e8..63b2ad5e4 100644 --- a/test/elixir/test/all_docs_test.exs +++ b/test/elixir/test/all_docs_test.exs @@ -116,7 +116,7 @@ defmodule AllDocsTest do assert row["key"] == "1" assert row["id"] == "1" assert row["value"]["deleted"] - assert row["doc"] == :null + assert row["doc"] == nil # Add conflicts conflicted_doc1 = %{ diff --git a/test/elixir/test/attachments_multipart_test.exs b/test/elixir/test/attachments_multipart_test.exs index 1161140a3..6a63df0e0 100644 --- a/test/elixir/test/attachments_multipart_test.exs +++ b/test/elixir/test/attachments_multipart_test.exs @@ -152,7 +152,7 @@ defmodule AttachmentMultipartTest do assert Enum.at(sections, 2).headers["Content-Disposition"] == ~s(attachment; filename="bar.txt") - doc = :jiffy.decode(Enum.at(sections, 0).body, [:return_maps]) + doc = :jiffy.decode(Enum.at(sections, 0).body, [:return_maps, :use_nil]) assert doc["_attachments"]["foo.txt"]["follows"] == true assert doc["_attachments"]["bar.txt"]["follows"] == true @@ -175,7 +175,7 @@ defmodule AttachmentMultipartTest do sections = parse_multipart(resp) assert length(sections) == 2 - doc = :jiffy.decode(Enum.at(sections, 0).body, [:return_maps]) + doc = :jiffy.decode(Enum.at(sections, 0).body, [:return_maps, :use_nil]) assert doc["_attachments"]["foo.txt"]["stub"] == true assert doc["_attachments"]["bar.txt"]["follows"] == true @@ -206,7 +206,7 @@ defmodule AttachmentMultipartTest do assert length(inner_sections) == 2 assert Enum.at(inner_sections, 0).headers["Content-Type"] == "application/json" - doc = :jiffy.decode(Enum.at(inner_sections, 0).body, [:return_maps]) + doc = :jiffy.decode(Enum.at(inner_sections, 0).body, [:return_maps, :use_nil]) assert doc["_attachments"]["foo.txt"]["stub"] == true assert doc["_attachments"]["bar.txt"]["follows"] == true @@ -228,7 +228,7 @@ defmodule AttachmentMultipartTest do assert length(sections) == 2 - doc = :jiffy.decode(Enum.at(sections, 0).body, [:return_maps]) + doc = :jiffy.decode(Enum.at(sections, 0).body, [:return_maps, :use_nil]) assert doc["_attachments"]["foo.txt"]["stub"] == true assert doc["_attachments"]["bar.txt"]["follows"] == true assert Enum.at(sections, 1).body == "this is 18 chars l" @@ -377,7 +377,7 @@ defmodule AttachmentMultipartTest do assert length(inner_sections) == 3 assert Enum.at(inner_sections, 0).headers["Content-Type"] == "application/json" - doc = :jiffy.decode(Enum.at(inner_sections, 0).body, [:return_maps]) + doc = :jiffy.decode(Enum.at(inner_sections, 0).body, [:return_maps, :use_nil]) assert doc["_attachments"]["lorem.txt"]["follows"] == true assert doc["_attachments"]["lorem.txt"]["encoding"] == "gzip" assert doc["_attachments"]["data.bin"]["follows"] == true @@ -414,7 +414,7 @@ defmodule AttachmentMultipartTest do # 2 inner sections: a document body section plus 1 attachment data section assert length(inner_sections) == 2 assert Enum.at(inner_sections, 0).headers["Content-Type"] == "application/json" - doc = :jiffy.decode(Enum.at(inner_sections, 0).body, [:return_maps]) + doc = :jiffy.decode(Enum.at(inner_sections, 0).body, [:return_maps, :use_nil]) assert doc["_attachments"]["lorem.txt"]["follows"] == true assert doc["_attachments"]["lorem.txt"]["encoding"] == "gzip" assert Enum.at(inner_sections, 1).body != lorem @@ -434,7 +434,7 @@ defmodule AttachmentMultipartTest do boundary = Enum.at(String.split(boundary_arg, "="), 1) if String.starts_with?(boundary, ~s(")) do - :jiffy.decode(boundary) + :jiffy.decode(boundary, [:use_nil]) else boundary end diff --git a/test/elixir/test/changes_async_test.exs b/test/elixir/test/changes_async_test.exs index ae8fb41b2..75362d8a9 100644 --- a/test/elixir/test/changes_async_test.exs +++ b/test/elixir/test/changes_async_test.exs @@ -407,7 +407,7 @@ defmodule ChangesAsyncTest do end defp parse_chunk(msg) do - msg.chunk |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps]) + msg.chunk |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps, :use_nil]) end defp parse_event(msg) do @@ -419,7 +419,7 @@ defmodule ChangesAsyncTest do |> Enum.map(fn p -> p |> IO.iodata_to_binary() - |> :jiffy.decode([:return_maps]) + |> :jiffy.decode([:return_maps, :use_nil]) end) end @@ -497,7 +497,7 @@ defmodule ChangesAsyncTest do body_lines |> Enum.filter(fn line -> line != "" end) |> Enum.map(fn line -> - line |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps]) + line |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps, :use_nil]) end) end diff --git a/test/elixir/test/changes_test.exs b/test/elixir/test/changes_test.exs index 8547af59f..9fff12e72 100644 --- a/test/elixir/test/changes_test.exs +++ b/test/elixir/test/changes_test.exs @@ -198,7 +198,7 @@ defmodule ChangesTest do assert Enum.member?(changes_ids, "doc1") assert Enum.member?(changes_ids, "doc3") - encoded_doc_ids = doc_ids.doc_ids |> :jiffy.encode() + encoded_doc_ids = doc_ids.doc_ids |> :jiffy.encode([:use_nil]) resp = Couch.get("/#{db_name}/_changes", diff --git a/test/elixir/test/config_test.exs b/test/elixir/test/config_test.exs index 5a5140840..d1a4f7d9c 100644 --- a/test/elixir/test/config_test.exs +++ b/test/elixir/test/config_test.exs @@ -23,7 +23,7 @@ defmodule ConfigTest do def set_config(context, section, key, val, status_assert) do url = "#{context[:config_url]}/#{section}/#{key}" headers = ["X-Couch-Persist": "false"] - resp = Couch.put(url, headers: headers, body: :jiffy.encode(val)) + resp = Couch.put(url, headers: headers, body: :jiffy.encode(val, [:use_nil])) if status_assert do assert resp.status_code == status_assert diff --git a/test/elixir/test/design_docs_test.exs b/test/elixir/test/design_docs_test.exs index 46f12e153..8ef744bdf 100644 --- a/test/elixir/test/design_docs_test.exs +++ b/test/elixir/test/design_docs_test.exs @@ -222,7 +222,7 @@ defmodule DesignDocsTest do result = resp.body |> IO.iodata_to_binary() - |> :jiffy.decode([:return_maps]) + |> :jiffy.decode([:return_maps, :use_nil]) assert result["language"] == "javascript" end diff --git a/test/elixir/test/design_options_test.exs b/test/elixir/test/design_options_test.exs index 95a938e38..02015b55d 100644 --- a/test/elixir/test/design_options_test.exs +++ b/test/elixir/test/design_options_test.exs @@ -50,7 +50,7 @@ defmodule DesignOptionsTest do row_with_key = resp.body["rows"] - |> Enum.filter(fn p -> p["key"] != :null end) + |> Enum.filter(fn p -> p["key"] != nil end) assert length(row_with_key) == 2 end diff --git a/test/elixir/test/erlang_views_test.exs b/test/elixir/test/erlang_views_test.exs index 3346c2274..ceacfeb3d 100644 --- a/test/elixir/test/erlang_views_test.exs +++ b/test/elixir/test/erlang_views_test.exs @@ -96,7 +96,7 @@ defmodule ErlangViewsTest do "erlang" ) - assert Map.get(List.first(results["rows"]), "key", :null) == :null + assert Map.get(List.first(results["rows"]), "key", nil) == nil assert List.first(results["rows"])["value"] > 0 end diff --git a/test/elixir/test/jsonp_test.exs b/test/elixir/test/jsonp_test.exs index 169f66387..0dbb59b78 100644 --- a/test/elixir/test/jsonp_test.exs +++ b/test/elixir/test/jsonp_test.exs @@ -107,7 +107,7 @@ defmodule JsonpTest do |> Enum.map(fn p -> p |> IO.iodata_to_binary() - |> :jiffy.decode([:return_maps]) + |> :jiffy.decode([:return_maps, :use_nil]) end) |> Enum.at(0) diff --git a/test/elixir/test/nouveau_test.exs b/test/elixir/test/nouveau_test.exs index 18732766d..888513fab 100644 --- a/test/elixir/test/nouveau_test.exs +++ b/test/elixir/test/nouveau_test.exs @@ -140,7 +140,7 @@ defmodule NouveauTest do def assert_status_code(resp, code) do assert resp.status_code == code, - "status code: #{resp.status_code}, resp body: #{:jiffy.encode(resp.body)}" + "status code: #{resp.status_code}, resp body: #{:jiffy.encode(resp.body, [:use_nil])}" end test "user-agent header is forbidden", _context do diff --git a/test/elixir/test/partition_crud_test.exs b/test/elixir/test/partition_crud_test.exs index 7e32abbdc..dba575da3 100644 --- a/test/elixir/test/partition_crud_test.exs +++ b/test/elixir/test/partition_crud_test.exs @@ -154,7 +154,7 @@ defmodule PartitionCrudTest do "error" => "illegal_docid", "id" => "my-partition-post", "reason" => "Doc id must be of form partition:id", - "rev" => :null + "rev" => nil } } ], diff --git a/test/elixir/test/partition_mango_test.exs b/test/elixir/test/partition_mango_test.exs index 9e4f1e783..87a738e62 100644 --- a/test/elixir/test/partition_mango_test.exs +++ b/test/elixir/test/partition_mango_test.exs @@ -478,7 +478,7 @@ defmodule PartitionMangoTest do %{:body => body} = resp assert body["index"]["name"] == "_all_docs" - assert body["mrargs"]["partition"] == :null + assert body["mrargs"]["partition"] == nil resp = Couch.post( @@ -493,7 +493,7 @@ defmodule PartitionMangoTest do %{:body => body} = resp assert body["index"]["def"] == %{"fields" => [%{"some" => "asc"}]} - assert body["mrargs"]["partition"] == :null + assert body["mrargs"]["partition"] == nil end @tag :with_partitioned_db diff --git a/test/elixir/test/replication_test.exs b/test/elixir/test/replication_test.exs index 315136324..75e69ed2d 100644 --- a/test/elixir/test/replication_test.exs +++ b/test/elixir/test/replication_test.exs @@ -1627,7 +1627,7 @@ defmodule ReplicationTest do end def set_security(db_name, sec_props) do - resp = Couch.put("/#{db_name}/_security", body: :jiffy.encode(sec_props)) + resp = Couch.put("/#{db_name}/_security", body: :jiffy.encode(sec_props, [:use_nil])) assert HTTPotion.Response.success?(resp) assert resp.body["ok"] end diff --git a/test/elixir/test/reshard_basic_test.exs b/test/elixir/test/reshard_basic_test.exs index dcb198c46..5fe5f7643 100644 --- a/test/elixir/test/reshard_basic_test.exs +++ b/test/elixir/test/reshard_basic_test.exs @@ -24,12 +24,12 @@ defmodule ReshardBasicTest do test "basic api querying, no jobs present" do summary = get_summary() assert summary["state"] == "running" - assert summary["state_reason"] == :null + assert summary["state_reason"] == nil assert summary["total"] == 0 assert summary["completed"] == 0 assert summary["failed"] == 0 assert summary["stopped"] == 0 - assert get_state() == %{"state" => "running", "reason" => :null} + assert get_state() == %{"state" => "running", "reason" => nil} assert get_jobs() == [] end @@ -57,11 +57,11 @@ defmodule ReshardBasicTest do end test "toggle global state" do - assert get_state() == %{"state" => "running", "reason" => :null} + assert get_state() == %{"state" => "running", "reason" => nil} put_state_stopped("xyz") assert get_state() == %{"state" => "stopped", "reason" => "xyz"} put_state_running() - assert get_state() == %{"state" => "running", "reason" => :null} + assert get_state() == %{"state" => "running", "reason" => nil} end test "split q=1 db shards on node1 (1 job)", context do diff --git a/test/elixir/test/rewrite_test.exs b/test/elixir/test/rewrite_test.exs index e23d63609..34fe3b7f5 100644 --- a/test/elixir/test/rewrite_test.exs +++ b/test/elixir/test/rewrite_test.exs @@ -420,14 +420,14 @@ defmodule RewriteTest do ) assert resp.status_code == 200 - result = resp.body |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps]) + result = resp.body |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps, :use_nil]) first_row = Enum.at(result["rows"], 0) assert Map.has_key?(first_row, "doc") # COUCHDB-2031 - path normalization versus qs params resp = Rawresp.get("/#{db_name}/_design/test/_rewrite/db/_design/test?meta=true") assert resp.status_code == 200 - result = resp.body |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps]) + result = resp.body |> IO.iodata_to_binary() |> :jiffy.decode([:return_maps, :use_nil]) assert result["_id"] == "_design/test" assert Map.has_key?(result, "_revs_info") diff --git a/test/elixir/test/users_db_test.exs b/test/elixir/test/users_db_test.exs index bc09df9ba..2239eb4c2 100644 --- a/test/elixir/test/users_db_test.exs +++ b/test/elixir/test/users_db_test.exs @@ -126,7 +126,7 @@ defmodule UsersDbTest do headers: [authorization: "Basic Xzpf"] ) - assert resp.body["userCtx"]["name"] == :null + assert resp.body["userCtx"]["name"] == nil assert not Enum.member?(resp.body["info"], "authenticated") # ok, now create a conflicting edit on the jchris doc, and make sure there's no login. diff --git a/test/elixir/test/view_collation_raw_test.exs b/test/elixir/test/view_collation_raw_test.exs index ee272d72e..90f736621 100644 --- a/test/elixir/test/view_collation_raw_test.exs +++ b/test/elixir/test/view_collation_raw_test.exs @@ -13,7 +13,7 @@ defmodule ViewCollationRawTest do 3, 4, false, - :null, + nil, true, # Then objects, compared each key value in the list until different. @@ -109,7 +109,7 @@ defmodule ViewCollationRawTest do test "key query option", context do Enum.each(@values, fn value -> retry_until(fn -> - resp = Couch.get(url(context), query: %{:key => :jiffy.encode(value)}) + resp = Couch.get(url(context), query: %{:key => :jiffy.encode(value, [:use_nil])}) assert length(resp.body["rows"]) == 1 assert Enum.at(resp.body["rows"], 0)["key"] == convert(value) end) @@ -154,6 +154,6 @@ defmodule ViewCollationRawTest do end def convert(value) do - :jiffy.decode(:jiffy.encode(value), [:return_maps]) + :jiffy.decode(:jiffy.encode(value, [:use_nil]), [:return_maps, :use_nil]) end end diff --git a/test/elixir/test/view_collation_test.exs b/test/elixir/test/view_collation_test.exs index 7563ba416..5f9a2ab97 100644 --- a/test/elixir/test/view_collation_test.exs +++ b/test/elixir/test/view_collation_test.exs @@ -8,7 +8,7 @@ defmodule ViewCollationTest do @values [ # Special values sort before all other types - :null, + nil, false, true, @@ -94,7 +94,7 @@ defmodule ViewCollationTest do test "key query option", context do Enum.each(@values, fn value -> retry_until(fn -> - resp = Couch.get(url(context), query: %{:key => :jiffy.encode(value)}) + resp = Couch.get(url(context), query: %{:key => :jiffy.encode(value, [:use_nil])}) assert length(resp.body["rows"]) == 1 assert Enum.at(resp.body["rows"], 0)["key"] == convert(value) end) @@ -139,6 +139,6 @@ defmodule ViewCollationTest do end def convert(value) do - :jiffy.decode(:jiffy.encode(value), [:return_maps]) + :jiffy.decode(:jiffy.encode(value, [:use_nil]), [:return_maps, :use_nil]) end end diff --git a/test/elixir/test/view_errors_test.exs b/test/elixir/test/view_errors_test.exs index d45eb7c3f..bf5631277 100644 --- a/test/elixir/test/view_errors_test.exs +++ b/test/elixir/test/view_errors_test.exs @@ -20,7 +20,7 @@ defmodule ViewErrorsTest do # being included in the view results as null results = query(db_name, map_fun) assert results["total_rows"] == 1 - assert Enum.at(results["rows"], 0)["key"] == :null + assert Enum.at(results["rows"], 0)["key"] == nil end @tag :with_db @@ -62,7 +62,7 @@ defmodule ViewErrorsTest do |> Map.get("key") |> Enum.at(1) - assert key == :null + assert key == nil end @tag :with_db diff --git a/test/elixir/test/view_multi_key_all_docs_test.exs b/test/elixir/test/view_multi_key_all_docs_test.exs index d9fa41e23..4ca64363f 100644 --- a/test/elixir/test/view_multi_key_all_docs_test.exs +++ b/test/elixir/test/view_multi_key_all_docs_test.exs @@ -27,7 +27,7 @@ defmodule ViewMultiKeyAllDocsTest do test "keys in GET parameters", context do db_name = context[:db_name] - resp = all_docs(db_name, keys: :jiffy.encode(@keys)) + resp = all_docs(db_name, keys: :jiffy.encode(@keys, [:use_nil])) assert resp.status_code == 200 rows = resp.body["rows"] assert length(rows) == length(@keys) @@ -47,7 +47,7 @@ defmodule ViewMultiKeyAllDocsTest do test "keys in GET parameters (limit)", context do db_name = context[:db_name] - resp = all_docs(db_name, limit: 1, keys: :jiffy.encode(@keys)) + resp = all_docs(db_name, limit: 1, keys: :jiffy.encode(@keys, [:use_nil])) assert resp.status_code == 200 rows = resp.body["rows"] assert length(rows) == 1 @@ -68,7 +68,7 @@ defmodule ViewMultiKeyAllDocsTest do test "keys in GET parameters (skip)", context do db_name = context[:db_name] - resp = all_docs(db_name, skip: 2, keys: :jiffy.encode(@keys)) + resp = all_docs(db_name, skip: 2, keys: :jiffy.encode(@keys, [:use_nil])) assert resp.status_code == 200 rows = resp.body["rows"] assert length(rows) == 3 @@ -90,7 +90,7 @@ defmodule ViewMultiKeyAllDocsTest do test "keys in GET parameters (descending)", context do db_name = context[:db_name] - resp = all_docs(db_name, descending: true, keys: :jiffy.encode(@keys)) + resp = all_docs(db_name, descending: true, keys: :jiffy.encode(@keys, [:use_nil])) assert resp.status_code == 200 rows = resp.body["rows"] assert length(rows) == length(@keys) @@ -119,7 +119,7 @@ defmodule ViewMultiKeyAllDocsTest do db_name = context[:db_name] resp = - all_docs(db_name, descending: "true", skip: 3, limit: 1, keys: :jiffy.encode(@keys)) + all_docs(db_name, descending: "true", skip: 3, limit: 1, keys: :jiffy.encode(@keys, [:use_nil])) assert resp.status_code == 200 rows = resp.body["rows"] diff --git a/test/elixir/test/view_multi_key_design_test.exs b/test/elixir/test/view_multi_key_design_test.exs index c33491620..0af99b407 100644 --- a/test/elixir/test/view_multi_key_design_test.exs +++ b/test/elixir/test/view_multi_key_design_test.exs @@ -53,7 +53,7 @@ defmodule ViewMultiKeyDesignTest do test "keys in GET parameters", context do db_name = context[:db_name] - resp = view(db_name, "test/all_docs", keys: :jiffy.encode(@keys)) + resp = view(db_name, "test/all_docs", keys: :jiffy.encode(@keys, [:use_nil])) rows = resp.body["rows"] assert length(rows) == length(@keys) assert Enum.all?(rows, &Enum.member?(@keys, &1["key"])) @@ -80,7 +80,7 @@ defmodule ViewMultiKeyDesignTest do test "keys in GET body (group)", context do db_name = context[:db_name] - resp = view(db_name, "test/summate", group: true, keys: :jiffy.encode(@keys)) + resp = view(db_name, "test/summate", group: true, keys: :jiffy.encode(@keys, [:use_nil])) rows = resp.body["rows"] assert length(rows) == length(@keys) assert Enum.all?(rows, &Enum.member?(@keys, &1["key"])) @@ -117,10 +117,10 @@ defmodule ViewMultiKeyDesignTest do db_name = context[:db_name] badargs = [ - [startkey: 0, keys: :jiffy.encode(@keys)], - [endkey: 0, keys: :jiffy.encode(@keys)], - [key: 0, keys: :jiffy.encode(@keys)], - [group_level: 2, keys: :jiffy.encode(@keys)] + [startkey: 0, keys: :jiffy.encode(@keys, [:use_nil])], + [endkey: 0, keys: :jiffy.encode(@keys, [:use_nil])], + [key: 0, keys: :jiffy.encode(@keys, [:use_nil])], + [group_level: 2, keys: :jiffy.encode(@keys, [:use_nil])] ] Enum.each(badargs, fn args -> @@ -135,7 +135,7 @@ defmodule ViewMultiKeyDesignTest do resp = Couch.get("/#{db_name}/_design/test/_view/summate", - query: [keys: :jiffy.encode(@keys)], + query: [keys: :jiffy.encode(@keys, [:use_nil])], body: %{"keys" => @keys} ) @@ -148,7 +148,7 @@ defmodule ViewMultiKeyDesignTest do resp = view(db_name, "test/summate", [reduce: false], @keys) assert length(resp.body["rows"]) == 5 - resp = view(db_name, "test/summate", reduce: false, keys: :jiffy.encode(@keys)) + resp = view(db_name, "test/summate", reduce: false, keys: :jiffy.encode(@keys, [:use_nil])) assert length(resp.body["rows"]) == 5 end @@ -191,7 +191,7 @@ defmodule ViewMultiKeyDesignTest do assert length(rows) == 1 assert Enum.at(rows, 0)["key"] == 10 - resp = view(db_name, "test/all_docs", limit: 1, keys: :jiffy.encode(@keys)) + resp = view(db_name, "test/all_docs", limit: 1, keys: :jiffy.encode(@keys, [:use_nil])) rows = resp.body["rows"] assert length(rows) == 1 assert Enum.at(rows, 0)["key"] == 10 diff --git a/test/elixir/test/view_offsets_test.exs b/test/elixir/test/view_offsets_test.exs index edb5a58f6..34f2aba71 100644 --- a/test/elixir/test/view_offsets_test.exs +++ b/test/elixir/test/view_offsets_test.exs @@ -51,7 +51,7 @@ defmodule ViewOffsetTest do |> Enum.each(fn [start_key, offset] -> result = view(db_name, "test/offset", %{ - "startkey" => :jiffy.encode(start_key), + "startkey" => :jiffy.encode(start_key, [:use_nil]), "descending" => true })
