fluent-plugin-rds-log 0.3.0 → 0.3.1

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
  SHA1:
3
- metadata.gz: af2ad022bfc6adfe2df08b831c7355ad301d0101
4
- data.tar.gz: 60ed9e0202423282af89ae41c5a9f3680382e6e0
3
+ metadata.gz: 100e761ba4bf2026359c5f82740808b063c8a326
4
+ data.tar.gz: d262031aba300c0c1d83b0bbe277b36e76ad8d91
5
5
  SHA512:
6
- metadata.gz: '038e385f56381fbd9076f02d6952fe6d2c56af76df8fb9d7337f1b94a18e8cdca69d7972070daf44a7d377177dd0a614d5d57be77246221454780e2ab1059137'
7
- data.tar.gz: 6065cfc37c1eba8d9604888e9596fcdaf18af3c4171151482153dfedf95bf8e4ecd595c05baf8e56eea2389de884accdb43297100f1e0952eccb95a776004f64
6
+ metadata.gz: da8d43d78575d074a82b0d519cf12c89d861a5cbc769aca5971c7a1315ea1e33b68b5ce85bfe1b12de83dbfe1683d0ac970dd302bacea9b6a37d80b80b2f28ee
7
+ data.tar.gz: 1e56100f1d83482270327ffcb12556fc4777fa40c3891a099a1bedb57682f5e8df5bd099aa89e39dbe84dafd78ed0bcfa646045a94b4259beb8cbcbd73d2a03f
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "fluent-plugin-rds-log"
7
- gem.version = "0.3.0"
7
+ gem.version = "0.3.1"
8
8
  gem.authors = ["shinsaka"]
9
9
  gem.email = ["shinx1265@gmail.com"]
10
10
  gem.description = "Amazon RDS slow_log and general_log input plugin for Fluent event collector"
@@ -18,5 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.add_dependency "fluentd", ">= 0.14.0", "< 2"
19
19
  gem.add_dependency "mysql2", "~> 0.4.1"
20
20
  gem.add_development_dependency 'rake', '~> 10.0', '>= 10.0.4'
21
- gem.add_development_dependency 'test-unit', '~> 3.1', '>= 3.1.0'
21
+ gem.add_development_dependency "test-unit", "~> 3.2"
22
+ gem.add_development_dependency "webmock", "~>3"
23
+ gem.add_development_dependency "simplecov", "~>0"
22
24
  end
@@ -27,7 +27,7 @@ class Fluent::Plugin::Rds_LogInput < Fluent::Plugin::Input
27
27
  def configure(conf)
28
28
  super
29
29
  if @log_type.nil?
30
- $log.error "fluent-plugin-rds-log: missing parameter log_type is {slow_log|general_log}"
30
+ log.error "fluent-plugin-rds-log: missing parameter log_type is {slow_log|general_log}"
31
31
  end
32
32
  end
33
33
 
@@ -56,7 +56,7 @@ class Fluent::Plugin::Rds_LogInput < Fluent::Plugin::Input
56
56
  })
57
57
  return client
58
58
  rescue
59
- $log.error "fluent-plugin-rds-log: cannot connect RDS [#{host}]"
59
+ log.error "fluent-plugin-rds-log: cannot connect RDS [#{host}]"
60
60
  end
61
61
  return nil
62
62
  end
@@ -92,8 +92,8 @@ class Fluent::Plugin::Rds_LogInput < Fluent::Plugin::Input
92
92
  end
93
93
  output_log_data = client.query(sql, :cast => false)
94
94
  rescue Exception => e
95
- $log.error "fluent-plugin-rds-log: ERROR Occurred!"
96
- $log.error "#{e.message}\n#{e.backtrace.join("\n")}"
95
+ log.error "fluent-plugin-rds-log: ERROR Occurred!"
96
+ log.error "#{e.message}\n#{e.backtrace.join("\n")}"
97
97
  return nil
98
98
  end
99
99
  end
@@ -1,29 +1,20 @@
1
- require 'rubygems'
2
- require 'bundler'
1
+ require 'bundler/setup'
2
+ require 'test/unit'
3
+ require 'webmock/test_unit'
4
+ require 'simplecov'
3
5
 
4
- begin
5
- Bundler.setup(:default, :development)
6
- rescue Bundler::BundlerError => e
7
- $stderr.puts e.message
8
- $stderr.puts "Run `bundle install` to install missing gems"
9
- exit e.status_code
6
+ SimpleCov.start do
7
+ add_filter '/test/'
10
8
  end
11
- require "test/unit"
12
9
 
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
14
- $LOAD_PATH.unshift(File.dirname(__FILE__))
15
- require "fluent/test"
16
- unless ENV.has_key?("VERBOSE")
17
- nulllogger = Object.new
18
- nulllogger.instance_eval {|obj|
19
- def method_missing(method, *args)
20
- #pass
21
- end
22
- }
23
- $log = nulllogger
24
- end
25
-
26
- require "fluent/plugin/in_rds_log"
10
+ $LOAD_PATH.unshift(File.join(__dir__, '..', 'lib'))
11
+ $LOAD_PATH.unshift(__dir__)
12
+ require 'fluent/test'
13
+ require 'fluent/test/helpers'
14
+ require 'fluent/test/driver/input'
15
+ require 'fluent/plugin/in_rds_log'
27
16
 
28
17
  class Test::Unit::TestCase
18
+ include Fluent::Test::Helpers
19
+ extend Fluent::Test::Helpers
29
20
  end
@@ -0,0 +1,56 @@
1
+ require_relative '../helper'
2
+
3
+ class Rds_LogInputTest < Test::Unit::TestCase
4
+ def setup
5
+ Fluent::Test.setup
6
+ end
7
+
8
+ DEFAULT_CONFIG = {
9
+ host: 'endpoint.abcdefghijkl.ap-northeast-1.rds.amazonaws.com',
10
+ username: 'testuser',
11
+ password: 'testpass',
12
+ refresh_interval: 30,
13
+ auto_reconnect: true,
14
+ tag: 'rds-general-log',
15
+ add_host: true,
16
+ where: 'argument',
17
+ }
18
+
19
+
20
+ def parse_config(conf = {})
21
+ ''.tap{|s| conf.each { |k, v| s << "#{k} #{v}\n" } }
22
+ end
23
+
24
+ def create_driver(conf = DEFAULT_CONFIG)
25
+ Fluent::Test::InputTestDriver.new(Fluent::Plugin::Rds_LogInput).configure(parse_config conf)
26
+ end
27
+
28
+ def iam_info_url
29
+ 'http://169.254.169.254/latest/meta-data/iam/security-credentials/'
30
+ end
31
+
32
+ def use_iam_role
33
+ stub_request(:get, iam_info_url)
34
+ .to_return(status: [200, 'OK'], body: "hostname")
35
+ stub_request(:get, "#{iam_info_url}hostname")
36
+ .to_return(status: [200, 'OK'],
37
+ body: {
38
+ "AccessKeyId" => "dummy",
39
+ "SecretAccessKey" => "secret",
40
+ "Token" => "token"
41
+ }.to_json)
42
+ end
43
+
44
+ def test_configure
45
+ use_iam_role
46
+ d = create_driver
47
+ assert_equal 'endpoint.abcdefghijkl.ap-northeast-1.rds.amazonaws.com', d.instance.host
48
+ assert_equal 'testuser', d.instance.username
49
+ assert_equal 'testpass', d.instance.password
50
+ assert_equal 30, d.instance.refresh_interval
51
+ assert_equal true, d.instance.auto_reconnect
52
+ assert_equal 'rds-general-log', d.instance.tag
53
+ assert_equal true, d.instance.add_host
54
+ assert_equal 'argument', d.instance.where
55
+ end
56
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-rds-log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - shinsaka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-27 00:00:00.000000000 Z
11
+ date: 2018-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -70,20 +70,42 @@ dependencies:
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: '3.1'
74
- - - ">="
73
+ version: '3.2'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '3.2'
81
+ - !ruby/object:Gem::Dependency
82
+ name: webmock
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
75
86
  - !ruby/object:Gem::Version
76
- version: 3.1.0
87
+ version: '3'
77
88
  type: :development
78
89
  prerelease: false
79
90
  version_requirements: !ruby/object:Gem::Requirement
80
91
  requirements:
81
92
  - - "~>"
82
93
  - !ruby/object:Gem::Version
83
- version: '3.1'
84
- - - ">="
94
+ version: '3'
95
+ - !ruby/object:Gem::Dependency
96
+ name: simplecov
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
85
107
  - !ruby/object:Gem::Version
86
- version: 3.1.0
108
+ version: '0'
87
109
  description: Amazon RDS slow_log and general_log input plugin for Fluent event collector
88
110
  email:
89
111
  - shinx1265@gmail.com
@@ -101,7 +123,7 @@ files:
101
123
  - fluent.conf.sample
102
124
  - lib/fluent/plugin/in_rds_log.rb
103
125
  - test/helper.rb
104
- - test/plugin/test_in_rds_slowlog.rb
126
+ - test/plugin/test_in_rds_log.rb
105
127
  homepage: https://github.com/shinsaka/fluent-plugin-rds-log
106
128
  licenses:
107
129
  - MIT
@@ -128,4 +150,4 @@ specification_version: 4
128
150
  summary: Amazon RDS for MySQL log input plugin
129
151
  test_files:
130
152
  - test/helper.rb
131
- - test/plugin/test_in_rds_slowlog.rb
153
+ - test/plugin/test_in_rds_log.rb
@@ -1,27 +0,0 @@
1
- require 'helper'
2
-
3
- class Rds_SlowlogInputTest < Test::Unit::TestCase
4
- def setup
5
- Fluent::Test.setup
6
- end
7
-
8
- CONFIG = %[
9
- tag rds-slowlog
10
- host localhost
11
- username test_rds_user
12
- password test_rds_password
13
- ]
14
-
15
- def create_driver(conf = CONFIG)
16
- Fluent::Test::InputTestDriver.new(Fluent::Rds_LogInput).configure(conf)
17
- end
18
-
19
- def test_configure
20
- d = create_driver
21
- assert_equal 'rds-slowlog', d.instance.tag
22
- assert_equal 'localhost', d.instance.host
23
- assert_equal 'test_rds_user', d.instance.username
24
- assert_equal 'test_rds_password', d.instance.password
25
- end
26
-
27
- end