rafka 0.0.10 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -1
- data/COPYING +674 -0
- data/README.md +90 -19
- data/Rakefile +22 -0
- data/lib/rafka.rb +7 -13
- data/lib/rafka/consumer.rb +104 -28
- data/lib/rafka/message.rb +11 -3
- data/lib/rafka/producer.rb +21 -14
- data/lib/rafka/version.rb +1 -1
- data/test/consumer_test.rb +45 -0
- metadata +64 -4
data/lib/rafka/version.rb
CHANGED
@@ -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
|
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-
|
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
|
-
-
|
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
|