fluent-plugin-parse_cookie 2.0.0 → 2.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97d287e2253d84711031f24925e63f9294092b98d32f57997e6c8bd1c34376fa
4
- data.tar.gz: 1f4a1e4b462538eb7791f9f5026798b614c4a2b812ee56f10e515f0e270ccb21
3
+ metadata.gz: 609bc0f797092a0521c149be25825b40a94cd994d27d6d88f269c047d28da687
4
+ data.tar.gz: 377a027cac3be66d402d49a37f2e4fa1f575c0ed68f81aa45b7adc91d88ad091
5
5
  SHA512:
6
- metadata.gz: fffce3870dbdefa88d8f03b4e67cfb967a7bc59d181cb8d7b16e93556e132c5943d6453dc13e18f10a2880da6b38d3b535caf47e7e794992b4ab11c0e09327e0
7
- data.tar.gz: 0b58f531c2afced9252ab2602e3c921c7401010fe5cb9e93b6673150aba874269d0e475bd2434bbe4b03f76244ec11b3b5d66a29aad2b9df77fc9e53d6f6e0a1
6
+ metadata.gz: f09e5e64a1f8a83fbaac8f6e20489fc06378b57c15edcd9c22efa8404e97b10d6cb8e9208c8a567729cf90a8cb06d52ad161ef529b0a2f43b4dbda1190c04403
7
+ data.tar.gz: 82191b0b26d5db309117dba03634923eb1e7971bead4aa44dc7e18bf099862611e4584cdad9f35a4c85129dbaf0427f8ebc3cace193d274271e52146c02b1c75
@@ -1,5 +1,7 @@
1
- module Fluent
2
- class ParseCookieOutput < Output
1
+ require 'fluent/plugin/output'
2
+
3
+ module Fluent::Plugin
4
+ class ParseCookieOutput < Fluent::Plugin::Output
3
5
  Fluent::Plugin.register_output('parse_cookie', self)
4
6
  config_param :key, :string
5
7
  config_param :tag_prefix, :string, default: 'parsed_cookie.'
@@ -8,6 +10,8 @@ module Fluent
8
10
  config_param :remove_cookie, :bool, default: false
9
11
  config_param :sub_key, :string, default: nil
10
12
 
13
+ helpers :event_emitter
14
+
11
15
  def initialize
12
16
  super
13
17
  require 'cgi'
@@ -28,21 +32,20 @@ module Fluent
28
32
  super
29
33
  end
30
34
 
31
- def emit(tag, es, chain)
35
+ def process(tag, es)
32
36
  es.each do |time, record|
33
37
  t = tag.dup
34
- new_record = parse_cookie(record)
38
+ new_record = parse_cookie(record, tag)
35
39
 
36
40
  t = @tag_prefix + t unless @tag_prefix.nil?
37
41
 
38
- Engine.emit(t, time, new_record)
42
+ router.emit(t, time, new_record)
39
43
  end
40
- chain.next
41
44
  rescue StandardError => e
42
45
  log.warn("out_parse_cookie: error_class:#{e.class} error_message:#{e.message} tag:#{tag} es:#{es} bactrace:#{e.backtrace.first}")
43
46
  end
44
47
 
45
- def parse_cookie(record)
48
+ def parse_cookie(record, tag)
46
49
  if record[key]
47
50
  parsed_cookie = CGI::Cookie.parse(record[key])
48
51
  hash = {}
@@ -1,5 +1,5 @@
1
1
  module Fluent
2
2
  module ParseCookie
3
- VERSION = '2.0.0'.freeze
3
+ VERSION = '2.1.0'.freeze
4
4
  end
5
5
  end
data/test/helper.rb CHANGED
@@ -1,28 +1,5 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- warn e.message
7
- warn 'Run `bundle install` to install missing gems'
8
- exit e.status_code
9
- end
10
- require 'test/unit'
11
-
12
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
- $LOAD_PATH.unshift(File.dirname(__FILE__))
14
- require 'fluent/test'
15
- unless ENV.key?('VERBOSE')
16
- nulllogger = Object.new
17
- nulllogger.instance_eval do |_obj|
18
- def method_missing(method, *args)
19
- # pass
20
- end
21
- end
22
- $log = nulllogger
23
- end
24
-
25
- require 'fluent/plugin/out_parse_cookie'
26
-
27
- class Test::Unit::TestCase
28
- end
1
+ require "bundler/setup"
2
+ require "test/unit"
3
+ $LOAD_PATH.unshift(File.join(__dir__, "..", "lib"))
4
+ $LOAD_PATH.unshift(__dir__)
5
+ require "fluent/test"
@@ -2,189 +2,182 @@ require 'helper'
2
2
  require 'rr'
3
3
  require 'pry-byebug'
4
4
  require 'fluent/plugin/out_parse_cookie'
5
+ require 'fluent/test/driver/output'
6
+ require 'fluent/test/helpers'
5
7
 
6
8
  class ParseCookieOutputTest < Test::Unit::TestCase
7
- COOKIE = 'temporary=tmp; empty=; __test=miahcel; array=123; array=abc; array=1a2b'.freeze
9
+ include Fluent::Test::Helpers
8
10
 
9
- def setup
10
- Fluent::Test.setup
11
- end
11
+ COOKIE = 'temporary=tmp; empty=; __test=miahcel; array=123; array=abc; array=1a2b'.freeze
12
12
 
13
- def create_driver(conf, tag)
14
- Fluent::Test::OutputTestDriver.new(
15
- Fluent::ParseCookieOutput, tag
16
- ).configure(conf)
13
+ def create_driver(conf)
14
+ Fluent::Test::Driver::Output.new(Fluent::Plugin::ParseCookieOutput).configure(conf)
17
15
  end
18
16
 
19
- def emit(conf, record, tag = 'test')
20
- d = create_driver(conf, tag)
21
- d.run { d.emit(record) }
22
- d.emits
17
+ def setup
18
+ Fluent::Test.setup
23
19
  end
24
20
 
25
- def test_configure
26
- d = create_driver(%(
27
- key cookie
28
- ), 'test')
21
+ sub_test_case 'configure' do
22
+ test 'configure' do
23
+ d = create_driver(%(
24
+ key cookie
25
+ ))
29
26
 
30
- assert_equal 'cookie', d.instance.key
31
- assert_equal 'parsed_cookie.', d.instance.tag_prefix
32
- assert_equal false, d.instance.remove_empty_array
27
+ assert_equal 'cookie', d.instance.key
28
+ assert_equal 'parsed_cookie.', d.instance.tag_prefix
29
+ assert_equal false, d.instance.remove_empty_array
30
+ end
33
31
  end
34
32
 
35
- def test_parse_cookie
36
- conf = %(
37
- key cookie
38
- )
39
-
40
- record = {
41
- 'cookie' => COOKIE
42
- }
43
-
44
- emits = emit(conf, record)
45
-
46
- emits.each_with_index do |(tag, _time, emit_record), _i|
47
- assert_equal 'parsed_cookie.test', tag
48
- assert_equal ['tmp'], emit_record['temporary']
49
- assert_equal [], emit_record['empty']
50
- assert_equal ['miahcel'], emit_record['__test']
51
- assert_equal %w[123 abc 1a2b], emit_record['array']
52
- assert_equal COOKIE, emit_record['cookie']
33
+ sub_test_case 'emit events' do
34
+ test 'parse_cookie' do
35
+ d = create_driver(%(
36
+ key cookie
37
+ ))
38
+ time = event_time
39
+
40
+ d.run(default_tag: 'test') do
41
+ d.feed(time, { 'cookie' => COOKIE })
42
+ end
43
+ events = d.events
44
+ event = events.first
45
+
46
+ assert_equal 'parsed_cookie.test', event.first
47
+ assert_equal ['tmp'], event[2]['temporary']
48
+ assert_equal [], event[2]['empty']
49
+ assert_equal ['miahcel'], event[2]['__test']
50
+ assert_equal %w[123 abc 1a2b], event[2]['array']
51
+ assert_equal COOKIE, event[2]['cookie']
53
52
  end
54
- end
55
53
 
56
- def test_delete_cookie
57
- conf = %(
58
- key cookie
59
- remove_cookie true
60
- )
61
-
62
- record = {
63
- 'cookie' => COOKIE
64
- }
65
-
66
- emits = emit(conf, record)
67
-
68
- emits.each_with_index do |(tag, _time, emit_record), _i|
69
- assert_equal 'parsed_cookie.test', tag
70
- assert_equal ['tmp'], emit_record['temporary']
71
- assert_equal [], emit_record['empty']
72
- assert_equal ['miahcel'], emit_record['__test']
73
- assert_equal %w[123 abc 1a2b], emit_record['array']
74
- assert_equal nil, emit_record['cookie']
54
+ test 'delete_cookie' do
55
+ d = create_driver(%(
56
+ key cookie
57
+ remove_cookie true
58
+ ))
59
+ time = event_time
60
+
61
+ d.run(default_tag: 'test') do
62
+ d.feed(time, { 'cookie' => COOKIE })
63
+ end
64
+ events = d.events
65
+ event = events.first
66
+
67
+ assert_equal 'parsed_cookie.test', event.first
68
+ assert_equal ['tmp'], event[2]['temporary']
69
+ assert_equal [], event[2]['empty']
70
+ assert_equal ['miahcel'], event[2]['__test']
71
+ assert_equal %w[123 abc 1a2b], event[2]['array']
72
+ assert_equal nil, event[2]['cookie']
75
73
  end
76
- end
77
74
 
78
- def test_add_tag_prefix
79
- conf = %(
80
- key cookie
81
- tag_prefix add_tag.
82
- )
83
-
84
- record = {
85
- 'cookie' => COOKIE
86
- }
87
-
88
- emits = emit(conf, record)
89
-
90
- emits.each_with_index do |(tag, _time, emit_record), _i|
91
- assert_equal 'add_tag.test', tag
92
- assert_equal ['tmp'], emit_record['temporary']
93
- assert_equal [], emit_record['empty']
94
- assert_equal ['miahcel'], emit_record['__test']
95
- assert_equal %w[123 abc 1a2b], emit_record['array']
96
- assert_equal COOKIE, emit_record['cookie']
75
+ test 'add_tag_prefix' do
76
+ d = create_driver(%(
77
+ key cookie
78
+ tag_prefix add_tag.
79
+ ))
80
+ time = event_time
81
+
82
+ d.run(default_tag: 'test') do
83
+ d.feed(time, { 'cookie' => COOKIE })
84
+ end
85
+ events = d.events
86
+ event = events.first
87
+
88
+ assert_equal 'add_tag.test', event.first
89
+ assert_equal ['tmp'], event[2]['temporary']
90
+ assert_equal [], event[2]['empty']
91
+ assert_equal ['miahcel'], event[2]['__test']
92
+ assert_equal %w[123 abc 1a2b], event[2]['array']
93
+ assert_equal COOKIE, event[2]['cookie']
97
94
  end
98
- end
99
95
 
100
- def test_remove_empty_array
101
- conf = %(
102
- key cookie
103
- remove_empty_array true
104
- )
105
-
106
- record = {
107
- 'cookie' => COOKIE
108
- }
109
-
110
- emits = emit(conf, record)
111
-
112
- emits.each_with_index do |(tag, _time, emit_record), _i|
113
- assert_equal 'parsed_cookie.test', tag
114
- assert_equal ['tmp'], emit_record['temporary']
115
- assert_equal nil, emit_record['empty']
116
- assert_equal ['miahcel'], emit_record['__test']
117
- assert_equal %w[123 abc 1a2b], emit_record['array']
118
- assert_equal COOKIE, emit_record['cookie']
96
+ test 'remove_empty_array' do
97
+ d = create_driver(%(
98
+ key cookie
99
+ remove_empty_array
100
+ ))
101
+ time = event_time
102
+
103
+ d.run(default_tag: 'test') do
104
+ d.feed(time, { 'cookie' => COOKIE })
105
+ end
106
+ events = d.events
107
+ event = events.first
108
+
109
+ assert_equal 'parsed_cookie.test', event.first
110
+ assert_equal ['tmp'], event[2]['temporary']
111
+ assert_equal nil, event[2]['empty']
112
+ assert_equal ['miahcel'], event[2]['__test']
113
+ assert_equal %w[123 abc 1a2b], event[2]['array']
114
+ assert_equal COOKIE, event[2]['cookie']
119
115
  end
120
- end
121
116
 
