First pass at making it a bit quicker to add more tests.
This commit is contained in:
@@ -2,17 +2,25 @@ require_relative '../jdbc_spec_helper'
|
||||
|
||||
describe 'logstash-output-jdbc: derby', if: ENV['JDBC_DERBY_JAR'] do
|
||||
include_context 'rspec setup'
|
||||
include_context 'when initializing'
|
||||
include_context 'when outputting messages'
|
||||
|
||||
let(:jdbc_jar_env) do
|
||||
'JDBC_DERBY_JAR'
|
||||
end
|
||||
|
||||
let(:jdbc_create_table) do
|
||||
"CREATE table #{jdbc_test_table} (created_at timestamp not null, message varchar(512) not null, message_sprintf varchar(512) not null, static_int int not null, static_bit boolean not null, static_bigint bigint not null, static_float float not null)"
|
||||
let(:jdbc_statement_fields) do
|
||||
[
|
||||
{db_field: "created_at", db_type: "timestamp", db_value: 'CAST(? as timestamp)', event_field: '@timestamp'},
|
||||
{db_field: "message", db_type: "varchar(512)", db_value: '?', event_field: 'message'},
|
||||
{db_field: "message_sprintf", db_type: "varchar(512)", db_value: '?', event_field: 'sprintf-%{message}'},
|
||||
{db_field: "static_int", db_type: "int", db_value: '?', event_field: 'int'},
|
||||
{db_field: "static_bigint", db_type: "bigint", db_value: '?', event_field: 'bigint'},
|
||||
{db_field: "static_float", db_type: "float", db_value: '?', event_field: 'float'},
|
||||
{db_field: "static_bool", db_type: "boolean", db_value: '?', event_field: 'bool'},
|
||||
{db_field: "static_bigdec", db_type: "decimal", db_value: '?', event_field: 'bigdec'}
|
||||
]
|
||||
end
|
||||
|
||||
|
||||
let(:jdbc_settings) do
|
||||
{
|
||||
'driver_class' => 'org.apache.derby.jdbc.EmbeddedDriver',
|
||||
|
||||
@@ -2,7 +2,6 @@ require_relative '../jdbc_spec_helper'
|
||||
|
||||
describe 'logstash-output-jdbc: mysql', if: ENV['JDBC_MYSQL_JAR'] do
|
||||
include_context 'rspec setup'
|
||||
include_context 'when initializing'
|
||||
include_context 'when outputting messages'
|
||||
|
||||
let(:jdbc_jar_env) do
|
||||
@@ -16,7 +15,7 @@ describe 'logstash-output-jdbc: mysql', if: ENV['JDBC_MYSQL_JAR'] do
|
||||
let(:jdbc_settings) do
|
||||
{
|
||||
'driver_class' => 'com.mysql.jdbc.Driver',
|
||||
'connection_string' => 'jdbc:mysql://localhost/logstash_output_jdbc_test?user=root',
|
||||
'connection_string' => 'jdbc:mysql://localhost/logstash?user=logstash&password=logstash',
|
||||
'driver_jar_path' => ENV[jdbc_jar_env],
|
||||
'statement' => jdbc_statement,
|
||||
'max_flush_exceptions' => 1
|
||||
|
||||
41
spec/outputs/jdbc_postgres_spec.rb
Normal file
41
spec/outputs/jdbc_postgres_spec.rb
Normal file
@@ -0,0 +1,41 @@
|
||||
require_relative '../jdbc_spec_helper'
|
||||
|
||||
describe 'logstash-output-jdbc: postgres', if: ENV['JDBC_POSTGRES_JAR'] do
|
||||
include_context 'rspec setup'
|
||||
include_context 'when outputting messages'
|
||||
|
||||
let(:jdbc_jar_env) do
|
||||
'JDBC_POSTGRES_JAR'
|
||||
end
|
||||
|
||||
# TODO: Postgres doesnt kill connections fast enough for the test to pass
|
||||
# Investigate options.
|
||||
|
||||
#let(:systemd_database_service) do
|
||||
# 'postgresql'
|
||||
#end
|
||||
|
||||
let(:jdbc_statement_fields) do
|
||||
[
|
||||
{db_field: "created_at", db_type: "timestamp", db_value: 'CAST(? as timestamp)', event_field: '@timestamp'},
|
||||
{db_field: "message", db_type: "varchar(512)", db_value: '?', event_field: 'message'},
|
||||
{db_field: "message_sprintf", db_type: "varchar(512)", db_value: '?', event_field: 'sprintf-%{message}'},
|
||||
{db_field: "static_int", db_type: "int", db_value: '?', event_field: 'int'},
|
||||
{db_field: "static_bigint", db_type: "bigint", db_value: '?', event_field: 'bigint'},
|
||||
{db_field: "static_float", db_type: "float", db_value: '?', event_field: 'float'},
|
||||
{db_field: "static_bool", db_type: "boolean", db_value: '?', event_field: 'bool'},
|
||||
{db_field: "static_bigdec", db_type: "decimal", db_value: '?', event_field: 'bigdec'}
|
||||
|
||||
]
|
||||
end
|
||||
|
||||
let(:jdbc_settings) do
|
||||
{
|
||||
'driver_class' => 'org.postgresql.Driver',
|
||||
'connection_string' => 'jdbc:postgresql://localhost/logstash?user=logstash&password=logstash',
|
||||
'driver_jar_path' => ENV[jdbc_jar_env],
|
||||
'statement' => jdbc_statement,
|
||||
'max_flush_exceptions' => 1
|
||||
}
|
||||
end
|
||||
end
|
||||
@@ -8,7 +8,6 @@ describe 'logstash-output-jdbc: sqlite', if: ENV['JDBC_SQLITE_JAR'] do
|
||||
end
|
||||
|
||||
include_context 'rspec setup'
|
||||
include_context 'when initializing'
|
||||
include_context 'when outputting messages'
|
||||
|
||||
let(:jdbc_jar_env) do
|
||||
|
||||
Reference in New Issue
Block a user