Skip to content

Commit 4b3591d

Browse files
author
Pere Urbon-Bayes
committed
Add test for sql_level_logging
1 parent ed6e890 commit 4b3591d

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

lib/logstash/plugin_mixins/jdbc.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ def prepare_jdbc_connection
127127
raise e
128128
end
129129
@database.sql_log_level = @sql_log_level.to_sym
130+
@database.logger = @logger
130131
@sql_last_start = Time.at(0).utc
131132
end # def prepare_jdbc_connection
132133

spec/inputs/jdbc_spec.rb

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
require "stud/temporary"
88

99
describe LogStash::Inputs::Jdbc do
10-
let(:mixin_settings) { {"jdbc_user" => ENV['USER'], "jdbc_driver_class" => "org.apache.derby.jdbc.EmbeddedDriver", "jdbc_connection_string" => "jdbc:derby:memory:testdb;create=true"} }
10+
let(:mixin_settings) do
11+
{ "jdbc_user" => ENV['USER'], "jdbc_driver_class" => "org.apache.derby.jdbc.EmbeddedDriver",
12+
"jdbc_connection_string" => "jdbc:derby:memory:testdb;create=true"}
13+
end
1114
let(:settings) { {} }
1215
let(:plugin) { LogStash::Inputs::Jdbc.new(mixin_settings.merge(settings)) }
1316
let(:queue) { Queue.new }
@@ -379,4 +382,37 @@
379382
expect { plugin.register }.to raise_error(Sequel::PoolTimeout)
380383
end
381384
end
385+
386+
context "when using logging" do
387+
388+
let(:settings) do
389+
{
390+
"statement" => "SELECT * from test_table", "sql_log_level" => "debug"
391+
}
392+
end
393+
394+
let(:num_rows) { 5 }
395+
396+
before do
397+
plugin.instance_variable_set("@logger", logger)
398+
allow(logger).to receive(:debug?)
399+
num_rows.times do
400+
db[:test_table].insert(:num => 1)
401+
end
402+
403+
plugin.register
404+
end
405+
406+
after do
407+
plugin.stop
408+
end
409+
410+
let(:logger) { double("logger") }
411+
412+
it "should report the staments to logging" do
413+
expect(logger).to receive(:debug).with(kind_of(String)).once
414+
plugin.run(queue)
415+
end
416+
end
417+
382418
end

0 commit comments

Comments
 (0)