From 224a1ec1ee1ac90df5f89497a7f5475a02b39f27 Mon Sep 17 00:00:00 2001 From: audreyschwarz Date: Fri, 19 Feb 2016 19:59:32 -0600 Subject: [PATCH] Refactor test, fix build with mongoid2/3/5 --- lib/searchkick.rb | 8 +++----- test/errors_test.rb | 22 ++++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/searchkick.rb b/lib/searchkick.rb index c9df9a6..313b099 100644 --- a/lib/searchkick.rb +++ b/lib/searchkick.rb @@ -103,12 +103,10 @@ module Searchkick if items.any? response = client.bulk(body: items) if response["errors"] - messages = response["items"].map do |item| + first_with_error = response["items"].map do |item| (item["index"] || item["delete"]) - end.select { |item| item["error"] }.map do |item| - "#{item["error"]} on item with id '#{item["_id"]}'" - end.join "\n" - raise Searchkick::ImportError, messages + end.find { |item| item["error"] } + raise Searchkick::ImportError, "#{first_with_error["error"]} on item with id '#{first_with_error["_id"]}'" end end end diff --git a/test/errors_test.rb b/test/errors_test.rb index 00511d8..7d26b74 100644 --- a/test/errors_test.rb +++ b/test/errors_test.rb @@ -2,16 +2,18 @@ require_relative "test_helper" class ErrorsTest < Minitest::Test def test_bulk_import_raises_with_full_message - valid_dog = Dog.new(name: "2016-01-01") - invalid_dog_1 = Dog.new(name: "Bucket") - invalid_dog_2 = Dog.new(name: "Ol' One-Leg") - index = Searchkick::Index.new "dogs" - message = nil - begin - index.bulk_index [valid_dog, invalid_dog_1, invalid_dog_2] - rescue Searchkick::ImportError => e - message = e.message + valid_dog = Dog.new(name: "2016-01-02") + invalid_dog = Dog.new(name: "Ol' One-Leg") + index = Searchkick::Index.new "dogs", mappings: { + dog: { + properties: { + name: { type: "date" } + } + } + } + error = assert_raises(Searchkick::ImportError) do + index.bulk_index [valid_dog, invalid_dog] end - assert_match /MapperParsingException.*Bucket.*Ol' One-Leg/m, message + assert_match /MapperParsingException.*Ol' One-Leg/, error.message end end -- libgit2 0.21.0