elasticsearch-transport 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile CHANGED
@@ -2,3 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in elasticsearch-transport.gemspec
4
4
  gemspec
5
+
6
+ if File.exists? File.expand_path("../../elasticsearch-extensions", __FILE__)
7
+ gem 'elasticsearch-extensions', :path => File.expand_path("../../elasticsearch-extensions", __FILE__), :require => true
8
+ end
data/README.md CHANGED
@@ -16,7 +16,7 @@ data serialization and transport.
16
16
  It does not handle calling the Elasticsearch API;
17
17
  see the [`elasticsearch-api`](https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-api) library.
18
18
 
19
- The library is compatible with Ruby 1.8.7 or higher.
19
+ The library is compatible with Ruby 1.8.7 or higher and with Elasticsearch 0.90 and 1.0.
20
20
 
21
21
  Features overview:
22
22
 
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
43
43
  s.add_development_dependency "ci_reporter"
44
44
 
45
45
  # Gems for testing integrations
46
- s.add_development_dependency "curb"
46
+ s.add_development_dependency "curb" unless defined? JRUBY_VERSION
47
47
  s.add_development_dependency "typhoeus", '~> 0.6'
48
48
 
49
49
  # Prevent unit test failures on Ruby 1.8
@@ -53,8 +53,9 @@ Gem::Specification.new do |s|
53
53
  end
54
54
 
55
55
  if defined?(RUBY_VERSION) && RUBY_VERSION > '1.9'
56
- s.add_development_dependency "ruby-prof"
56
+ s.add_development_dependency "ruby-prof" unless defined? JRUBY_VERSION
57
57
  s.add_development_dependency "simplecov"
58
+ s.add_development_dependency "simplecov-rcov"
58
59
  s.add_development_dependency "cane"
59
60
  s.add_development_dependency "require-prof"
60
61
  s.add_development_dependency "coveralls"
@@ -209,7 +209,7 @@ module Elasticsearch
209
209
  raise e
210
210
  end
211
211
 
