poseidon 0.0.5.pre1 → 0.0.5

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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -3
  3. data/CHANGES.md +11 -3
  4. data/README.md +4 -1
  5. data/Rakefile +1 -1
  6. data/lib/poseidon.rb +1 -0
  7. data/lib/poseidon/broker_pool.rb +15 -5
  8. data/lib/poseidon/compression/gzip_codec.rb +3 -3
  9. data/lib/poseidon/compression/snappy_codec.rb +14 -2
  10. data/lib/poseidon/connection.rb +9 -0
  11. data/lib/poseidon/partition_consumer.rb +5 -5
  12. data/lib/poseidon/producer.rb +9 -6
  13. data/lib/poseidon/producer_compression_config.rb +5 -4
  14. data/lib/poseidon/protocol/request_buffer.rb +5 -14
  15. data/lib/poseidon/protocol/response_buffer.rb +7 -7
  16. data/lib/poseidon/sync_producer.rb +5 -3
  17. data/lib/poseidon/version.rb +1 -1
  18. data/poseidon.gemspec +2 -1
  19. data/spec/integration/multiple_brokers/consumer_spec.rb +1 -1
  20. data/spec/integration/multiple_brokers/metadata_failures_spec.rb +1 -1
  21. data/spec/integration/multiple_brokers/rebalance_spec.rb +1 -1
  22. data/spec/integration/multiple_brokers/round_robin_spec.rb +1 -1
  23. data/spec/integration/simple/compression_spec.rb +2 -2
  24. data/spec/integration/simple/connection_spec.rb +4 -4
  25. data/spec/integration/simple/multiple_brokers_spec.rb +1 -1
  26. data/spec/integration/simple/simple_producer_and_consumer_spec.rb +7 -7
  27. data/spec/integration/simple/truncated_messages_spec.rb +4 -4
  28. data/spec/integration/simple/unavailable_broker_spec.rb +1 -1
  29. data/spec/spec_helper.rb +1 -7
  30. data/spec/unit/broker_pool_spec.rb +14 -14
  31. data/spec/unit/cluster_metadata_spec.rb +1 -1
  32. data/spec/unit/compression/gzip_codec_spec.rb +34 -0
  33. data/spec/unit/compression/snappy_codec_spec.rb +49 -0
  34. data/spec/unit/compression_spec.rb +1 -1
  35. data/spec/unit/connection_spec.rb +1 -1
  36. data/spec/unit/fetched_message_spec.rb +1 -1
  37. data/spec/unit/message_conductor_spec.rb +1 -1
  38. data/spec/unit/message_set_spec.rb +1 -1
  39. data/spec/unit/message_spec.rb +2 -2
  40. data/spec/unit/message_to_send_spec.rb +1 -1
  41. data/spec/unit/messages_for_broker_spec.rb +3 -3
  42. data/spec/unit/messages_to_send_batch_spec.rb +4 -4
  43. data/spec/unit/messages_to_send_spec.rb +8 -8
  44. data/spec/unit/partition_consumer_spec.rb +13 -13
  45. data/spec/unit/producer_compression_config_spec.rb +8 -1
  46. data/spec/unit/producer_spec.rb +10 -4
  47. data/spec/unit/protocol/request_buffer_spec.rb +16 -0
  48. data/spec/unit/protocol_spec.rb +5 -5
  49. data/spec/unit/sync_producer_spec.rb +22 -22
  50. data/spec/unit/topic_metadata_spec.rb +1 -1
  51. metadata +28 -9
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe MessagesToSend do
3
+ RSpec.describe MessagesToSend do
4
4
  before(:each) do
5
5
  @messages = []
6
6
  @messages << Message.new(:topic => "test1", :value => "hi")
@@ -8,7 +8,7 @@ describe MessagesToSend do
8
8
  @messages << Message.new(:topic => "test2", :value => "hi")
9
9
 
10
10
 
11
- @cluster_metadata = stub('cluster_metdata').as_null_object
11
+ @cluster_metadata = double('cluster_metdata').as_null_object
12
12
  @mts = MessagesToSend.new(@messages, @cluster_metadata)
13
13
  end
14
14
 
@@ -18,21 +18,21 @@ describe MessagesToSend do
18
18
  end
