diff --git a/spec/classes/broker_spec.rb b/spec/classes/broker_spec.rb index 2758b33..0c3d309 100644 --- a/spec/classes/broker_spec.rb +++ b/spec/classes/broker_spec.rb @@ -1,100 +1,102 @@ require 'spec_helper' require 'shared_examples_param_validation' describe 'kafka::broker', type: :class do on_supported_os.each do |os, os_facts| context "on #{os}" do let(:facts) do os_facts end let :params do { config: { 'zookeeper.connect' => 'localhost:2181' } } end it { is_expected.to contain_class('kafka::broker::install').that_comes_before('Class[kafka::broker::config]') } it { is_expected.to contain_class('kafka::broker::config').that_comes_before('Class[kafka::broker::service]') } it { is_expected.to contain_class('kafka::broker::service').that_comes_before('Class[kafka::broker]') } it { is_expected.to contain_class('kafka::broker') } context 'with manage_log4j => true' do - let(:params) { {'manage_log4j' => true} } + let(:params) { { 'manage_log4j' => true } } + it { is_expected.to contain_class('kafka::broker::config').with('log_file_size' => '50MB', 'log_file_count' => 7) } end describe 'kafka::broker::install' do context 'defaults' do it { is_expected.to contain_class('kafka') } end end describe 'kafka::broker::config' do context 'defaults' do it { is_expected.to contain_file('/opt/kafka/config/server.properties') } end context 'with manage_log4j => true' do - let(:params) { {'manage_log4j' => true} } + let(:params) { { 'manage_log4j' => true } } + it { is_expected.to contain_file('/opt/kafka/config/log4j.properties').with_content(%r{^log4j.appender.kafkaAppender.MaxFileSize=50MB$}) } it { is_expected.to contain_file('/opt/kafka/config/log4j.properties').with_content(%r{^log4j.appender.kafkaAppender.MaxBackupIndex=7$}) } end end describe 'kafka::broker::service' do context 'manage_service false' do let(:params) { super().merge(manage_service: false) } it { is_expected.not_to contain_file('/etc/init.d/kafka') } it { is_expected.not_to contain_file('/etc/systemd/system/kafka.service') } it { is_expected.not_to contain_service('kafka') } end context 'defaults' do if os_facts[:service_provider] == 'systemd' it { is_expected.to contain_file('/etc/init.d/kafka').with_ensure('absent') } it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_content %r{^After=network\.target syslog\.target$} } it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_content %r{^Wants=network\.target syslog\.target$} } it { is_expected.not_to contain_file('/etc/systemd/system/kafka.service').with_content %r{^LimitNOFILE=} } it { is_expected.not_to contain_file('/etc/systemd/system/kafka.service').with_content %r{^LimitCORE=} } else it { is_expected.to contain_file('/etc/init.d/kafka') } end it { is_expected.to contain_service('kafka') } end context 'limit_nofile set' do let(:params) { super().merge(limit_nofile: '65536') } if os_facts[:service_provider] == 'systemd' it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_content %r{^LimitNOFILE=65536$} } else it { is_expected.to contain_file('/etc/init.d/kafka').with_content %r{ulimit -n 65536$} } end end context 'limit_core set' do let(:params) { super().merge(limit_core: 'infinity') } if os_facts[:service_provider] == 'systemd' it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_content %r{^LimitCORE=infinity$} } else it { is_expected.to contain_file('/etc/init.d/kafka').with_content %r{ulimit -c infinity$} } end end context 'service_requires set', if: os_facts[:service_provider] == 'systemd' do let(:params) { super().merge(service_requires: ['dummy.target']) } it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_content %r{^After=dummy\.target$} } it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_content %r{^Wants=dummy\.target$} } end end it_validates_parameter 'mirror_url' end end end diff --git a/spec/classes/consumer_spec.rb b/spec/classes/consumer_spec.rb index a023950..137972e 100644 --- a/spec/classes/consumer_spec.rb +++ b/spec/classes/consumer_spec.rb @@ -1,62 +1,64 @@ require 'spec_helper' require 'shared_examples_param_validation' describe 'kafka::consumer', type: :class do on_supported_os.each do |os, os_facts| context "on #{os}" do let(:facts) do os_facts end let :params do { service_config: { 'topic' => 'demo', 'zookeeper' => 'localhost:2181' } } end it { is_expected.to contain_class('kafka::consumer::install').that_comes_before('Class[kafka::consumer::config]') } it { is_expected.to contain_class('kafka::consumer::config').that_comes_before('Class[kafka::consumer::service]') } it { is_expected.to contain_class('kafka::consumer::service').that_comes_before('Class[kafka::consumer]') } it { is_expected.to contain_class('kafka::consumer') } context 'with manage_log4j => true' do - let(:params) { {'manage_log4j' => true} } + let(:params) { { 'manage_log4j' => true } } + it { is_expected.to contain_class('kafka::consumer::config').with('log_file_size' => '50MB', 'log_file_count' => 7) } end describe 'kafka::consumer::install' do context 'defaults' do it { is_expected.to contain_class('kafka') } end end describe 'kafka::consumer::config' do context 'defaults' do it { is_expected.to contain_file('/opt/kafka/config/consumer.properties') } end context 'with manage_log4j => true' do - let(:params) { {'manage_log4j' => true} } + let(:params) { { 'manage_log4j' => true } } + it { is_expected.to contain_file('/opt/kafka/config/log4j.properties').with_content(%r{^log4j.appender.kafkaAppender.MaxFileSize=50MB$}) } it { is_expected.to contain_file('/opt/kafka/config/log4j.properties').with_content(%r{^log4j.appender.kafkaAppender.MaxBackupIndex=7$}) } end end describe 'kafka::consumer::service' do context 'defaults' do if os_facts[:service_provider] == 'systemd' it { is_expected.to contain_file('/etc/init.d/kafka-consumer').with_abent('absent') } else it { is_expected.to contain_file('/etc/init.d/kafka-consumer') } end it { is_expected.to contain_service('kafka-consumer') } end end it_validates_parameter 'mirror_url' end end end diff --git a/spec/classes/mirror_spec.rb b/spec/classes/mirror_spec.rb index b1ce157..e76caf5 100644 --- a/spec/classes/mirror_spec.rb +++ b/spec/classes/mirror_spec.rb @@ -1,63 +1,64 @@ require 'spec_helper' require 'shared_examples_param_validation' describe 'kafka::mirror', type: :class do on_supported_os.each do |os, os_facts| context "on #{os}" do let(:facts) do os_facts end let :params do { consumer_config: { 'group.id' => 'kafka-mirror', 'zookeeper.connect' => 'localhost:2181' }, producer_config: { 'bootstrap.servers' => 'localhost:9092' } } end it { is_expected.to contain_class('kafka::mirror::install').that_comes_before('Class[kafka::mirror::config]') } it { is_expected.to contain_class('kafka::mirror::config').that_comes_before('Class[kafka::mirror::service]') } it { is_expected.to contain_class('kafka::mirror::service').that_comes_before('Class[kafka::mirror]') } it { is_expected.to contain_class('kafka::mirror') } context 'with manage_log4j => true' do - let(:params) { {'manage_log4j' => true} } + let(:params) { { 'manage_log4j' => true } } + it { is_expected.to contain_class('kafka::mirror::config').with('log_file_size' => '50MB', 'log_file_count' => 7) } end describe 'kafka::mirror::install' do context 'defaults' do it { is_expected.to contain_class('kafka') } end end describe 'kafka::mirror::config' do context 'defaults' do it { is_expected.to contain_class('kafka::consumer::config') } it { is_expected.to contain_class('kafka::producer::config') } end end describe 'kafka::mirror::service' do context 'defaults' do if os_facts[:service_provider] == 'systemd' it { is_expected.to contain_file('/etc/init.d/kafka-mirror').with_ensure('absent') } it { is_expected.to contain_file('/etc/systemd/system/kafka-mirror.service').with_content %r{/opt/kafka/config/(?=.*consumer)|(?=.*producer).propertie} } else it { is_expected.to contain_file('/etc/init.d/kafka-mirror') } it { is_expected.to contain_file('/etc/init.d/kafka-mirror').with_content %r{/opt/kafka/config/(?=.*consumer)|(?=.*producer).properties} } end it { is_expected.to contain_service('kafka-mirror') } end end it_validates_parameter 'mirror_url' end end end