212
- json = serializer.load(response.body) if response.body.to_s =~ /^\{/
212
+ json = serializer.load(response.body) if response.headers && response.headers["content-type"] =~ /json/
213
213
  took = (json['took'] ? sprintf('%.3fs', json['took']/1000.0) : 'n/a') rescue 'n/a' if logger || tracer
214
214
  duration = Time.now-start if logger || tracer
215
215
 
@@ -44,7 +44,7 @@ module Elasticsearch
44
44
 
45
45
  client = ::Curl::Easy.new
46
46
  client.resolve_mode = :ipv4
47
- client.headers = {'User-Agent' => "Curb #{Curl::CURB_VERSION}", 'Content-Type' => 'application/json' }
47
+ client.headers = {'User-Agent' => "Curb #{Curl::CURB_VERSION}"}
48
48
  client.url = __full_url(host)
49
49
 
50
50
  if host[:user]
@@ -22,7 +22,7 @@ module Elasticsearch
22
22
  method.downcase.to_sym,
23
23
  url,
24
24
  ( body ? __convert_to_json(body) : nil ),
25
- {'Content-Type' => 'application/json'}
25
+ {}
26
26
  end
27
27
  end
28
28
 
@@ -1,5 +1,5 @@
1
1
  module Elasticsearch
2
2
  module Transport
3
- VERSION = "0.4.7"
3
+ VERSION = "0.4.8"
4
4
  end
5
5
  end
@@ -14,6 +14,14 @@ class Elasticsearch::Transport::ClientIntegrationTest < Elasticsearch::Test::Int
14
14
  require 'typhoeus'
15
15
  require 'typhoeus/adapters/faraday'
16
16
 
17
+ # Fix for unreleased Typhoeus version (https://github.com/typhoeus/typhoeus/commit/00da90f)
18
+ #
19
+ class ::Faraday::Adapter::Typhoeus
20
+ def configure_ssl(req, env)
21
+ # noop
22
+ end
23
+ end
24
+
17
25
  transport = Elasticsearch::Transport::Transport::HTTP::Faraday.new \
18
26
  :hosts => [ { :host => 'localhost', :port => @port } ] do |f|
19
27
  f.response :logger
@@ -35,7 +43,7 @@ class Elasticsearch::Transport::ClientIntegrationTest < Elasticsearch::Test::Int
35
43
 
36
44
  client = Elasticsearch::Transport::Client.new transport: transport
37
45
  client.perform_request 'GET', ''
38
- end
46
+ end unless JRUBY
39
47
  end
40
48
 
41
49
  end
@@ -1,4 +1,5 @@
1
1
  RUBY_1_8 = defined?(RUBY_VERSION) && RUBY_VERSION < '1.9'
2
+ JRUBY = defined?(JRUBY_VERSION)
2
3
 
3
4
  if RUBY_1_8 and not ENV['BUNDLE_GEMFILE']
4
5
  require 'rubygems'
@@ -7,7 +8,17 @@ end
7
8
 
8
9
  require 'rubygems' if RUBY_1_8
9
10
 
10
- require 'simplecov' and SimpleCov.start { add_filter "/test|test_/" } if ENV["COVERAGE"]
11
+ if ENV['COVERAGE'] && ENV['CI'].nil? && !RUBY_1_8
12
+ require 'simplecov'
13
+ SimpleCov.start { add_filter "/test|test_/" }
14
+ end
15
+
16
+ if ENV['CI'] && !RUBY_1_8
17
+ require 'simplecov'
18
+ require 'simplecov-rcov'
19
+ SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
20
+ SimpleCov.start { add_filter "/test|test_" }
21
+ end
11
22
 
12
23
  # Register `at_exit` handler for integration tests shutdown.
13
24
  # MUST be called before requiring `test/unit`.
@@ -30,7 +41,7 @@ RequireProf.print_timing_infos if ENV["REQUIRE_PROF"]
30
41
  if defined?(RUBY_VERSION) && RUBY_VERSION > '1.9'
31
42
  require 'elasticsearch/extensions/test/cluster'
32
43
  require 'elasticsearch/extensions/test/startup_shutdown'
33
- require 'elasticsearch/extensions/test/profiling'
44
+ require 'elasticsearch/extensions/test/profiling' unless JRUBY
34
45
  end
35
46
 
36
47
  class Test::Unit::TestCase
@@ -46,7 +57,7 @@ module Elasticsearch
46
57
  class IntegrationTestCase < ::Test::Unit::TestCase
47
58
  extend Elasticsearch::Extensions::Test::StartupShutdown
48
59
 
49
- shutdown { Elasticsearch::Extensions::Test::Cluster.stop if ENV['SERVER'] && started? }
60
+ shutdown { Elasticsearch::Extensions::Test::Cluster.stop if ENV['SERVER'] && started? && Elasticsearch::Extensions::Test::Cluster.running? }
50
61
  context "IntegrationTest" do; should "noop on Ruby 1.8" do; end; end if RUBY_1_8
51
62
  end if defined?(RUBY_VERSION) && RUBY_VERSION > '1.9'
52
63
  end
@@ -56,8 +67,8 @@ module Elasticsearch
56
67
  extend Elasticsearch::Extensions::Test::StartupShutdown
57
68
  extend Elasticsearch::Extensions::Test::Profiling
58
69
 
59
- shutdown { Elasticsearch::Extensions::Test::Cluster.stop if ENV['SERVER'] && started? }
70
+ shutdown { Elasticsearch::Extensions::Test::Cluster.stop if ENV['SERVER'] && started? && Elasticsearch::Extensions::Test::Cluster.running? }
60
71
  context "IntegrationTest" do; should "noop on Ruby 1.8" do; end; end if RUBY_1_8
61
- end if defined?(RUBY_VERSION) && RUBY_VERSION > '1.9'
72
+ end unless RUBY_1_8 || JRUBY
62
73
  end
63
74
  end
@@ -142,7 +142,7 @@ class Elasticsearch::Transport::Transport::BaseTest < Test::Unit::TestCase
142
142
  @transport.serializer.expects(:load).returns({'foo' => 'bar'})
143
143
 
144
144
  response = @transport.perform_request 'GET', '/' do
145
- Elasticsearch::Transport::Transport::Response.new 200, '{"foo":"bar"}'
145
+ Elasticsearch::Transport::Transport::Response.new 200, '{"foo":"bar"}', {"content-type" => 'application/json'}
146
146
  end
147
147
 
148
148
  assert_instance_of Elasticsearch::Transport::Transport::Response, response
@@ -153,7 +153,7 @@ class Elasticsearch::Transport::Transport::BaseTest < Test::Unit::TestCase
153
153
  @transport.expects(:get_connection).returns(stub_everything :failures => 1)
154
154
  @transport.serializer.expects(:load).never
155
155
  response = @transport.perform_request 'GET', '/' do
156
- Elasticsearch::Transport::Transport::Response.new 200, 'FOOBAR'
156
+ Elasticsearch::Transport::Transport::Response.new 200, 'FOOBAR', {"content-type" => 'text/plain'}
157
157
  end
158
158
 
159
159
  assert_instance_of Elasticsearch::Transport::Transport::Response, response
@@ -1,3 +1,9 @@
1
+ if JRUBY
2
+ puts "'#{File.basename(__FILE__)}' not supported on JRuby #{RUBY_VERSION}"
3
+ exit(0)
4
+ end
5
+
6
+
1
7
  require 'test_helper'
2
8
  require 'elasticsearch/transport/transport/http/curb'
3
9
  require 'curb'
@@ -64,8 +70,7 @@ class Elasticsearch::Transport::Transport::HTTP::FaradayTest < Test::Unit::TestC
64
70
  curl.headers["User-Agent"] = "myapp-0.0"
65
71
  end
66
72
 
67
- assert_equal( {"Content-Type"=>"application/json", "User-Agent"=>"myapp-0.0"},
68
- transport.connections.first.connection.headers )
73
+ assert_equal "myapp-0.0", transport.connections.first.connection.headers["User-Agent"]
69
74
  end
70
75
 
71
76
  should "set the credentials if passed" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
4
+ version: 0.4.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-11 00:00:00.000000000 Z
12
+ date: 2014-02-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
@@ -267,6 +267,22 @@ dependencies:
267
267
  - - ! '>='
268
268
  - !ruby/object:Gem::Version
269
269
  version: '0'
270
+ - !ruby/object:Gem::Dependency
271
+ name: simplecov-rcov
272
+ requirement: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ! '>='
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ! '>='
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
270
286
  - !ruby/object:Gem::Dependency
271
287
  name: cane
272
288
  requirement: !ruby/object:Gem::Requirement