19
19
 
20
20
  it "asks ClusterMetadata about having metadata" do
21
- @cluster_metadata.stub!(:have_metadata_for_topics?).and_return(true)
21
+ allow(@cluster_metadata).to receive(:have_metadata_for_topics?).and_return(true)
22
22
 
23
23
  expect(@mts.needs_metadata?).to eq(false)
24
24
  end
25
- end
25
+ end
26
26
 
27
27
  describe "sending" do
28
28
  before(:each) do
29
- @mfb = stub('mfb', :messages => @messages)
29
+ @mfb = double('mfb', :messages => @messages)
30
30
  @messages_for_brokers = [@mfb]
31
31
 
32
- @mtsb = stub('messages_to_send_batch').as_null_object
33
- @mtsb.stub!(:messages_for_brokers).and_return(@messages_for_brokers)
32
+ @mtsb = double('messages_to_send_batch').as_null_object
33
+ allow(@mtsb).to receive(:messages_for_brokers).and_return(@messages_for_brokers)
34
34
 
35
- MessagesToSendBatch.stub!(:new).and_return(@mtsb)
35
+ allow(MessagesToSendBatch).to receive(:new).and_return(@mtsb)
36
36
  end
37
37
 
38
38
  context "is successful" do
@@ -1,14 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe PartitionConsumer do
3
+ RSpec.describe PartitionConsumer do
4
4
  before(:each) do
5
- @connection = stub('connection')
6
- Connection.stub!(:new).and_return(@connection)
5
+ @connection = double('connection')
6
+ allow(Connection).to receive(:new).and_return(@connection)
7
7
 
8
8
  offset = Protocol::Offset.new(100)
9
9
  partition_offsets = [Protocol::PartitionOffset.new(0, 0, [offset])]
10
10
  @offset_response = [Protocol::TopicOffsetResponse.new("test_topic", partition_offsets)]
11
- @connection.stub(:offset).and_return(@offset_response)
11
+ allow(@connection).to receive(:offset).and_return(@offset_response)
12
12
  end
13
13
 
14
14
  describe "creation" do
@@ -28,7 +28,7 @@ describe PartitionConsumer do
28
28
  describe "next offset" do
29
29
  context "when offset is not set" do
30
30
  it "resolves offset if it's not set" do
31
- @connection.should_receive(:offset).and_return(@offset_response)
31
+ expect(@connection).to receive(:offset).and_return(@offset_response)
32
32
  pc = PartitionConsumer.new("test_client", "localhost", 9092, "test_topic",
33
33
  0, :earliest_offset)
34
34
 
@@ -52,7 +52,7 @@ describe PartitionConsumer do
52
52
 
53
53
  context "when call returns an error" do
54
54
  it "is raised" do
55
- @offset_response.first.partition_offsets.first.stub!(:error).and_return(2)
55
+ allow(@offset_response.first.partition_offsets.first).to receive(:error).and_return(2)
56
56
  pc = PartitionConsumer.new("test_client", "localhost", 9092, "test_topic",
57
57
  0, :earliest_offset)
58
58
 
@@ -65,7 +65,7 @@ describe PartitionConsumer do
65
65
  pc = PartitionConsumer.new("test_client", "localhost", 9092, "test_topic",
66
66
  0, :earliest_offset)
67
67
 
68
- @offset_response.first.partition_offsets.first.stub!(:offsets).and_return([])
68
+ allow(@offset_response.first.partition_offsets.first).to receive(:offsets).and_return([])
69
69
  expect(pc.next_offset).to eq(0)
70
70
  end
71
71
  end
@@ -86,9 +86,9 @@ describe PartitionConsumer do
86
86
  partition_fetch_response = Protocol::PartitionFetchResponse.new(0, 0, 100, message_set)
87
87
  topic_fetch_response = Protocol::TopicFetchResponse.new('test_topic',
88
88
  [partition_fetch_response])
89
- @response = Protocol::FetchResponse.new(stub('common'), [topic_fetch_response])
89
+ @response = Protocol::FetchResponse.new(double('common'), [topic_fetch_response])
90
90
 
