Skip to content

Commit 0241da2

Browse files
committed
WIP: factory change removing abstract Vm
Don't create entries in the database with parent abstract classes Avoid Infra or Vm -- instead do a vendor specific vm (would have preferred to use the dummy provider)
1 parent 01dbb53 commit 0241da2

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

spec/factories/vm_or_template.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
FactoryBot.define do
2-
factory :vm_or_template do
2+
factory :vm_or_template, :class => "ManageIQ::Providers::Vmware::InfraManager::Vm" do
33
sequence(:name) { |n| "vm_#{seq_padded_for_sorting(n)}" }
44
location { "unknown" }
55
uid_ems { SecureRandom.uuid }
@@ -12,13 +12,13 @@
1212
end
1313
end
1414

15-
factory :template, :class => "MiqTemplate", :parent => :vm_or_template do
15+
factory :template, :class => "ManageIQ::Providers::Vmware::InfraManager::Template", :parent => :vm_or_template do
1616
sequence(:name) { |n| "template_#{seq_padded_for_sorting(n)}" }
1717
template { true }
1818
raw_power_state { "never" }
1919
end
2020

21-
factory(:vm, :class => "Vm", :parent => :vm_or_template)
21+
factory(:vm, :class => "ManageIQ::Providers::Vmware::InfraManager::Vm", :parent => :vm_or_template)
2222
factory(:vm_cloud, :class => "VmCloud", :parent => :vm) { cloud { true } }
2323
factory(:vm_infra, :class => "VmInfra", :parent => :vm)
2424
factory(:vm_server, :class => "VmServer", :parent => :vm)
@@ -38,7 +38,7 @@
3838
vendor { "openstack" }
3939
end
4040

41-
factory :miq_template do
41+
factory :miq_template, :class => "ManageIQ::Providers::Vmware::InfraManager::Template" do
4242
name { "ubuntu-16.04-stable" }
4343
location { "Minneapolis, MN" }
4444
vendor { "openstack" }

spec/models/miq_report/generator_spec.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,12 @@
7373
FactoryBot.create(:template) # filtered out by report.where_clause
7474
vm = FactoryBot.create(:vm, :vendor => "redhat")
7575

76+
expect(vm.type).to match(/Vm/)
77+
7678
rpt = FactoryBot.create(
7779
:miq_report,
7880
:db => "VmOrTemplate",
79-
:where_clause => ["vms.type = ?", "Vm"],
81+
:where_clause => ["vms.type = ?", vm.type],
8082
:col_order => %w[id name host.name vendor]
8183
)
8284
rpt.generate_table(:userid => @user.userid, :where_clause => {"vms.vendor" => "redhat"})

spec/models/vm_or_template_spec.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,31 +56,35 @@
5656
end
5757

5858
context "with attrs template => true, ems_id => nil, host_id => nil" do
59-
let(:attrs) { {:template => true, :ems_id => nil, :host_id => nil} }
59+
subject { FactoryBot.create(:miq_template, attrs) }
60+
let(:attrs) { {:ems_id => nil, :host_id => nil} }
6061

6162
it("is not #registered?") { expect(subject.registered?).to be false }
6263
it("is not in registered_vms") { expect(registered_vms).to_not include subject }
6364
it("is in unregistered_vms") { expect(unregistered_vms).to include subject }
6465
end
6566

6667
context "with attrs if template => true, ems_id => nil, host_id => [ID]" do
67-
let(:attrs) { {:template => true, :ems_id => nil, :host_id => host.id} }
68+
subject { FactoryBot.create(:miq_template, attrs) }
69+
let(:attrs) { {:ems_id => nil, :host_id => host.id} }
6870

6971
it("is not #registered?") { expect(subject.registered?).to be false }
7072
it("is not in registered_vms") { expect(registered_vms).to_not include subject }
7173
it("is in unregistered_vms") { expect(unregistered_vms).to include subject }
7274
end
7375

7476
context "with attrs if template => true, ems_id => [ID], host_id => nil" do
75-
let(:attrs) { {:template => true, :ems_id => ems.id, :host_id => nil} }
77+
subject { FactoryBot.create(:miq_template, attrs) }
78+
let(:attrs) { {:ems_id => ems.id, :host_id => nil} }
7679

7780
it("is not #registered?") { expect(subject.registered?).to be false }
7881
it("is not in registered_vms") { expect(registered_vms).to_not include subject }
7982
it("is in unregistered_vms") { expect(unregistered_vms).to include subject }
8083
end
8184

8285
context "with attrs if template => true, ems_id => [ID], host_id => [ID]" do
83-
let(:attrs) { {:template => true, :ems_id => ems.id, :host_id => host.id} }
86+
subject { FactoryBot.create(:miq_template, attrs) }
87+
let(:attrs) { {:ems_id => ems.id, :host_id => host.id} }
8488

8589
it("is #registered?") { expect(subject.registered?).to be true }
8690
it("is in registered_vms") { expect(registered_vms).to include subject }

0 commit comments

Comments
 (0)