From e7095003d3708af9907e7249cae473e186997bb6 Mon Sep 17 00:00:00 2001 From: vimesa Date: Thu, 14 Dec 2023 14:36:30 +0000 Subject: [PATCH 1/5] Add serf spec --- spec/services/serf_spec.rb | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 spec/services/serf_spec.rb diff --git a/spec/services/serf_spec.rb b/spec/services/serf_spec.rb new file mode 100644 index 0000000..323a98a --- /dev/null +++ b/spec/services/serf_spec.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +require 'spec_helper' +require 'json' +set :os, family: 'redhat', release: '9', arch: 'x86_64' + +packages = %w[ + serf redborder-serf +] + +service = 'serf' +config_file = '/etc/serf/00first.json' + +describe "Checking packages for #{service}..." do + packages.each do |package| + describe package(package) do + before do + skip("#{package} is not installed, skipping...") unless package(package).installed? + end + + it 'is expected to be installed' do + expect(package(package).installed?).to be true + end + end + end +end + +service_status = command("systemctl is-enabled #{service}").stdout +service_status = service_status.strip + +if service_status == 'enabled' + describe "Checking #{service_status} service for #{service}..." do + describe service(service) do + it { should be_enabled } + it { should be_running } + end + + describe file(config_file) do + it { should exist } + it { should be_file } + end + end +end + +if service_status == 'disabled' + describe "Checking #{service_status} service for #{service}..." do + describe service(service) do + it { should_not be_enabled } + it { should_not be_running } + end + + describe file(config_file) do + it { should_not exist } + end + end +end From 1e7477d9acfd515df74c54b749c016cfb0ac2c19 Mon Sep 17 00:00:00 2001 From: vimesa Date: Thu, 14 Dec 2023 15:04:45 +0000 Subject: [PATCH 2/5] Add serf spec --- spec/services/serf_spec.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spec/services/serf_spec.rb b/spec/services/serf_spec.rb index 323a98a..2513a52 100644 --- a/spec/services/serf_spec.rb +++ b/spec/services/serf_spec.rb @@ -10,6 +10,9 @@ service = 'serf' config_file = '/etc/serf/00first.json' +port = 7946 +# target_host = ENV['TARGET_HOST'] || '10.1.209.20' +# ip_sync = ipaddress_sync // 10.1.215.20 describe "Checking packages for #{service}..." do packages.each do |package| @@ -35,10 +38,19 @@ it { should be_running } end + describe port(port) do + it { should be_listening } + end + describe file(config_file) do it { should exist } it { should be_file } end + + describe command('serf members') do + its(:exit_status) { should eq 0 } + its(:stdout) { should match(/.*#{Regexp.escape(target_host)}.*/) } + end end end From f2f98bedf1876b58259331575f3648a526af1104 Mon Sep 17 00:00:00 2001 From: vimesa Date: Thu, 14 Dec 2023 15:11:54 +0000 Subject: [PATCH 3/5] Add serf spec --- spec/services/serf_spec.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spec/services/serf_spec.rb b/spec/services/serf_spec.rb index 2513a52..ef895f7 100644 --- a/spec/services/serf_spec.rb +++ b/spec/services/serf_spec.rb @@ -13,6 +13,7 @@ port = 7946 # target_host = ENV['TARGET_HOST'] || '10.1.209.20' # ip_sync = ipaddress_sync // 10.1.215.20 +ip_sync = '10.1.215.20' describe "Checking packages for #{service}..." do packages.each do |package| @@ -48,8 +49,12 @@ end describe command('serf members') do - its(:exit_status) { should eq 0 } - its(:stdout) { should match(/.*#{Regexp.escape(target_host)}.*/) } + it 'The command was executed successfully' do + expect(subject.exit_status).to eq 0 + end + it 'Contains the IP sync value' do + expect(subject.stdout).to match(/.*#{Regexp.escape(ip_sync)}.*/) + end end end end From 6a06bf7ea2d373022e0a386f063ff816c0f54bc9 Mon Sep 17 00:00:00 2001 From: vimesa Date: Fri, 15 Dec 2023 11:54:56 +0000 Subject: [PATCH 4/5] Modify serf spec --- spec/services/serf_spec.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/spec/services/serf_spec.rb b/spec/services/serf_spec.rb index ef895f7..5b6f72d 100644 --- a/spec/services/serf_spec.rb +++ b/spec/services/serf_spec.rb @@ -13,7 +13,7 @@ port = 7946 # target_host = ENV['TARGET_HOST'] || '10.1.209.20' # ip_sync = ipaddress_sync // 10.1.215.20 -ip_sync = '10.1.215.20' +# ip_sync = '10.1.215.20' describe "Checking packages for #{service}..." do packages.each do |package| @@ -48,14 +48,14 @@ it { should be_file } end - describe command('serf members') do - it 'The command was executed successfully' do - expect(subject.exit_status).to eq 0 - end - it 'Contains the IP sync value' do - expect(subject.stdout).to match(/.*#{Regexp.escape(ip_sync)}.*/) - end - end + # describe command('serf members') do + # it 'The command was executed successfully' do + # expect(subject.exit_status).to eq 0 + # end + # it 'Contains the IP sync value' do + # expect(subject.stdout).to match(/.*#{Regexp.escape(ip_sync)}.*/) + # end + # end end end From 0d2fac97739ed29815881828b28624e5e948b6e8 Mon Sep 17 00:00:00 2001 From: vimesa Date: Mon, 18 Dec 2023 14:39:48 +0000 Subject: [PATCH 5/5] Add serf spec --- spec/services/serf_spec.rb | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/spec/services/serf_spec.rb b/spec/services/serf_spec.rb index 5b6f72d..756ab3f 100644 --- a/spec/services/serf_spec.rb +++ b/spec/services/serf_spec.rb @@ -11,9 +11,6 @@ service = 'serf' config_file = '/etc/serf/00first.json' port = 7946 -# target_host = ENV['TARGET_HOST'] || '10.1.209.20' -# ip_sync = ipaddress_sync // 10.1.215.20 -# ip_sync = '10.1.215.20' describe "Checking packages for #{service}..." do packages.each do |package| @@ -47,15 +44,6 @@ it { should exist } it { should be_file } end - - # describe command('serf members') do - # it 'The command was executed successfully' do - # expect(subject.exit_status).to eq 0 - # end - # it 'Contains the IP sync value' do - # expect(subject.stdout).to match(/.*#{Regexp.escape(ip_sync)}.*/) - # end - # end end end