Project

General

Profile

Download (1.99 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

module Scenarios
describe Satellite_6_4_z::PreUpgradeCheck do
include DefinitionsTestHelper

before do
assume_feature_present(:downstream) do |feature|
feature.any_instance.stubs(:current_version => version('6.4.0'))
end
assume_feature_present(:foreman_tasks)
end

let :scenario do
assert_scenario(:tags => [:pre_upgrade_checks, :upgrade_to_satellite_6_4_z])
end

it 'is valid for 6.4.0 and 6.4.z version' do
assert_scenario(:tags => [:pre_upgrade_checks, :upgrade_to_satellite_6_4_z])

assume_feature_present(:downstream) do |feature_class|
feature_class.any_instance.stubs(:current_version => version('6.4.0'))
end
detector.refresh
assert_scenario(:tags => [:pre_upgrade_checks, :upgrade_to_satellite_6_4_z])

assume_feature_present(:downstream) do |feature_class|
feature_class.any_instance.stubs(:current_version => version('6.4.1'))
end
detector.refresh
assert_scenario(:tags => [:pre_upgrade_checks, :upgrade_to_satellite_6_4_z])
end

it 'is valid only for 6.4.z versions' do
assume_feature_present(:downstream) do |feature_class|
feature_class.any_instance.stubs(:current_version => version('6.4.1'))
end
detector.refresh
assert_scenario(:tags => [:pre_upgrade_checks, :upgrade_to_satellite_6_4_z])

assume_feature_present(:downstream) do |feature_class|
feature_class.any_instance.stubs(:current_version => version('6.2.9'))
end
detector.refresh
refute_scenario(:tags => [:pre_upgrade_checks, :upgrade_to_satellite_6_4_z])

assume_feature_absent(:downstream)
detector.refresh
refute_scenario(:tags => [:pre_upgrade_checks, :upgrade_to_satellite_6_4_z])
end

it 'composes the pre upgrade checks for migration from satellite 6.4.0 to 6.4.z' do
assert(
scenario.steps.find { |step| step.is_a? Checks::ForemanTasks::Invalid::CheckPendingState }
)
end
end
end
(6-6/6)