fluentd-ui/test/models/fluentd/setting/in_forward_test.rb
Kenji Okimoto 5b882568f7
Add test/models/fluentd/setting/*_test.rb
Signed-off-by: Kenji Okimoto <okimoto@clear-code.com>
2018-08-02 14:10:46 +09:00

120 lines
3.0 KiB
Ruby

require "test_helper"
module Fluentd::Setting
class InForwardTest < ActiveSupport::TestCase
setup do
@klass = Fluentd::Setting::InForward
end
test ".initial_params" do
expected = {
log_level: nil,
port: 24224,
bind: "0.0.0.0",
backlog: nil,
linger_timeout: 0,
blocking_timeout: 0.5,
chunk_size_limit: nil,
chunk_size_warn_limit: nil,
deny_keepalive: false,
resolve_hostname: nil,
skip_invalid_event: false,
source_address_key: nil,
source_hostname_key: nil,
security: {
"0" => {
"user_auth" => false,
"allow_anonymous_source" => true,
"client" => {
"0" => {
"host" => nil,
"network" => nil,
"shared_key" => nil,
"users" => [],
}
}
}
},
transport: {
"0" => {
"protocol" => :tcp,
"version" => :TLSv1_2,
"ciphers" => "ALL:!aNULL:!eNULL:!SSLv2",
"insecure" => false,
"ca_path" => nil,
"cert_path" => nil,
"private_key_path" => nil,
"private_key_passphrase" => nil,
"client_cert_auth" => false,
"ca_cert_path" => nil,
"ca_private_key_path" => nil,
"ca_private_key_passphrase" => nil,
"generate_private_key_length" => 2048,
"generate_cert_country" => "US",
"generate_cert_state" => "CA",
"generate_cert_locality" => "Mountain View",
"generate_cert_common_name" => nil,
"generate_cert_expiration" => 315360000,
"generate_cert_digest" => :sha256,
}
},
}
assert_equal(expected, @klass.initial_params)
end
test "#valid?" do
assert do
@klass.new({}).valid?
end
end
test "#plugin_name" do
assert_equal("forward", @klass.new({}).plugin_name)
end
test "#plugin_type" do
assert_equal("input", @klass.new({}).plugin_type)
end
test "#to_config" do
assert do
@klass.new({}).to_config.to_s.include?("@type forward")
end
end
test "with security section" do
valid_attributes = {
security: {
"0" => {
self_hostname: "test.fluentd",
shared_key: "secretsharedkey",
}
}
}
expected = <<-CONFIG
<source>
@type forward
<security>
self_hostname test.fluentd
shared_key secretsharedkey
</security>
</source>
CONFIG
assert_equal(expected, @klass.new(valid_attributes).to_config.to_s)
end
test "with invalid security section" do
params = {
security: {
"0" => {
self_hostname: "test.fluentd",
}
}
}
object = @klass.new(params)
object.validate
assert_equal(["'shared_key' parameter is required, in section security"], object.errors.full_messages)
end
end
end