91
- @connection.stub(:fetch).and_return(@response)
91
+ allow(@connection).to receive(:fetch).and_return(@response)
92
92
  @pc = PartitionConsumer.new("test_client", "localhost", 9092, "test_topic", 0, :earliest_offset)
93
93
  end
94
94
 
@@ -97,13 +97,13 @@ describe PartitionConsumer do
97
97
  end
98
98
 
99
99
  it "uses object defaults" do
100
- @connection.should_receive(:fetch).with(10_000, 1, anything)
100
+ expect(@connection).to receive(:fetch).with(10_000, 1, anything)
101
101
  @pc.fetch
102
102
  end
103
103
 
104
104
  context "when options are passed" do
105
105
  it "overrides object defaults" do
106
- @connection.should_receive(:fetch).with(20_000, 1, anything)
106
+ expect(@connection).to receive(:fetch).with(20_000, 1, anything)
107
107
  @pc = PartitionConsumer.new("test_client", "localhost", 9092, "test_topic", 0, :earliest_offset, :max_wait_ms => 20_000)
108
108
 
109
109
  @pc.fetch
@@ -114,7 +114,7 @@ describe PartitionConsumer do
114
114
  it "starts from the earliest offset" do
115
115
  @pc = PartitionConsumer.new("test_client", "localhost", 9092, "test_topic", 0, -10000)
116
116
  pfr = @response.topic_fetch_responses.first.partition_fetch_responses.first
117
- pfr.stub!(:error).and_return(1, 1, 0)
117
+ allow(pfr).to receive(:error).and_return(1, 1, 0)
118
118
 
119
119
  @pc.fetch
120
120
  end
@@ -123,7 +123,7 @@ describe PartitionConsumer do
123
123
  context "when call returns an error" do
124
124
  it "is raised" do
125
125
  pfr = @response.topic_fetch_responses.first.partition_fetch_responses.first
126
- pfr.stub!(:error).and_return(2)
126
+ allow(pfr).to receive(:error).and_return(2)
127
127
 
128
128
  expect { @pc.fetch }.to raise_error(Errors::InvalidMessage)
129
129
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe ProducerCompressionConfig do
3
+ RSpec.describe ProducerCompressionConfig do
4
4
  describe "creation" do
5
5
  it "raises ArgumentError when codec is unknown" do
6
6
  expect { ProducerCompressionConfig.new(:ripple, nil) }.to raise_error(ArgumentError)
@@ -14,6 +14,13 @@ describe ProducerCompressionConfig do
14
14
  end
15
15
  end
16
16
 
17
+ describe "none compression codec" do
18
+ it "compresses no topics" do
19
+ pcc = ProducerCompressionConfig.new(:none,nil)
20
+ expect(pcc.compression_codec_for_topic("test")).to eq(false)
21
+ end
22
+ end
23
+
17
24
  describe "compression codec no topics specified" do
18
25
  it "compresses any topic" do
19
26
  pcc = ProducerCompressionConfig.new(:gzip,nil)
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Producer do
3
+ RSpec.describe Producer do
4
4
  it "requires brokers and client_id" do
5
5
  expect { Producer.new }.to raise_error
6
6
  end
@@ -15,7 +15,7 @@ describe Producer do
15
15
 
16
16
  it "raises ProducerShutdown if we try to send to a shutdown producer" do
17
17
  p = Producer.new(["host:port"],"client_id")
18
- p.shutdown
18
+ p.close
19
19
  expect { p.send_messages([]) }.to raise_error(Errors::ProducerShutdownError)
20
20
  end
21
21
 
@@ -23,16 +23,22 @@ describe Producer do
23
23
  expect { Producer.new([],"client_id", Producer::OPTION_DEFAULTS.dup) }.not_to raise_error
24
24
  end
25
25
 
26
+ it "accepts socket_timeout_ms option" do
27
+ expect { Producer.new([],"client_id", socket_timeout_ms: 10_000) }.not_to raise_error
28
+ end
29
+
26
30
  describe "sending messages" do
27
31
  before(:each) do
28
32
  @sync_producer = double('sync_producer').as_null_object
29
- SyncProducer.stub!(:new).and_return(@sync_producer)
33
+ allow(SyncProducer).to receive(:new).and_return(@sync_producer)
30
34
 