122
- def test_single_value_to_string
123
- conf = %(
124
- key cookie
125
- single_value_to_string true
126
- )
127
-
128
- record = {
129
- 'cookie' => COOKIE
130
- }
131
-
132
- emits = emit(conf, record)
133
-
134
- emits.each_with_index do |(tag, _time, emit_record), _i|
135
- assert_equal 'parsed_cookie.test', tag
136
- assert_equal 'tmp', emit_record['temporary']
137
- assert_equal [], emit_record['empty']
138
- assert_equal 'miahcel', emit_record['__test']
139
- assert_equal %w[123 abc 1a2b], emit_record['array']
140
- assert_equal COOKIE, emit_record['cookie']
117
+ test 'single_value_to_string' do
118
+ d = create_driver(%(
119
+ key cookie
120
+ single_value_to_string true
121
+ ))
122
+ time = event_time
123
+
124
+ d.run(default_tag: 'test') do
125
+ d.feed(time, { 'cookie' => COOKIE })
126
+ end
127
+ events = d.events
128
+ event = events.first
129
+
130
+ assert_equal 'parsed_cookie.test', event.first
131
+ assert_equal 'tmp', event[2]['temporary']
132
+ assert_equal [], event[2]['empty']
133
+ assert_equal 'miahcel', event[2]['__test']
134
+ assert_equal %w[123 abc 1a2b], event[2]['array']
135
+ assert_equal COOKIE, event[2]['cookie']
141
136
  end
142
- end
143
137
 
144
- def test_remove_empty_array_single_value_to_string
145
- conf = %(
146
- key cookie
147
- remove_empty_array true
148
- single_value_to_string true
149
- )
150
-
151
- record = {
152
- 'cookie' => COOKIE
153
- }
154
-
155
- emits = emit(conf, record)
156
-
157
- emits.each_with_index do |(tag, _time, emit_record), _i|
158
- assert_equal 'parsed_cookie.test', tag
159
- assert_equal 'tmp', emit_record['temporary']
160
- assert_equal nil, emit_record['empty']
161
- assert_equal 'miahcel', emit_record['__test']
162
- assert_equal %w[123 abc 1a2b], emit_record['array']
163
- assert_equal COOKIE, emit_record['cookie']
138
+ test 'remove_empty_array_single_value_to_string' do
139
+ d = create_driver(%(
140
+ key cookie
141
+ remove_empty_array true
142
+ single_value_to_string true
143
+ ))
144
+ time = event_time
145
+
146
+ d.run(default_tag: 'test') do
147
+ d.feed(time, { 'cookie' => COOKIE })
148
+ end
149
+ events = d.events
150
+ event = events.first
151
+
152
+ assert_equal 'parsed_cookie.test', event.first
153
+ assert_equal 'tmp', event[2]['temporary']
154
+ assert_equal nil, event[2]['empty']
155
+ assert_equal 'miahcel', event[2]['__test']
156
+ assert_equal %w[123 abc 1a2b], event[2]['array']
157
+ assert_equal COOKIE, event[2]['cookie']
164
158
  end
165
- end
166
159
 
167
- def test_sub_key
168
- conf = %(
169
- key cookie
170
- sub_key cookie_parsed
171
- remove_empty_array true
172
- single_value_to_string true
173
- )
174
-
175
- record = {
176
- 'cookie' => COOKIE
177
- }
178
-
179
- emits = emit(conf, record)
180
-
181
- emits.each_with_index do |(tag, _time, emit_record), _i|
182
- assert_equal 'parsed_cookie.test', tag
183
- assert_equal 'tmp', emit_record['cookie_parsed']['temporary']
184
- assert_equal nil, emit_record['cookie_parsed']['empty']
185
- assert_equal 'miahcel', emit_record['cookie_parsed']['__test']
186
- assert_equal %w[123 abc 1a2b], emit_record['cookie_parsed']['array']
187
- assert_equal COOKIE, emit_record['cookie']
160
+ test 'sub_key' do
161
+ d = create_driver(%(
162
+ key cookie
163
+ sub_key cookie_parsed
164
+ remove_empty_array true
165
+ single_value_to_string true
166
+ ))
167
+ time = event_time
168
+
169
+ d.run(default_tag: 'test') do
170
+ d.feed(time, { 'cookie' => COOKIE })
171
+ end
172
+ events = d.events
173
+ event = events.first
174
+
175
+ assert_equal 'parsed_cookie.test', event.first
176
+ assert_equal 'tmp', event[2]['cookie_parsed']['temporary']
177
+ assert_equal nil, event[2]['cookie_parsed']['empty']
178
+ assert_equal 'miahcel', event[2]['cookie_parsed']['__test']
179
+ assert_equal %w[123 abc 1a2b], event[2]['cookie_parsed']['array']
180
+ assert_equal COOKIE, event[2]['cookie']
188
181
  end
189
182
  end
190
183
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-parse_cookie
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hirokazu Hata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-20 00:00:00.000000000 Z
11
+ date: 2018-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd