Skip to content

Commit

Permalink
Merge pull request #27 from fredr/improvement/dont_strip_return_atom
Browse files Browse the repository at this point in the history
Don't strip the return atom
  • Loading branch information
werbitzky authored Mar 18, 2017
2 parents c26a6a6 + 1467074 commit c5d3f0c
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 97 deletions.
6 changes: 0 additions & 6 deletions lib/elastix/bulk.ex
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,17 @@ defmodule Elastix.Bulk do
def post(elastic_url, lines, options \\ [], query_params \\ []) do
elastic_url <> make_path(Keyword.get(options, :index), Keyword.get(options, :type), query_params)
|> HTTP.put(Enum.reduce(lines, "", fn (line, payload) -> payload <> Poison.encode!(line) <> "\n" end))
|> process_response
end

def post_to_iolist(elastic_url, lines, options \\ [], query_params \\ []) do
elastic_url <> make_path(Keyword.get(options, :index), Keyword.get(options, :type), query_params)
|> HTTP.put(Enum.map(lines, fn line -> Poison.encode!(line) <> "\n" end))
|> process_response
end

@doc false
def post_raw(elastic_url, raw_data, options \\ [], query_params \\ []) do
elastic_url <> make_path(Keyword.get(options, :index), Keyword.get(options, :type), query_params)
|> HTTP.put(raw_data)
|> process_response
end

@doc false
Expand All @@ -44,7 +41,4 @@ defmodule Elastix.Bulk do

"#{path}?#{query_string}"
end

@doc false
defp process_response({_, response}), do: response
end
8 changes: 0 additions & 8 deletions lib/elastix/document.ex
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ defmodule Elastix.Document do
def index(elastic_url, index_name, type_name, id, data, query_params) do
elastic_url <> make_path(index_name, type_name, query_params, id)
|> HTTP.put(Poison.encode!(data))
|> process_response
end

@doc false
Expand All @@ -24,7 +23,6 @@ defmodule Elastix.Document do
def index_new(elastic_url, index_name, type_name, data, query_params) do
elastic_url <> make_path(index_name, type_name, query_params)
|> HTTP.post(Poison.encode!(data))
|> process_response
end

@doc false
Expand All @@ -36,21 +34,18 @@ defmodule Elastix.Document do
def get(elastic_url, index_name, type_name, id, query_params) do
elastic_url <> make_path(index_name, type_name, query_params, id)
|> HTTP.get
|> process_response
end

@doc false
def delete(elastic_url, index_name, type_name, id) do
elastic_url <> make_path(index_name, type_name, [], id)
|> HTTP.delete
|> process_response
end

@doc false
def delete(elastic_url, index_name, type_name, id, query_params) do
elastic_url <> make_path(index_name, type_name, query_params, id)
|> HTTP.delete
|> process_response
end

@doc false
Expand All @@ -75,7 +70,4 @@ defmodule Elastix.Document do

"#{path}?#{query_string}"
end

@doc false
defp process_response({_, response}), do: response
end
21 changes: 7 additions & 14 deletions lib/elastix/index.ex
Original file line number Diff line number Diff line change
Expand Up @@ -7,47 +7,40 @@ defmodule Elastix.Index do
def create(elastic_url, name, data) do
elastic_url <> make_path(name)
|> HTTP.put(Poison.encode!(data))
|> process_response
end

@doc false
def delete(elastic_url, name) do
elastic_url <> make_path(name)
|> HTTP.delete
|> process_response
end

@doc false
def get(elastic_url, name) do
elastic_url <> make_path(name)
|> HTTP.get
|> process_response
end

@doc false
def exists?(elastic_url, name) do
request = elastic_url <> make_path(name)
|> HTTP.head
|> process_response

case request.status_code do
200 -> true
404 -> false
case elastic_url <> make_path(name) |> HTTP.head do
{:ok, response} ->
case response.status_code do
200 -> {:ok, true}
404 -> {:ok, false}
end
err -> err
end
end

@doc false
def refresh(elastic_url, name) do
elastic_url <> make_path(name) <> make_path("_refresh")
|> HTTP.post("")
|> process_response
end

@doc false
def make_path(name) do
"/#{name}"
end

@doc false
defp process_response({_, response}), do: response
end
7 changes: 0 additions & 7 deletions lib/elastix/mapping.ex
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ defmodule Elastix.Mapping do
def put(elastic_url, index_names, type_name, data, query_params) when is_list(index_names) do
elastic_url <> make_path(index_names, [type_name], query_params)
|> HTTP.put(Poison.encode!(data))
|> process_response
end

@doc false
Expand Down Expand Up @@ -49,7 +48,6 @@ defmodule Elastix.Mapping do
def get(elastic_url, index_names, type_names, query_params) when is_list(type_names) and is_list(index_names) do
elastic_url <> make_path(index_names, type_names, query_params)
|> HTTP.get
|> process_response
end

@doc false
Expand All @@ -76,7 +74,6 @@ defmodule Elastix.Mapping do
def get_all(elastic_url, query_params) do
elastic_url <> make_all_path(query_params)
|> HTTP.get
|> process_response
end

@doc false
Expand All @@ -93,7 +90,6 @@ defmodule Elastix.Mapping do
def get_all_with_type(elastic_url, type_names, query_params) when is_list(type_names) do
elastic_url <> make_all_path(type_names, query_params)
|> HTTP.get
|> process_response
end

@doc false
Expand Down Expand Up @@ -144,7 +140,4 @@ defmodule Elastix.Mapping do

