fluent-plugin-elb-access-log 0.3.7.pre.beta1 → 0.3.7

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.
@@ -32,13 +32,14 @@ describe Fluent::ElbAccessLogInput do
32
32
  allow_any_instance_of(Fluent::ElbAccessLogInput).to receive(:load_history) { [] }
33
33
  allow_any_instance_of(Fluent::ElbAccessLogInput).to receive(:parse_tsfile) { nil }
34
34
  allow(FileUtils).to receive(:touch)
35
- end
35
+ expect(driver.instance.log).to_not receive(:error)
36
+ end
36
37
 
37
38
  after do
38
39
  Timecop.return
39
40
  end
40
41
 
41
- subject { x = driver.emits; x }
42
+ subject { driver.emits }
42
43
 
43
44
  context 'when access log does not exist' do
44
45
  before do
@@ -47,6 +48,7 @@ describe Fluent::ElbAccessLogInput do
47
48
  expect(client).to receive(:list_objects).with(bucket: s3_bucket, prefix: tomorrow_prefix) { [] }
48
49
  expect(driver.instance).to_not receive(:save_timestamp).with(today)
49
50
  expect(driver.instance).to receive(:save_history)
51
+ expect(driver.instance.log).to_not receive(:warn)
50
52
 
51
53
  driver.run
52
54
  end
@@ -92,6 +94,7 @@ describe Fluent::ElbAccessLogInput do
92
94
 
93
95
  expect(driver.instance).to receive(:save_timestamp).with(tomorrow)
94
96
  expect(driver.instance).to receive(:save_history)
97
+ expect(driver.instance.log).to_not receive(:warn)
95
98
 
96
99
  driver.run
97
100
  end
@@ -223,7 +226,7 @@ describe Fluent::ElbAccessLogInput do
223
226
  "request.uri.fragment"=>nil}]]
224
227
  end
225
228
 
226
- it { is_expected.to eq expected_emits }
229
+ it { is_expected.to match_table expected_emits }
227
230
 
228
231
  context 'when sampling' do
229
232
  let(:fluentd_conf) do
@@ -239,7 +242,7 @@ describe Fluent::ElbAccessLogInput do
239
242
  it do
240
243
  expected_emits.delete_at(3)
241
244
  expected_emits.delete_at(1)
242
- is_expected.to eq expected_emits
245
+ is_expected.to match_table expected_emits
243
246
  end
244
247
  end
245
248
  end
@@ -267,6 +270,7 @@ describe Fluent::ElbAccessLogInput do
267
270
  expect(driver.instance).to receive(:save_history)
268
271
 
269
272
  allow(Addressable::URI).to receive(:parse).and_raise('parse error')
273
+ expect(driver.instance.log).to receive(:warn).with('parse error: http://hoge-1876938939.ap-northeast-1.elb.amazonaws.com:80/')
270
274
 
271
275
  driver.run
272
276
  end
@@ -298,7 +302,7 @@ describe Fluent::ElbAccessLogInput do
298
302
  "request.http_version"=>"HTTP/1.1"}]]
299
303
  end
300
304
 
301
- it { is_expected.to eq expected_emits }
305
+ it { is_expected.to match_table expected_emits }
302
306
  end
303
307
 
304
308
  context 'when access log exists (with tag option)' do
@@ -332,6 +336,7 @@ describe Fluent::ElbAccessLogInput do
332
336
 
333
337
  expect(driver.instance).to receive(:save_timestamp).with(today)
334
338
  expect(driver.instance).to receive(:save_history)
339
+ expect(driver.instance.log).to_not receive(:warn)
335
340
 
336
341
  driver.run
337
342
  end
@@ -370,7 +375,7 @@ describe Fluent::ElbAccessLogInput do
370
375
  "request.uri.fragment"=>nil}]]
371
376
  end
372
377
 
373
- it { is_expected.to eq expected_emits }
378
+ it { is_expected.to match_table expected_emits }
374
379
  end
375
380
 
376
381
  context 'when access old log exists' do
@@ -396,6 +401,7 @@ describe Fluent::ElbAccessLogInput do
396
401
 
397
402
  expect(driver.instance).to_not receive(:save_timestamp)
398
403
  expect(driver.instance).to receive(:save_history)
