fluent-plugin-relp 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +2 -0
- data/Rakefile +10 -0
- data/fluent-plugin-relp.gemspec +2 -1
- data/lib/fluent/plugin/in_relp.rb +1 -0
- data/test/helper.rb +6 -0
- data/test/plugin/test_in_relp.rb +102 -0
- metadata +22 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 711e00d74e6cf7a3200f74c1db591615ad1e0236
|
4
|
+
data.tar.gz: 5d45637c236d0d17fd4e55eb56804c8f5853ff05
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 827c54e2d733a12a7944b6191db5995fa837596aaec749d4f872b2d1f5bee6e0a7315bd7608b77f05c79242e97345e803394f0c267bd956dfeef6afa7ed53991
|
7
|
+
data.tar.gz: 81381f721970d0e48ba7be4e639033bee1b2b51e7b36798c0832e2166357e6dccd2f253715b7ce23890ab87ddb50366d81a0ad0d4f359fa00bcd9cbaccde2cfe
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [0.1.3] - 2017-07-11
|
11
|
+
### Added
|
12
|
+
- unit tests suite
|
13
|
+
- dependencies needed for tests
|
14
|
+
|
10
15
|
## [0.1.2] - 2017-06-27
|
11
16
|
### Added
|
12
17
|
- Started writing this changelog
|
data/README.md
CHANGED
@@ -18,6 +18,8 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
just note that you will probably need ruby development libraries installed to do this.
|
20
20
|
|
21
|
+
You can also install through `bundler` and use `rake test` to run unit tests for plugin.
|
22
|
+
|
21
23
|
## Usage
|
22
24
|
|
23
25
|
To use the plugin just add tou your fluent.conf file:
|
data/Rakefile
ADDED
data/fluent-plugin-relp.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |gem|
|
3
3
|
gem.name = 'fluent-plugin-relp'
|
4
|
-
gem.version = '0.1.
|
4
|
+
gem.version = '0.1.3'
|
5
5
|
gem.author = "Jiří Vymazal"
|
6
6
|
gem.email = ['jvymazal@redhat.com']
|
7
7
|
gem.summary = "Fluent plugin to receive messages via RELP"
|
@@ -16,6 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.required_ruby_version = '>= 2.0.0'
|
17
17
|
|
18
18
|
gem.add_development_dependency 'rake', '~> 0'
|
19
|
+
gem.add_development_dependency 'test-unit', '~> 3.1'
|
19
20
|
gem.add_runtime_dependency 'fluentd', '~> 0.12.0'
|
20
21
|
gem.add_runtime_dependency 'relp', '~> 0.1'
|
21
22
|
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'helper'
|
2
|
+
require 'fluent/plugin/in_relp'
|
3
|
+
|
4
|
+
class RelpServerFake
|
5
|
+
def initialize(callback)
|
6
|
+
@callback = callback
|
7
|
+
end
|
8
|
+
|
9
|
+
def run
|
10
|
+
@run_invoked = true
|
11
|
+
end
|
12
|
+
attr_reader :run_invoked
|
13
|
+
|
14
|
+
def send(msg)
|
15
|
+
@callback.call(msg)
|
16
|
+
end
|
17
|
+
|
18
|
+
def server_shutdown
|
19
|
+
@shut_down = true
|
20
|
+
end
|
21
|
+
attr_reader :shut_down
|
22
|
+
end
|
23
|
+
|
24
|
+
class JoinException < RuntimeError
|
25
|
+
end
|
26
|
+
|
27
|
+
class RelpInputTest < Test::Unit::TestCase
|
28
|
+
def setup
|
29
|
+
Fluent::Test.setup
|
30
|
+
end
|
31
|
+
|
32
|
+
CONFIG = %[
|
33
|
+
bind HOST
|
34
|
+
port 1111
|
35
|
+
tag input.relp
|
36
|
+
]
|
37
|
+
|
38
|
+
def create_driver(conf = CONFIG)
|
39
|
+
Fluent::Test::InputTestDriver.new(Fluent::RelpInput).configure(conf)
|
40
|
+
end
|
41
|
+
|
42
|
+
sub_test_case "config" do
|
43
|
+
def test_empty
|
44
|
+
assert_raise(Fluent::ConfigError) {
|
45
|
+
create_driver('')
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_configure
|
50
|
+
d = create_driver
|
51
|
+
assert_equal 'HOST', d.instance.bind
|
52
|
+
assert_equal 1111, d.instance.port
|
53
|
+
assert_equal 'input.relp', d.instance.tag
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
sub_test_case "function" do
|
58
|
+
def test_run_invalid
|
59
|
+
d = create_driver
|
60
|
+
assert_raise(SocketError) { #will fail because of invalid bind
|
61
|
+
d.run
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_run
|
66
|
+
d = create_driver
|
67
|
+
server = RelpServerFake.new(d.instance.method(:on_message))
|
68
|
+
d.instance.instance_variable_set(:@server, server)
|
69
|
+
d.instance.run
|
70
|
+
assert_equal true, server.run_invoked
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_message
|
74
|
+
d = create_driver
|
75
|
+
server = RelpServerFake.new(d.instance.method(:on_message))
|
76
|
+
assert_raise(SocketError) { #will fail because of invalid bind
|
77
|
+
d.run
|
78
|
+
}
|
79
|
+
d.instance.instance_variable_set(:@server, server)
|
80
|
+
d.instance.run
|
81
|
+
message = 'testLog'
|
82
|
+
server.send(message)
|
83
|
+
assert_equal true, d.emit_streams.count > 0
|
84
|
+
assert_equal d.emit_streams[0][0], 'input.relp' #[0][0] indicates tag of first accepted message
|
85
|
+
assert_equal d.emit_streams[0][1][0][1]["message"], message #this is how you access first accepted record... blame fluentd test framework
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
sub_test_case "cleanup" do
|
90
|
+
def test_shutdown
|
91
|
+
d = create_driver
|
92
|
+
server = RelpServerFake.new(d.instance.method(:on_message))
|
93
|
+
d.instance.instance_variable_set(:@server, server)
|
94
|
+
plugin_thread = Thread.new { raise JoinException }
|
95
|
+
d.instance.instance_variable_set(:@thread, plugin_thread)
|
96
|
+
assert_raise(JoinException) {
|
97
|
+
d.instance.shutdown
|
98
|
+
}
|
99
|
+
assert_equal true, server.shut_down
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-relp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jiří Vymazal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: test-unit
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.1'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.1'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: fluentd
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -63,8 +77,11 @@ files:
|
|
63
77
|
- Gemfile
|
64
78
|
- LICENSE.txt
|
65
79
|
- README.md
|
80
|
+
- Rakefile
|
66
81
|
- fluent-plugin-relp.gemspec
|
67
82
|
- lib/fluent/plugin/in_relp.rb
|
83
|
+
- test/helper.rb
|
84
|
+
- test/plugin/test_in_relp.rb
|
68
85
|
homepage: https://github.com/ViaQ/fluent-plugin-relp
|
69
86
|
licenses:
|
70
87
|
- MIT
|
@@ -89,4 +106,6 @@ rubygems_version: 2.5.2
|
|
89
106
|
signing_key:
|
90
107
|
specification_version: 4
|
91
108
|
summary: Fluent plugin to receive messages via RELP
|
92
|
-
test_files:
|
109
|
+
test_files:
|
110
|
+
- test/helper.rb
|
111
|
+
- test/plugin/test_in_relp.rb
|