fluent-plugin-rds-log 0.3.0 → 0.3.1

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
  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