fluent-plugin-parse_cookie 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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