31
35
  @producer = Producer.new([], "client_id", :type => :sync)
32
36
  end
33
37
 
34
38
  it "turns MessagesToSend into Message objects" do
35
- @sync_producer.should_receive(:send_messages).with([an_instance_of(Message)])
39
+ expect(@sync_producer).to receive(:send_messages).with(an_instance_of(Array)) do |array|
40
+ array.each { |obj| expect(obj).to be_an_instance_of(Message) }
41
+ end
36
42
 
37
43
  m = MessageToSend.new("topic", "value")
38
44
  @producer.send_messages([m])
@@ -0,0 +1,16 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+ include Protocol
5
+
6
+ RSpec.describe RequestBuffer do
7
+ subject(:buffer) { Poseidon::Protocol::RequestBuffer.new }
8
+
9
+ it 'appends UTF-8 strings' do
10
+ expect do
11
+ str = 'hello ümlaut'
12
+ buffer.append(str)
13
+ buffer.append(str.force_encoding(Encoding::BINARY))
14
+ end.to_not raise_error
15
+ end
16
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
  include Protocol
3
- describe RequestCommon do
3
+ RSpec.describe RequestCommon do
4
4
  it "roundtrips" do
5
5
  rc = RequestCommon.new(0,1,2,"client_id")
6
6
 
@@ -14,7 +14,7 @@ describe RequestCommon do
14
14
  end
15
15
  end
16
16
 
17
- describe MetadataRequest do
17
+ RSpec.describe MetadataRequest do
18
18
  it "roundtrips" do
19
19
  rc = RequestCommon.new(0,1,2,"client_id")
20
20
  mr = MetadataRequest.new(rc, ["topic1","topic2"])
@@ -29,14 +29,14 @@ describe MetadataRequest do
29
29
  end
30
30
  end
31
31
 
32
- describe "objects with errors" do
32
+ RSpec.describe "objects with errors" do
33
33
  it "returns objects that have errors" do
34
34
  message_set = MessageSet.new
35
35
  message_set << Message.new(:value => "value", :key => "key")
36
36
  partition_fetch_response = PartitionFetchResponse.new(0, 5, 100, message_set)
37
37
  topic_fetch_response = TopicFetchResponse.new('test_topic',
38
38
  [partition_fetch_response])
39
- response = FetchResponse.new(stub('common'), [topic_fetch_response])
39
+ response = FetchResponse.new(double('common'), [topic_fetch_response])
40
40
 
41
41
  expect(response.objects_with_errors).to eq([partition_fetch_response])
42
42
  end
@@ -47,7 +47,7 @@ describe "objects with errors" do
47
47
  partition_fetch_response = PartitionFetchResponse.new(0, 5, 100, message_set)
48
48
  topic_fetch_response = TopicFetchResponse.new('test_topic',
49
49
  [partition_fetch_response])
50
- response = FetchResponse.new(stub('common'), [topic_fetch_response])
50
+ response = FetchResponse.new(double('common'), [topic_fetch_response])
51
51
 
52
52
  expect { response.raise_error_if_one_exists }.to raise_error
53
53
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe SyncProducer do
3
+ RSpec.describe SyncProducer do
4
4
  describe "creation" do
5
5
 
6
6
  it "sets correct defaults" do
@@ -22,21 +22,21 @@ describe SyncProducer do
22
22
 
23
23
  describe "sending" do
24
24
  before(:each) do
25
- Kernel.stub!(:sleep)
25
+ allow(Kernel).to receive(:sleep)
26
26
 
27
- @broker_pool = stub('broker_pool').as_null_object
28
- BrokerPool.stub!(:new).and_return(@broker_pool)
27
+ @broker_pool = double('broker_pool').as_null_object
28
+ allow(BrokerPool).to receive(:new).and_return(@broker_pool)
29
29
 
30
- @cluster_metadata = stub('cluster_metadata', :last_refreshed_at => Time.now).as_null_object
31
- ClusterMetadata.stub!(:new).and_return(@cluster_metadata)
30
+ @cluster_metadata = double('cluster_metadata', :last_refreshed_at => Time.now).as_null_object
31
+ allow(ClusterMetadata).to receive(:new).and_return(@cluster_metadata)
32
32
 
