manageiq
manageiq copied to clipboard
Sporadic test failures with SupportsFeatureMixin
There appear to be some sporadic test failures between supports_feature_mixin_spec and a number of other specs which test ExtManagementSystem
classes.
Failures:
1) BlacklistedEvent.seed does not re-seed existing event filters
Failure/Error: missing_events = ems.default_blacklisted_event_names - (existing[ems.name] || [])
NoMethodError:
undefined method `default_blacklisted_event_names' for ProviderA::ExtManagementSystem:Class
# ./app/models/blacklisted_event.rb:27:in `block in seed'
# ./app/models/blacklisted_event.rb:26:in `each'
# ./app/models/blacklisted_event.rb:26:in `seed'
# ./spec/models/blacklisted_event_spec.rb:28:in `block (3 levels) in <top (required)>'
2) BlacklistedEvent.seed re-seeds deleted event filters
Failure/Error: missing_events = ems.default_blacklisted_event_names - (existing[ems.name] || [])
NoMethodError:
undefined method `default_blacklisted_event_names' for ProviderA::ExtManagementSystem:Class
# ./app/models/blacklisted_event.rb:27:in `block in seed'
# ./app/models/blacklisted_event.rb:26:in `each'
# ./app/models/blacklisted_event.rb:26:in `seed'
# ./spec/models/blacklisted_event_spec.rb:12:in `block (3 levels) in <top (required)>'
3) BlacklistedEvent.seed loads event filters
Failure/Error: missing_events = ems.default_blacklisted_event_names - (existing[ems.name] || [])
NoMethodError:
undefined method `default_blacklisted_event_names' for ProviderA::ExtManagementSystem:Class
# ./app/models/blacklisted_event.rb:27:in `block in seed'
# ./app/models/blacklisted_event.rb:26:in `each'
# ./app/models/blacklisted_event.rb:26:in `seed'
# ./spec/models/blacklisted_event_spec.rb:7:in `block (3 levels) in <top (required)>'
4) ExtManagementSystem .model_name_from_emstype
Failure/Error: emstype = emstype.downcase
NoMethodError:
undefined method `downcase' for nil:NilClass
# ./app/models/ext_management_system.rb:402:in `model_from_emstype'
# ./app/models/ext_management_system.rb:398:in `model_name_from_emstype'
# ./spec/models/ext_management_system_spec.rb:43:in `block (3 levels) in <top (required)>'
# ./spec/models/ext_management_system_spec.rb:42:in `each'
# ./spec/models/ext_management_system_spec.rb:42:in `block (2 levels) in <top (required)>'
5) ExtManagementSystem validates type
Failure/Error: expect { ManageIQ::Providers::BaseManager.new(:hostname => "abc", :name => "abc", :zone => FactoryBot.build(:zone)).validate! }.to raise_error(ActiveRecord::RecordInvalid)
expected ActiveRecord::RecordInvalid but nothing was raised
# ./spec/models/ext_management_system_spec.rb:152:in `block (2 levels) in <top (required)>'
6) EvmDatabase.seed doesn't fail
Failure/Error: missing_events = ems.default_blacklisted_event_names - (existing[ems.name] || [])
NoMethodError:
undefined method `default_blacklisted_event_names' for ProviderA::ExtManagementSystem:Class
# ./app/models/blacklisted_event.rb:27:in `block in seed'
# ./app/models/blacklisted_event.rb:26:in `each'
# ./app/models/blacklisted_event.rb:26:in `seed'
# ./lib/evm_database.rb:136:in `block (4 levels) in seed_classes'
# ./lib/evm_database.rb:136:in `block (3 levels) in seed_classes'
# ./lib/evm_database.rb:134:in `each'
# ./lib/evm_database.rb:134:in `block (2 levels) in seed_classes'
# ./lib/extensions/ar_table_lock.rb:21:in `block in with_lock'
# ./lib/extensions/ar_table_lock.rb:15:in `with_lock'
# ./lib/evm_database.rb:133:in `block in seed_classes'
# ./lib/evm_database.rb:131:in `seed_classes'
# ./lib/evm_database.rb:84:in `block in seed'
# ./lib/evm_database.rb:68:in `with_seed'
# ./lib/evm_database.rb:76:in `seed'
# ./spec/lib/evm_database_spec.rb:48:in `block (3 levels) in <top (required)>'
Failed examples:
rspec ./spec/models/blacklisted_event_spec.rb:20 # BlacklistedEvent.seed does not re-seed existing event filters
rspec ./spec/models/blacklisted_event_spec.rb:11 # BlacklistedEvent.seed re-seeds deleted event filters
rspec ./spec/models/blacklisted_event_spec.rb:6 # BlacklistedEvent.seed loads event filters
rspec ./spec/models/ext_management_system_spec.rb:41 # ExtManagementSystem .model_name_from_emstype
rspec ./spec/models/ext_management_system_spec.rb:144 # ExtManagementSystem validates type
rspec ./spec/lib/evm_database_spec.rb:47 # EvmDatabase.seed doesn't fail
All of these failures reference ProviderA::ExtManagementSystem:Class
and I only see ProviderA
in spec/models/mixins/supports_feature_mixin_spec.rb