404
+ expect(driver.instance.log).to_not receive(:warn)
399
405
 
400
406
  driver.run
401
407
  end
@@ -434,7 +440,7 @@ describe Fluent::ElbAccessLogInput do
434
440
  "request.uri.fragment"=>nil}]]
435
441
  end
436
442
 
437
- it { is_expected.to eq expected_emits }
443
+ it { is_expected.to match_table expected_emits }
438
444
  end
439
445
 
440
446
  context 'when parse error' do
@@ -460,6 +466,7 @@ describe Fluent::ElbAccessLogInput do
460
466
  expect(driver.instance).to receive(:save_history)
461
467
 
462
468
  expect(CSV).to receive(:parse_line).and_raise('parse error')
469
+ expect(driver.instance.log).to_not receive(:warn)
463
470
 
464
471
  driver.run
465
472
  end
@@ -498,7 +505,7 @@ describe Fluent::ElbAccessLogInput do
498
505
  "request.uri.fragment"=>nil}]]
499
506
  end
500
507
 
501
- it { is_expected.to eq expected_emits }
508
+ it { is_expected.to match_table expected_emits }
502
509
 
503
510
  context 'when no user_agent' do
504
511
  let(:today_access_log) do
@@ -513,7 +520,7 @@ describe Fluent::ElbAccessLogInput do
513
520
  expected_emits[0][2]['ssl_protocol'] = nil
514
521
  end
515
522
 
516
- it { is_expected.to eq expected_emits }
523
+ it { is_expected.to match_table expected_emits }
517
524
  end
518
525
  end
519
526
 
@@ -537,6 +544,7 @@ describe Fluent::ElbAccessLogInput do
537
544
  expect(client).to_not receive(:get_object)
538
545
  expect(driver.instance).to_not receive(:save_timestamp)
539
546
  expect(driver.instance).to receive(:save_history)
547
+ expect(driver.instance.log).to_not receive(:warn)
540
548
 
541
549
  driver.run
542
550
  end
@@ -565,6 +573,7 @@ describe Fluent::ElbAccessLogInput do
565
573
  history << today_object_key
566
574
  expect(driver.instance).to_not receive(:save_timestamp)
567
575
  expect(driver.instance).to receive(:save_history)
576
+ expect(driver.instance.log).to_not receive(:warn)
568
577
 
569
578
  driver.run
570
579
  end
@@ -595,6 +604,7 @@ describe Fluent::ElbAccessLogInput do
595
604
 
596
605
  expect(driver.instance).to receive(:save_timestamp).with(today)
597
606
  expect(driver.instance).to receive(:save_history)
607
+ expect(driver.instance.log).to_not receive(:warn)
598
608
  end
599
609
 
600
610
  subject { history.length }
@@ -638,6 +648,7 @@ describe Fluent::ElbAccessLogInput do
638
648
 
639
649
  expect(driver.instance).to receive(:save_timestamp).with(today)
640
650
  expect(driver.instance).to receive(:save_history)
651
+ expect(driver.instance.log).to_not receive(:warn)
641
652
 
642
653
  driver.run
643
654
  end
@@ -676,6 +687,6 @@ describe Fluent::ElbAccessLogInput do
676
687
  "request.uri.fragment"=>nil}]]
677
688
  end
678
689
 
679
- it { is_expected.to eq expected_emits }
690
+ it { is_expected.to match_table expected_emits }
680
691
  end
681
692
  end
@@ -43,6 +43,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
43
43
  expect(driver.instance.history_length).to eq 100
44
44
  expect(driver.instance.sampling_interval).to eq 1
45
45
  expect(driver.instance.debug).to be_falsey
46
+ expect(driver.instance.elb_type).to eq 'clb'
46
47
  end
47
48
  end
48
49
 
@@ -61,6 +62,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
61
62
  let(:buffer_sec) { 1200 }
62
63
  let(:history_length) { 200 }
63
64
  let(:sampling_interval) { 100 }
65
+ let(:elb_type) { 'alb' }
64
66
 
65
67
  let(:fluentd_conf) do
66
68
  {
@@ -82,6 +84,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
82
84
  history_length: history_length,
83
85
  sampling_interval: sampling_interval,
84
86
  debug: true,
87
+ elb_type: elb_type,
85
88
  }
86
89
  end
87
90
 
@@ -103,6 +106,7 @@ describe 'Fluent::ElbAccessLogInput#configure' do
103
106
  expect(driver.instance.history_length).to eq history_length
104
107
  expect(driver.instance.sampling_interval).to eq sampling_interval
105
108
  expect(driver.instance.debug).to be_truthy
109
+ expect(driver.instance.elb_type).to eq elb_type
106
110
  end
107
111
  end
108
112
 
@@ -166,4 +170,24 @@ describe 'Fluent::ElbAccessLogInput#configure' do
166
170
  expect(driver.instance.start_datetime).to eq Time.parse(tsfile_datetime)
167
171
  end
168
172
  end
173
+
174
+ context 'when an invalid ELB type' do
175
+ let(:start_datetime) { '2015-01-01 01:02:03 UTC' }
176
+
177
+ let(:fluentd_conf) do
178
+ {
179
+ account_id: account_id,
180
+ s3_bucket: s3_bucket,
181
+ region: region,
182
+ start_datetime: start_datetime,
183
+ elb_type: 'invalid',
184
+ }
185
+ end
186
+
187
+ it do
188
+ expect {
189
+ subject
190
+ }.to raise_error 'Invalid ELB type: invalid'
191
+ end
192
+ end
169
193
  end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,20 @@
1
1
  require 'fluent/test'
2
2
  require 'fluent/plugin/in_elb_access_log'
3
3
 
4
- require 'aws-sdk'
4
+ require 'aws-sdk-s3'
5
5
  require 'time'
6
6
  require 'timecop'
7
+ require 'rspec/match_table'
8
+
9
+ if ENV['TRAVIS']
10
+ require 'simplecov'
11
+ require 'coveralls'
12
+
13
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
14
+ SimpleCov.start do
15
+ add_filter "spec/"
16
+ end
17
+ end
7
18
 
8
19
  # Disable Test::Unit
9
20
  module Test::Unit::RunCount; def run(*); end; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-elb-access-log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7.pre.beta1
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-10 00:00:00.000000000 Z
11
+ date: 2017-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -25,19 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: aws-sdk
28
+ name: aws-sdk-s3
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.1.2
33
+ version: '1.8'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.1.2
40
+ version: '1.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: addressable
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +122,34 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: 3.1.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec-match_table
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 0.1.1
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.1.1
139
+ - !ruby/object:Gem::Dependency
140
+ name: coveralls
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  description: Fluentd input plugin for AWS ELB Access Logs.
126
154
  email:
127
155
  - sugawara@cookpad.com
@@ -139,8 +167,9 @@ files:
139
167
  - fluent-plugin-elb-access-log.gemspec
140
168
  - lib/fluent/plugin/in_elb_access_log.rb
141
169
  - lib/fluent_plugin_elb_access_log/version.rb
170
+ - spec/in_elb_access_log_alb_spec.rb
171
+ - spec/in_elb_access_log_clb_spec.rb
142
172
  - spec/in_elb_access_log_config_spec.rb
143
- - spec/in_elb_access_log_spec.rb
144
173
  - spec/spec_helper.rb
145
174
  homepage: https://github.com/winebarrel/fluent-plugin-elb-access-log
146
175
  licenses:
@@ -157,16 +186,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
186
  version: '0'
158
187
  required_rubygems_version: !ruby/object:Gem::Requirement
159
188
  requirements:
160
- - - ">"
189
+ - - ">="
161
190
  - !ruby/object:Gem::Version
162
- version: 1.3.1
191
+ version: '0'
163
192
  requirements: []
164
193
  rubyforge_project:
165
- rubygems_version: 2.6.11
194
+ rubygems_version: 2.6.13
166
195
  signing_key:
167
196
  specification_version: 4
168
197
  summary: Fluentd input plugin for AWS ELB Access Logs.
169
198
  test_files:
199
+ - spec/in_elb_access_log_alb_spec.rb
200
+ - spec/in_elb_access_log_clb_spec.rb
170
201
  - spec/in_elb_access_log_config_spec.rb
171
- - spec/in_elb_access_log_spec.rb
172
202
  - spec/spec_helper.rb