33
- @mbts = stub('messages_to_send', :needs_metadata? => false).as_null_object
34
- MessagesToSend.stub!(:new).and_return(@mbts)
33
+ @mbts = double('messages_to_send', :needs_metadata? => false).as_null_object
34
+ allow(MessagesToSend).to receive(:new).and_return(@mbts)
35
35
  end
36
36
 
37
37
  context "needs metadata" do
38
38
  before(:each) do
39
- @mbts.stub!(:needs_metadata?).and_return(true)
39
+ allow(@mbts).to receive(:needs_metadata?).and_return(true)
40
40
  end
41
41
 
42
42
  it "fetches metadata" do
@@ -49,7 +49,7 @@ describe SyncProducer do
49
49
 
50
50
  context "there are messages to send" do
51
51
  before(:each) do
52
- @mbts.stub!(:messages_for_brokers).and_return([double('mfb').as_null_object])
52
+ allow(@mbts).to receive(:messages_for_brokers).and_return([double('mfb').as_null_object])
53
53
  end
54
54
 
55
55
  it "sends messages" do
@@ -62,22 +62,22 @@ describe SyncProducer do
62
62
 
63
63
  context "always fails" do
64
64
  before(:each) do
65
- @mbts.stub!(:pending_messages?).and_return(true)
65
+ allow(@mbts).to receive(:pending_messages?).and_return(true)
66
66
  @sp = SyncProducer.new("test_client", [])
67
67
  end
68
68
 
69
69
  it "retries the correct number of times" do
70
- @mbts.should_receive(:messages_for_brokers).exactly(4).times
70
+ expect(@mbts).to receive(:messages_for_brokers).exactly(4).times
71
71
  @sp.send_messages([Message.new(:topic => "topic", :value => "value")]) rescue StandardError
72
72
  end
73
73
 
74
74
  it "sleeps the correct amount between retries" do
75
- Kernel.should_receive(:sleep).with(0.1).exactly(4).times
75
+ expect(Kernel).to receive(:sleep).with(0.1).exactly(4).times
76
76
  @sp.send_messages([Message.new(:topic => "topic", :value => "value")]) rescue StandardError
77
77
  end
78
78
 
79
79
  it "refreshes metadata between retries" do
80
- @cluster_metadata.should_receive(:update).exactly(4).times
80
+ expect(@cluster_metadata).to receive(:update).exactly(4).times
81
81
  @sp.send_messages([Message.new(:topic => "topic", :value => "value")]) rescue StandardError
82
82
  end
83
83
 
@@ -90,19 +90,19 @@ describe SyncProducer do
90
90
 
91
91
  context "no retries" do
92
92
  before(:each) do
93
- @mbts.stub!(:pending_messages?).and_return(true)
93
+ allow(@mbts).to receive(:pending_messages?).and_return(true)
94
94
  @sp = SyncProducer.new("test_client", [], max_send_retries: 0)
95
95
  end
96
96
 
97
97
  it "does not call sleep" do
98
- Kernel.should_receive(:sleep).exactly(0).times
98
+ expect(Kernel).to receive(:sleep).exactly(0).times
99
99
  @sp.send_messages([Message.new(:topic => "topic", :value => "value")]) rescue Errors::UnableToFetchMetadata
100
100
  end
101
101
  end
102
102
 
103
103
  context "succeeds on first attempt" do
104
104
  before(:each) do
105
- @mbts.stub!(:pending_messages?).and_return(false)
105
+ allow(@mbts).to receive(:pending_messages?).and_return(false)
106
106
  @sp = SyncProducer.new("test_client", [])
107
107
  end
108
108
 
@@ -111,19 +111,19 @@ describe SyncProducer do
111
111
  end
112
112
 
113
113
  it "does not sleep" do
114
- Kernel.should_not_receive(:sleep)
114
+ expect(Kernel).not_to receive(:sleep)
115
115
  @sp.send_messages([Message.new(:topic => "topic", :value => "value")])
116
116
  end
117
117
 
118
118
  it "only attempts to send once" do
119
- @mbts.should_receive(:messages_for_brokers).once
119
+ expect(@mbts).to receive(:messages_for_brokers).once
120
120
  @sp.send_messages([Message.new(:topic => "topic", :value => "value")])
