fluent-plugin-relp 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|