poseidon 0.0.5.pre1 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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: