Skip to content

Commit

Permalink
dialogs/models/current/historical test stand alone
Browse files Browse the repository at this point in the history
These tests are different in that they test the specific refactorings
around task/logfile creation/update.
  • Loading branch information
jrafanie committed May 21, 2018
1 parent d67331b commit cec90ae
Showing 1 changed file with 60 additions and 60 deletions.
120 changes: 60 additions & 60 deletions spec/models/miq_server/log_management_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,66 @@ def stub_vmdb_util_methods_for_collection_log
expect(@miq_server.current_log_patterns).to match_array %w(/var/log/syslog* /var/lib/pgsql/data/*.conf)
end

context "post current/historical/models/dialogs" do
let(:task) { FactoryGirl.create(:miq_task) }
let(:compressed_log_patterns) { [Rails.root.join("log", "evm*.log.gz").to_s] }
let(:current_log_patterns) { [Rails.root.join("log", "evm.log").to_s] }
let(:compressed_evm_log) { Rails.root.join("evm.log-20180319.gz").to_s }
let(:log_start) { Time.zone.parse("2018-05-11 11:33:12 UTC") }
let(:log_end) { Time.zone.parse("2018-05-11 15:34:16 UTC") }
let(:daily_log) { Rails.root.join("data", "user", "system", "evm_server_daily.zip").to_s }
let(:log_depot) { FactoryGirl.create(:file_depot) }
let!(:region) { MiqRegion.seed }
let(:zone) { @miq_server.zone }
before do
require 'vmdb/util'
allow(VMDB::Util).to receive(:compressed_log_patterns).and_return(compressed_log_patterns)
allow(VMDB::Util).to receive(:get_evm_log_for_date).and_return(compressed_evm_log)
allow(VMDB::Util).to receive(:get_log_start_end_times).and_return([log_start, log_end])
allow(VMDB::Util).to receive(:zip_logs).and_return(daily_log)
allow(@miq_server).to receive(:current_log_patterns).and_return(current_log_patterns)
allow(@miq_server).to receive(:backup_automate_dialogs)
allow(@miq_server).to receive(:backup_automate_models)
%w(historical_logfile current_logfile).each do |kind|
logfile = FactoryGirl.create(:log_file, :historical => kind == "historical_logfile")
allow(logfile).to receive(:upload)
allow(LogFile).to receive(kind).and_return(logfile)
end
end

%w(
Archive post_historical_logs
Current post_current_logs
Models post_automate_models
Dialogs post_automate_dialogs
).each_slice(2) do |name, method|
it "##{method}" do
@miq_server.send(method, task.id, log_depot)
logfile = @miq_server.reload.log_files.first
expected_name = [name, "region", region.region, zone.name, zone.id, @miq_server.name, @miq_server.id, "20180511_113312 20180511_153416"].join(" ")
expect(logfile).to have_attributes(
:file_depot => log_depot,
:local_file => daily_log,
:logging_started_on => log_start,
:logging_ended_on => log_end,
:name => expected_name,
:description => "Logs for Zone #{@miq_server.zone.name} Server #{@miq_server.name} 20180511_113312 20180511_153416",
:miq_task_id => task.id
)

expected_filename = "#{name}_region_#{region.region}_#{zone.name}_#{zone.id}_#{@miq_server.name}_#{@miq_server.id}_20180511_113312_20180511_153416.zip"
expected_filename.gsub!(/\s+/, "_")
expect(logfile.destination_file_name).to eq(expected_filename)

expect(task.reload).to have_attributes(
:message => "#{name} log files from #{@miq_server.name} #{@miq_server.zone.name} MiqServer #{@miq_server.id} are posted",
:state => "Active",
:status => "Ok",
)
end
end
end

context "#synchronize_logs" do
it "passes along server override" do
@miq_server.synchronize_logs("system", @miq_server2)
Expand Down Expand Up @@ -149,66 +209,6 @@ def stub_vmdb_util_methods_for_collection_log
describe "#post_historical_logs" do
context "Server" do
include_examples "post_[type_of_log]_logs", "MiqServer", :historical

context "new tests" do
let(:task) { FactoryGirl.create(:miq_task) }
let(:compressed_log_patterns) { [Rails.root.join("log", "evm*.log.gz").to_s] }
let(:current_log_patterns) { [Rails.root.join("log", "evm.log").to_s] }
let(:compressed_evm_log) { Rails.root.join("evm.log-20180319.gz").to_s }
let(:log_start) { Time.zone.parse("2018-05-11 11:33:12 UTC") }
let(:log_end) { Time.zone.parse("2018-05-11 15:34:16 UTC") }
let(:daily_log) { Rails.root.join("data", "user", "system", "evm_server_daily.zip").to_s }
let(:log_depot) { FactoryGirl.create(:file_depot) }
let!(:region) { MiqRegion.seed }
let(:zone) { @miq_server.zone }
before do
require 'vmdb/util'
allow(VMDB::Util).to receive(:compressed_log_patterns).and_return(compressed_log_patterns)
allow(VMDB::Util).to receive(:get_evm_log_for_date).and_return(compressed_evm_log)
allow(VMDB::Util).to receive(:get_log_start_end_times).and_return([log_start, log_end])
allow(VMDB::Util).to receive(:zip_logs).and_return(daily_log)
allow(@miq_server).to receive(:current_log_patterns).and_return(current_log_patterns)
allow(@miq_server).to receive(:backup_automate_dialogs)
allow(@miq_server).to receive(:backup_automate_models)
%w(historical_logfile current_logfile).each do |kind|
logfile = FactoryGirl.create(:log_file, :historical => kind == "historical_logfile")
allow(logfile).to receive(:upload)
allow(LogFile).to receive(kind).and_return(logfile)
end
end

%w(
Archive post_historical_logs
Current post_current_logs
Models post_automate_models
Dialogs post_automate_dialogs
).each_slice(2) do |name, method|
it "##{method}" do
@miq_server.send(method, task.id, log_depot)
logfile = @miq_server.reload.log_files.first
expected_name = [name, "region", region.region, zone.name, zone.id, @miq_server.name, @miq_server.id, "20180511_113312 20180511_153416"].join(" ")
expect(logfile).to have_attributes(
:file_depot => log_depot,
:local_file => daily_log,
:logging_started_on => log_start,
:logging_ended_on => log_end,
:name => expected_name,
:description => "Logs for Zone #{@miq_server.zone.name} Server #{@miq_server.name} 20180511_113312 20180511_153416",
:miq_task_id => task.id
)

expected_filename = "#{name}_region_#{region.region}_#{zone.name}_#{zone.id}_#{@miq_server.name}_#{@miq_server.id}_20180511_113312_20180511_153416.zip"
expected_filename.gsub!(/\s+/, "_")
expect(logfile.destination_file_name).to eq(expected_filename)

expect(task.reload).to have_attributes(
:message => "#{name} log files from #{@miq_server.name} #{@miq_server.zone.name} MiqServer #{@miq_server.id} are posted",
:state => "Active",
:status => "Ok",
)
end
end
end
end

context "Zone" do
Expand Down

0 comments on commit cec90ae

Please sign in to comment.