-
Notifications
You must be signed in to change notification settings - Fork 899
/
ems_folder.rb
96 lines (79 loc) · 2.89 KB
/
ems_folder.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
FactoryGirl.define do
factory :ems_folder do
sequence(:name) { |n| "Test Folder #{seq_padded_for_sorting(n)}" }
end
factory :datacenter, :parent => :ems_folder, :class => "Datacenter"
factory :storage_cluster, :parent => :ems_folder, :class => "StorageCluster"
factory :inventory_group,
:class => "ManageIQ::Providers::ConfigurationManager::InventoryGroup",
:parent => :ems_folder
factory :inventory_root_group,
:class => "ManageIQ::Providers::ConfigurationManager::InventoryRootGroup",
:parent => :ems_folder
#
# VMware specific folders
#
factory :vmware_folder, :parent => :ems_folder do
sequence(:ems_ref) { |n| "group-d#{n}" }
end
factory :vmware_folder_vm, :parent => :ems_folder do
sequence(:ems_ref) { |n| "group-v#{n}" }
end
factory :vmware_folder_host, :parent => :ems_folder do
sequence(:ems_ref) { |n| "group-h#{n}" }
end
factory :vmware_folder_datastore, :parent => :ems_folder do
sequence(:ems_ref) { |n| "group-s#{n}" }
end
factory :vmware_folder_network, :parent => :ems_folder do
sequence(:ems_ref) { |n| "group-n#{n}" }
end
factory :vmware_folder_root, :parent => :vmware_folder do
name "Datacenters"
hidden true
end
factory :vmware_folder_vm_root, :parent => :vmware_folder_vm do
name "vm"
hidden true
end
factory :vmware_folder_host_root, :parent => :vmware_folder_host do
name "host"
hidden true
end
factory :vmware_folder_datastore_root, :parent => :vmware_folder_datastore do
name "datastore"
hidden true
end
factory :vmware_folder_network_root, :parent => :vmware_folder_network do
name "network"
hidden true
end
factory :vmware_datacenter, :parent => :vmware_folder, :class => "Datacenter" do
sequence(:name) { |n| "Test Datacenter #{seq_padded_for_sorting(n)}" }
end
end
def build_vmware_folder_structure!(ems)
ems.add_child(
FactoryGirl.create(:vmware_folder_root, :ems_id => ems.id).tap do |root|
root.add_child(
FactoryGirl.create(:vmware_folder, :name => "yellow1", :ems_id => ems.id).tap do |f|
f.add_child(
FactoryGirl.create(:vmware_datacenter, :ems_id => ems.id).tap do |dc|
dc.add_children(
FactoryGirl.create(:vmware_folder_vm_root, :ems_id => ems.id) do |vm|
vm.add_children(
FactoryGirl.create(:vmware_folder_vm, :name => "blue1", :ems_id => ems.id),
FactoryGirl.create(:vmware_folder_vm, :name => "blue2", :ems_id => ems.id)
)
end,
FactoryGirl.create(:vmware_folder_host_root, :ems_id => ems.id),
FactoryGirl.create(:vmware_folder_datastore_root, :ems_id => ems.id),
FactoryGirl.create(:vmware_folder_network_root, :ems_id => ems.id)
)
end
)
end
)
end
)
end