121
121
  end
122
122
  end
123
123
 
124
124
  context "succeeds on second attempt" do
125
125
  before(:each) do
126
- @mbts.stub!(:pending_messages?).and_return(true, false)
126
+ allow(@mbts).to receive(:pending_messages?).and_return(true, false)
127
127
  @sp = SyncProducer.new("test_client", [])
128
128
  end
129
129
 
@@ -132,12 +132,12 @@ describe SyncProducer do
132
132
  end
133
133
 
134
134
  it "sleeps once" do
135
- Kernel.should_receive(:sleep).once
135
+ expect(Kernel).to receive(:sleep).once
136
136
  @sp.send_messages([Message.new(:topic => "topic", :value => "value")])
137
137
  end
138
138
 
139
139
  it "attempts to send twice" do
140
- @mbts.should_receive(:messages_for_brokers).twice
140
+ expect(@mbts).to receive(:messages_for_brokers).twice
141
141
  @sp.send_messages([Message.new(:topic => "topic", :value => "value")])
142
142
  end
143
143
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe TopicMetadata do
3
+ RSpec.describe TopicMetadata do
4
4
  context "encoding" do
5
5
  it "roundtrips" do
6
6
  partition_metadata = Protocol::PartitionMetadata.new(0, 0, 0, [0], [0])
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poseidon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5.pre1
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Potter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-08 00:00:00.000000000 Z
11
+ date: 2014-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.13.0
19
+ version: '3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 2.13.0
26
+ version: '3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: yard
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: snappy
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: A Kafka (http://kafka.apache.org/) producer and consumer
56
70
  email:
57
71
  - bobby.potter@gmail.com
@@ -115,6 +129,8 @@ files:
115
129
  - spec/test_cluster.rb
116
130
  - spec/unit/broker_pool_spec.rb
117
131
  - spec/unit/cluster_metadata_spec.rb
132
+ - spec/unit/compression/gzip_codec_spec.rb
133
+ - spec/unit/compression/snappy_codec_spec.rb
118
134
  - spec/unit/compression_spec.rb
119
135
  - spec/unit/connection_spec.rb
120
136
  - spec/unit/fetched_message_spec.rb
@@ -128,6 +144,7 @@ files:
128
144
  - spec/unit/partition_consumer_spec.rb
129
145
  - spec/unit/producer_compression_config_spec.rb
130
146
  - spec/unit/producer_spec.rb
147
+ - spec/unit/protocol/request_buffer_spec.rb
131
148
  - spec/unit/protocol_spec.rb
132
149
  - spec/unit/sync_producer_spec.rb
133
150
  - spec/unit/topic_metadata_spec.rb
@@ -146,9 +163,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
163
  version: 1.9.3
147
164
  required_rubygems_version: !ruby/object:Gem::Requirement
148
165
  requirements:
149
- - - ">"
166
+ - - ">="
150
167
  - !ruby/object:Gem::Version
151
- version: 1.3.1
168
+ version: '0'
152
169
  requirements: []
153
170
  rubyforge_project:
154
171
  rubygems_version: 2.2.2
@@ -172,6 +189,8 @@ test_files:
172
189
  - spec/test_cluster.rb
173
190
  - spec/unit/broker_pool_spec.rb
174
191
  - spec/unit/cluster_metadata_spec.rb
192
+ - spec/unit/compression/gzip_codec_spec.rb
193
+ - spec/unit/compression/snappy_codec_spec.rb
175
194
  - spec/unit/compression_spec.rb
176
195
  - spec/unit/connection_spec.rb
177
196
  - spec/unit/fetched_message_spec.rb
@@ -185,7 +204,7 @@ test_files:
185
204
  - spec/unit/partition_consumer_spec.rb
186
205
  - spec/unit/producer_compression_config_spec.rb
187
206
  - spec/unit/producer_spec.rb
207
+ - spec/unit/protocol/request_buffer_spec.rb
188
208
  - spec/unit/protocol_spec.rb
189
209
  - spec/unit/sync_producer_spec.rb
190
210
  - spec/unit/topic_metadata_spec.rb
191
- has_rdoc: