rafka 0.0.10 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rafka/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rafka
2
- VERSION = "0.0.10".freeze
2
+ VERSION = "0.1.0".freeze
3
3
  end
@@ -0,0 +1,45 @@
1
+ require "minitest/autorun"
2
+ require "rafka"
3
+
4
+ class ConsumerTest < Minitest::Test
5
+ def test_prepare_for_commit
6
+ consumer = Rafka::Consumer.new(group: "foo", topic: "bar")
7
+
8
+ msgs = [
9
+ ["topic", "foo", "partition", 0, "offset", 1, "value", "a"],
10
+ ["topic", "foo", "partition", 0, "offset", 0, "value", "a"],
11
+ ["topic", "foo", "partition", 0, "offset", 13, "value", "a"],
12
+ ["topic", "foo", "partition", 0, "offset", 12, "value", "a"],
13
+ ["topic", "foo", "partition", 1, "offset", 4, "value", "a"],
14
+ ["topic", "foo", "partition", 1, "offset", 3, "value", "a"],
15
+ ["topic", "foo", "partition", 2, "offset", 50, "value", "a"],
16
+ ["topic", "foo", "partition", 2, "offset", 60, "value", "a"],
17
+ ["topic", "foo", "partition", 2, "offset", 60, "value", "a"],
18
+ ["topic", "foo", "partition", 2, "offset", 70, "value", "a"],
19
+ ["topic", "bar", "partition", 4, "offset", 3, "value", "a"],
20
+ ["topic", "bar", "partition", 4, "offset", 123, "value", "a"],
21
+ ["topic", "bar", "partition", 4, "offset", 999, "value", "a"],
22
+ ["topic", "bar", "partition", 3, "offset", 70, "value", "a"],
23
+ ["topic", "baz", "partition", 0, "offset", 999, "value", "a"]
24
+ ].map { |x| Rafka::Message.new(x) }
25
+
26
+ expected = {
27
+ "foo" => { 0 => 13, 1 => 4, 2 => 70 },
28
+ "bar" => { 4 => 999, 3 => 70 },
29
+ "baz" => { 0 => 999 }
30
+ }
31
+
32
+ actual = consumer.send(:prepare_for_commit, *msgs)
33
+ assert_equal(actual, expected)
34
+
35
+ msg = Rafka::Message.new(["topic", "foo", "partition", 1, "offset", 1, "value", "a"])
36
+ actual = consumer.send(:prepare_for_commit, msg)
37
+ assert_equal(actual, "foo" => { 1 => 1 })
38
+
39
+ msg = Rafka::Message.new(["topic", "foo", "partition", 0, "offset", 0, "value", "a"])
40
+ actual = consumer.send(:prepare_for_commit, msg)
41
+ assert_equal(actual, "foo" => { 0 => 0 })
42
+
43
+ assert_equal(consumer.send(:prepare_for_commit), {})
44
+ end
45
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agis Anastasopoulos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-19 00:00:00.000000000 Z
11
+ date: 2018-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: pry-byebug
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,48 @@ dependencies:
38
52
  - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
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'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: yard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
41
97
  description: A Ruby client library for Rafka, with consumer and producer implementations.
42
98
  email:
43
99
  - agis.anast@gmail.com
@@ -46,7 +102,9 @@ extensions: []
46
102
  extra_rdoc_files: []
47
103
  files:
48
104
  - CHANGELOG.md
105
+ - COPYING
49
106
  - README.md
107
+ - Rakefile
50
108
  - lib/rafka.rb
51
109
  - lib/rafka/consumer.rb
52
110
  - lib/rafka/errors.rb
@@ -54,9 +112,10 @@ files:
54
112
  - lib/rafka/message.rb
55
113
  - lib/rafka/producer.rb
56
114
  - lib/rafka/version.rb
115
+ - test/consumer_test.rb
57
116
  homepage: https://github.com/skroutz/rafka-rb
58
117
  licenses:
59
- - MIT
118
+ - GPL-3.0
60
119
  metadata: {}
61
120
  post_install_message:
62
121
  rdoc_options: []
@@ -78,4 +137,5 @@ rubygems_version: 2.5.2
78
137
  signing_key:
79
138
  specification_version: 4
80
139
  summary: Ruby driver for Rafka
81
- test_files: []
140
+ test_files:
141
+ - test/consumer_test.rb