"#{path}?#{query_string}"
end

@doc false
defp process_response({_, response}), do: response
end
4 changes: 0 additions & 4 deletions lib/elastix/search.ex
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ defmodule Elastix.Search do
def search(elastic_url, index, types, data, query_params) do
elastic_url <> make_path(index, types, query_params)
|> HTTP.post(Poison.encode!(data))
|> process_response
end

@doc false
Expand Down Expand Up @@ -40,7 +39,4 @@ defmodule Elastix.Search do

"#{path}?#{query_string}"
end

@doc false
defp process_response({_, response}), do: response
end
54 changes: 27 additions & 27 deletions test/elastix/bulk_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -36,27 +36,27 @@ defmodule Elastix.BulkTest do
end

test "post bulk should execute it", %{lines: lines} do
response = Bulk.post @test_url, lines, index: @test_index, type: "message"
{:ok, response} = Bulk.post @test_url, lines, index: @test_index, type: "message"

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end

test "post bulk with raw body should execute it", %{lines: lines} do
response = Bulk.post_raw @test_url, Enum.map(lines, fn line -> Poison.encode!(line) <> "\n" end), index: @test_index, type: "message"
{:ok, response} = Bulk.post_raw @test_url, Enum.map(lines, fn line -> Poison.encode!(line) <> "\n" end), index: @test_index, type: "message"

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end

test "post bulk sending iolist should execute it", %{lines: lines} do
response = Bulk.post_to_iolist @test_url, lines, index: @test_index, type: "message"
{:ok, response} = Bulk.post_to_iolist @test_url, lines, index: @test_index, type: "message"

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end
end

Expand All @@ -71,27 +71,27 @@ defmodule Elastix.BulkTest do
end

test "post bulk should execute it", %{lines: lines} do
response = Bulk.post @test_url, lines, index: @test_index
{:ok, response} = Bulk.post @test_url, lines, index: @test_index

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end

test "post bulk with raw body should execute it", %{lines: lines} do
response = Bulk.post_raw @test_url, Enum.map(lines, fn line -> Poison.encode!(line) <> "\n" end), index: @test_index
{:ok, response} = Bulk.post_raw @test_url, Enum.map(lines, fn line -> Poison.encode!(line) <> "\n" end), index: @test_index

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end

test "post bulk sending iolist should execute it", %{lines: lines} do
response = Bulk.post_to_iolist @test_url, lines, index: @test_index
{:ok, response} = Bulk.post_to_iolist @test_url, lines, index: @test_index

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end
end

Expand All @@ -106,27 +106,27 @@ defmodule Elastix.BulkTest do
end

test "post bulk should execute it", %{lines: lines} do
response = Bulk.post @test_url, lines
{:ok, response} = Bulk.post @test_url, lines

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end

test "post bulk with raw body should execute it", %{lines: lines} do
response = Bulk.post_raw @test_url, Enum.map(lines, fn line -> Poison.encode!(line) <> "\n" end)
{:ok, response} = Bulk.post_raw @test_url, Enum.map(lines, fn line -> Poison.encode!(line) <> "\n" end)

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end

test "post bulk sending iolist should execute it", %{lines: lines} do
response = Bulk.post_to_iolist @test_url, lines
{:ok, response} = Bulk.post_to_iolist @test_url, lines

assert response.status_code == 200
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "1")
assert %{status_code: 200} = Document.get(@test_url, @test_index, "message", "2")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "1")
assert {:ok, %{status_code: 200}} = Document.get(@test_url, @test_index, "message", "2")
end
end
end
14 changes: 7 additions & 7 deletions test/elastix/document_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ defmodule Elastix.DocumentTest do
end

test "index should create and index with data" do
response = Document.index @test_url, @test_index, "message", 1, @data
{:ok, response} = Document.index @test_url, @test_index, "message", 1, @data

assert response.status_code == 201
assert response.body["_id"] == "1"
Expand All @@ -33,7 +33,7 @@ defmodule Elastix.DocumentTest do
end

test "index_new should index data without an id" do
response = Document.index_new @test_url, @test_index, "message", @data
{:ok, response} = Document.index_new @test_url, @test_index, "message", @data

assert response.status_code == 201
assert response.body["_id"]
Expand All @@ -43,14 +43,14 @@ defmodule Elastix.DocumentTest do
end

test "get should return 404 if not index was created" do
response = Document.get @test_url, @test_index, "message", 1
{:ok, response} = Document.get @test_url, @test_index, "message", 1

assert response.status_code == 404
end

test "get should return data with 200 after index" do
Document.index @test_url, @test_index, "message", 1, @data
response = Document.get @test_url, @test_index, "message", 1
{:ok, response} = Document.get @test_url, @test_index, "message", 1
body = response.body

assert response.status_code == 200
Expand All @@ -62,13 +62,13 @@ defmodule Elastix.DocumentTest do
test "delete should delete created index" do
Document.index @test_url, @test_index, "message", 1, @data

response = Document.get @test_url, @test_index, "message", 1
{:ok, response} = Document.get @test_url, @test_index, "message", 1
assert response.status_code == 200

response = Document.delete @test_url, @test_index, "message", 1
{:ok, response} = Document.delete @test_url, @test_index, "message", 1
assert response.status_code == 200

response = Document.get @test_url, @test_index, "message", 1
{:ok, response} = Document.get @test_url, @test_index, "message", 1
assert response.status_code == 404
end

Expand Down
Loading

0 comments on commit c5d3f0c

Please sign in to comment.