diff --git a/lib/fog/compute/xen_server/models/blob.rb b/lib/fog/compute/xen_server/models/blob.rb index f4d7518..4bbd305 100644 --- a/lib/fog/compute/xen_server/models/blob.rb +++ b/lib/fog/compute/xen_server/models/blob.rb @@ -7,6 +7,7 @@ class Blob < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=blob provider_class :blob + collection_name :blobs identity :reference diff --git a/lib/fog/compute/xen_server/models/bond.rb b/lib/fog/compute/xen_server/models/bond.rb index be5b675..ac288d1 100644 --- a/lib/fog/compute/xen_server/models/bond.rb +++ b/lib/fog/compute/xen_server/models/bond.rb @@ -7,6 +7,7 @@ class Bond < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=Bond provider_class :Bond + collection_name :bonds identity :reference diff --git a/lib/fog/compute/xen_server/models/console.rb b/lib/fog/compute/xen_server/models/console.rb index 2e92547..55882e1 100644 --- a/lib/fog/compute/xen_server/models/console.rb +++ b/lib/fog/compute/xen_server/models/console.rb @@ -7,6 +7,7 @@ class Console < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=console provider_class :console + collection_name :consoles identity :reference diff --git a/lib/fog/compute/xen_server/models/crash_dump.rb b/lib/fog/compute/xen_server/models/crash_dump.rb index 13d60be..9aee184 100644 --- a/lib/fog/compute/xen_server/models/crash_dump.rb +++ b/lib/fog/compute/xen_server/models/crash_dump.rb @@ -7,6 +7,7 @@ class CrashDump < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=crashdump provider_class :crashdump + collection_name :crash_dumps identity :reference diff --git a/lib/fog/compute/xen_server/models/dr_task.rb b/lib/fog/compute/xen_server/models/dr_task.rb index d81292e..b99b63c 100644 --- a/lib/fog/compute/xen_server/models/dr_task.rb +++ b/lib/fog/compute/xen_server/models/dr_task.rb @@ -7,6 +7,7 @@ class DrTask < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=DR_task provider_class :DR_task + collection_name :dr_tasks identity :reference diff --git a/lib/fog/compute/xen_server/models/gpu_group.rb b/lib/fog/compute/xen_server/models/gpu_group.rb index a317973..97d859f 100644 --- a/lib/fog/compute/xen_server/models/gpu_group.rb +++ b/lib/fog/compute/xen_server/models/gpu_group.rb @@ -7,6 +7,7 @@ class GpuGroup < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=GPU_group provider_class :GPU_group + collection_name :gpu_groups identity :reference diff --git a/lib/fog/compute/xen_server/models/guest_metrics.rb b/lib/fog/compute/xen_server/models/guest_metrics.rb index 6d82928..fabc5ca 100644 --- a/lib/fog/compute/xen_server/models/guest_metrics.rb +++ b/lib/fog/compute/xen_server/models/guest_metrics.rb @@ -7,6 +7,7 @@ class GuestMetrics < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VM_guest_metrics provider_class :VM_guest_metrics + collection_name :guests_metrics identity :reference diff --git a/lib/fog/compute/xen_server/models/host.rb b/lib/fog/compute/xen_server/models/host.rb index 5a205ec..f9c202c 100644 --- a/lib/fog/compute/xen_server/models/host.rb +++ b/lib/fog/compute/xen_server/models/host.rb @@ -7,6 +7,7 @@ class Host < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=host provider_class :host + collection_name :hosts identity :reference diff --git a/lib/fog/compute/xen_server/models/host_cpu.rb b/lib/fog/compute/xen_server/models/host_cpu.rb index bb3cc75..52acbe6 100644 --- a/lib/fog/compute/xen_server/models/host_cpu.rb +++ b/lib/fog/compute/xen_server/models/host_cpu.rb @@ -7,6 +7,7 @@ class HostCpu < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=host_cpu provider_class :host_cpu + collection_name :host_cpus identity :reference diff --git a/lib/fog/compute/xen_server/models/host_crash_dump.rb b/lib/fog/compute/xen_server/models/host_crash_dump.rb index 5f68158..fdbba7a 100644 --- a/lib/fog/compute/xen_server/models/host_crash_dump.rb +++ b/lib/fog/compute/xen_server/models/host_crash_dump.rb @@ -7,6 +7,7 @@ class HostCrashDump < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=host_crashdump provider_class :host_crashdump + collection_name :host_crash_dumps identity :reference diff --git a/lib/fog/compute/xen_server/models/host_metrics.rb b/lib/fog/compute/xen_server/models/host_metrics.rb index d34af21..ba62270 100644 --- a/lib/fog/compute/xen_server/models/host_metrics.rb +++ b/lib/fog/compute/xen_server/models/host_metrics.rb @@ -7,6 +7,7 @@ class HostMetrics < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=host_metrics provider_class :host_metrics + collection_name :hosts_metrics identity :reference diff --git a/lib/fog/compute/xen_server/models/host_patch.rb b/lib/fog/compute/xen_server/models/host_patch.rb index b9addba..4fb3b47 100644 --- a/lib/fog/compute/xen_server/models/host_patch.rb +++ b/lib/fog/compute/xen_server/models/host_patch.rb @@ -7,6 +7,7 @@ class HostPatch < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=host_patch provider_class :host_patch + collection_name :host_patchs identity :reference diff --git a/lib/fog/compute/xen_server/models/network.rb b/lib/fog/compute/xen_server/models/network.rb index f85067c..e44cdf6 100644 --- a/lib/fog/compute/xen_server/models/network.rb +++ b/lib/fog/compute/xen_server/models/network.rb @@ -7,6 +7,7 @@ class Network < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=network provider_class :network + collection_name :networks identity :reference @@ -25,10 +26,12 @@ class Network < Fog::Model has_many :pifs, :pifs, :aliases => :PIFs has_many :vifs, :vifs, :aliases => :VIFs + require_before_save :name + def save - requires :name + require_creation_attributes ref = service.create_network name, attributes - merge_attributes service.networks.get(ref).attributes + merge_attributes collection.get(ref).attributes true end end diff --git a/lib/fog/compute/xen_server/models/pbd.rb b/lib/fog/compute/xen_server/models/pbd.rb index fd6e35b..2f606dc 100644 --- a/lib/fog/compute/xen_server/models/pbd.rb +++ b/lib/fog/compute/xen_server/models/pbd.rb @@ -7,6 +7,7 @@ class Pbd < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=PBD provider_class :PBD + collection_name :pbds identity :reference diff --git a/lib/fog/compute/xen_server/models/pci.rb b/lib/fog/compute/xen_server/models/pci.rb index ef79b0b..1b8885b 100644 --- a/lib/fog/compute/xen_server/models/pci.rb +++ b/lib/fog/compute/xen_server/models/pci.rb @@ -7,6 +7,7 @@ class Pci < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=PCI provider_class :PCI + collection_name :pcis identity :reference diff --git a/lib/fog/compute/xen_server/models/pgpu.rb b/lib/fog/compute/xen_server/models/pgpu.rb index 0037398..1d45100 100644 --- a/lib/fog/compute/xen_server/models/pgpu.rb +++ b/lib/fog/compute/xen_server/models/pgpu.rb @@ -7,6 +7,7 @@ class Pgpu < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=PGPU provider_class :PGPU + collection_name :pgpus identity :reference diff --git a/lib/fog/compute/xen_server/models/pif.rb b/lib/fog/compute/xen_server/models/pif.rb index dd4ee75..d252b2e 100644 --- a/lib/fog/compute/xen_server/models/pif.rb +++ b/lib/fog/compute/xen_server/models/pif.rb @@ -7,6 +7,7 @@ class Pif < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=PIF provider_class :PIF + collection_name :pifs identity :reference diff --git a/lib/fog/compute/xen_server/models/pif_metrics.rb b/lib/fog/compute/xen_server/models/pif_metrics.rb index cf91260..eaf2bb0 100644 --- a/lib/fog/compute/xen_server/models/pif_metrics.rb +++ b/lib/fog/compute/xen_server/models/pif_metrics.rb @@ -7,6 +7,7 @@ class PifMetrics < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=PIF_metrics provider_class :PIF_metrics + collection_name :pifs_metrics identity :reference diff --git a/lib/fog/compute/xen_server/models/pool.rb b/lib/fog/compute/xen_server/models/pool.rb index 0051be6..3d3f9dd 100644 --- a/lib/fog/compute/xen_server/models/pool.rb +++ b/lib/fog/compute/xen_server/models/pool.rb @@ -7,6 +7,7 @@ class Pool < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=pool provider_class :pool + collection_name :pools identity :reference diff --git a/lib/fog/compute/xen_server/models/pool_patch.rb b/lib/fog/compute/xen_server/models/pool_patch.rb index cb3c79a..21dad45 100644 --- a/lib/fog/compute/xen_server/models/pool_patch.rb +++ b/lib/fog/compute/xen_server/models/pool_patch.rb @@ -7,6 +7,7 @@ class PoolPatch < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=pool_patch provider_class :pool_patch + collection_name :pool_patchs identity :reference diff --git a/lib/fog/compute/xen_server/models/role.rb b/lib/fog/compute/xen_server/models/role.rb index 46788a4..14f5687 100644 --- a/lib/fog/compute/xen_server/models/role.rb +++ b/lib/fog/compute/xen_server/models/role.rb @@ -7,6 +7,7 @@ class Role < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=role provider_class :role + collection_name :roles identity :reference diff --git a/lib/fog/compute/xen_server/models/server.rb b/lib/fog/compute/xen_server/models/server.rb index d1e6239..1a71de6 100644 --- a/lib/fog/compute/xen_server/models/server.rb +++ b/lib/fog/compute/xen_server/models/server.rb @@ -9,6 +9,7 @@ class Server < Fog::Compute::Server # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VM provider_class :VM + collection_name :servers identity :reference @@ -94,6 +95,8 @@ class Server < Fog::Compute::Server has_many :vifs, :vifs, :aliases => :VIFs has_many :vtpms, :vtpms, :aliases => :VTPMs + require_before_save :name + def tools_installed? !guest_metrics.nil? end @@ -117,7 +120,7 @@ def halted? end def save(params = {}) - requires :name + require_creation_attributes nets = params.fetch(:networks, []) auto_start = params.fetch(:auto_start, true) if template_name @@ -125,7 +128,7 @@ def save(params = {}) else ref = service.create_server_raw(attributes) end - merge_attributes service.servers.get(ref).attributes + merge_attributes collection.get(ref).attributes true end diff --git a/lib/fog/compute/xen_server/models/server_appliance.rb b/lib/fog/compute/xen_server/models/server_appliance.rb index 6f90dfb..03133fe 100644 --- a/lib/fog/compute/xen_server/models/server_appliance.rb +++ b/lib/fog/compute/xen_server/models/server_appliance.rb @@ -7,6 +7,7 @@ class ServerAppliance < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VM_appliance provider_class :VM_appliance + collection_name :server_appliances identity :reference diff --git a/lib/fog/compute/xen_server/models/server_metrics.rb b/lib/fog/compute/xen_server/models/server_metrics.rb index 5fa6b6a..3e309d4 100644 --- a/lib/fog/compute/xen_server/models/server_metrics.rb +++ b/lib/fog/compute/xen_server/models/server_metrics.rb @@ -7,6 +7,7 @@ class ServerMetrics < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VM_metrics provider_class :VM_metrics + collection_name :servers_metrics identity :reference diff --git a/lib/fog/compute/xen_server/models/storage_manager.rb b/lib/fog/compute/xen_server/models/storage_manager.rb index 01262f8..da7ee76 100644 --- a/lib/fog/compute/xen_server/models/storage_manager.rb +++ b/lib/fog/compute/xen_server/models/storage_manager.rb @@ -7,6 +7,7 @@ class StorageManager < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=SM provider_class :SM + collection_name :storage_managers identity :reference diff --git a/lib/fog/compute/xen_server/models/storage_repository.rb b/lib/fog/compute/xen_server/models/storage_repository.rb index 8198ccf..1f26198 100644 --- a/lib/fog/compute/xen_server/models/storage_repository.rb +++ b/lib/fog/compute/xen_server/models/storage_repository.rb @@ -7,6 +7,7 @@ class StorageRepository < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=SR provider_class :SR + collection_name :storage_repositories identity :reference @@ -31,11 +32,13 @@ class StorageRepository < Fog::Model has_many :pbds, :pbds, :aliases => :PBDs has_many :vdis, :vdis, :aliases => :VDIs + require_before_save :name, :type + def save(host, device_config = {}) - requires :name, :type + require_creation_attributes ref = service.create_sr(host, name, type, description, device_config, physical_size, content_type, shared || false, sm_config) - merge_attributes service.storage_repositories.get(ref).attributes + merge_attributes collection.get(ref).attributes true end end diff --git a/lib/fog/compute/xen_server/models/tunnel.rb b/lib/fog/compute/xen_server/models/tunnel.rb index ade4c19..d7edbc0 100644 --- a/lib/fog/compute/xen_server/models/tunnel.rb +++ b/lib/fog/compute/xen_server/models/tunnel.rb @@ -7,6 +7,7 @@ class Tunnel < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=tunnel provider_class :tunnel + collection_name :tunnels identity :reference diff --git a/lib/fog/compute/xen_server/models/vbd.rb b/lib/fog/compute/xen_server/models/vbd.rb index b18f9a4..ffd6fee 100644 --- a/lib/fog/compute/xen_server/models/vbd.rb +++ b/lib/fog/compute/xen_server/models/vbd.rb @@ -7,6 +7,7 @@ class Vbd < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VBD provider_class :VBD + collection_name :vbds identity :reference @@ -34,12 +35,14 @@ class Vbd < Fog::Model has_one :vdi, :vdis, :aliases => :VDI has_one :vm, :servers, :aliases => :VM + require_before_save :vdi, :server + alias_method :server, :vm def save - requires :vdi, :server + require_creation_attributes ref = service.create_vbd(server, vdi, attributes) - merge_attributes(service.vbds.get(ref).attributes) + merge_attributes collection.get(ref).attributes true end end diff --git a/lib/fog/compute/xen_server/models/vbd_metrics.rb b/lib/fog/compute/xen_server/models/vbd_metrics.rb index dc69658..0c99dc4 100644 --- a/lib/fog/compute/xen_server/models/vbd_metrics.rb +++ b/lib/fog/compute/xen_server/models/vbd_metrics.rb @@ -7,6 +7,7 @@ class VbdMetrics < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VBD_metrics provider_class :VBD_metrics + collection_name :vbds_metrics identity :reference diff --git a/lib/fog/compute/xen_server/models/vdi.rb b/lib/fog/compute/xen_server/models/vdi.rb index c40e925..03d0db5 100644 --- a/lib/fog/compute/xen_server/models/vdi.rb +++ b/lib/fog/compute/xen_server/models/vdi.rb @@ -7,6 +7,7 @@ class Vdi < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VDI provider_class :VDI + collection_name :vdis identity :reference @@ -42,6 +43,8 @@ class Vdi < Fog::Model has_one :sr, :storage_repositories, :aliases => :SR has_many :vbds, :vbds, :aliases => :VBDs + require_before_save :name, :storage_repository + alias_method :storage_repository, :sr # @@ -57,9 +60,9 @@ def initialize(attributes = {}) end def save - requires :name, :storage_repository + require_creation_attributes ref = service.create_vdi(attributes) - merge_attributes service.vdis.get(ref).attributes + merge_attributes collection.get(ref).attributes true end end diff --git a/lib/fog/compute/xen_server/models/vif.rb b/lib/fog/compute/xen_server/models/vif.rb index 0725dfa..8f211ac 100644 --- a/lib/fog/compute/xen_server/models/vif.rb +++ b/lib/fog/compute/xen_server/models/vif.rb @@ -7,6 +7,7 @@ class Vif < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VIF provider_class :VIF + collection_name :vifs identity :reference @@ -33,12 +34,14 @@ class Vif < Fog::Model has_one :network, :networks has_one :vm, :servers, :aliases => :VM + require_before_save :server, :network + alias_method :server, :vm def save - requires :server, :network + require_creation_attributes ref = service.create_vif(server, network) - merge_attributes service.vifs.get(ref).attributes + merge_attributes collection.get(ref).attributes true end end diff --git a/lib/fog/compute/xen_server/models/vif_metrics.rb b/lib/fog/compute/xen_server/models/vif_metrics.rb index 42ed18c..829e4e6 100644 --- a/lib/fog/compute/xen_server/models/vif_metrics.rb +++ b/lib/fog/compute/xen_server/models/vif_metrics.rb @@ -7,6 +7,7 @@ class VifMetrics < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VIF_metrics provider_class :VIF_metrics + collection_name :vifs_metrics identity :reference diff --git a/lib/fog/compute/xen_server/models/vlan.rb b/lib/fog/compute/xen_server/models/vlan.rb index ca42f80..c74e460 100644 --- a/lib/fog/compute/xen_server/models/vlan.rb +++ b/lib/fog/compute/xen_server/models/vlan.rb @@ -7,6 +7,7 @@ class Vlan < Fog::Model # @see http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VLAN provider_class :VLAN + collection_name :vlans identity :reference @@ -17,10 +18,12 @@ class Vlan < Fog::Model has_one :tagged_pif, :pifs, :aliases => :tagged_PIF has_one :untagged_pif, :pifs, :aliases => :untagged_PIF + require_before_save :tag + def save(pif, network) - requires :tag + require_creation_attributes ref = service.create_vlan(pif, tag, network) - merge_attributes service.vlans.get(ref).attributes + merge_attributes collection.get(ref).attributes true end end diff --git a/lib/fog/compute/xen_server/models/vmpp.rb b/lib/fog/compute/xen_server/models/vmpp.rb index a24f06c..d80e47a 100644 --- a/lib/fog/compute/xen_server/models/vmpp.rb +++ b/lib/fog/compute/xen_server/models/vmpp.rb @@ -7,6 +7,7 @@ class Vmpp < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VMPP provider_class :VMPP + collection_name :vmpps identity :reference diff --git a/lib/fog/compute/xen_server/models/vtpm.rb b/lib/fog/compute/xen_server/models/vtpm.rb index f0bc5f3..b172024 100644 --- a/lib/fog/compute/xen_server/models/vtpm.rb +++ b/lib/fog/compute/xen_server/models/vtpm.rb @@ -7,6 +7,7 @@ class Vtpm < Fog::Model # http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VTPM provider_class :VTPM + collection_name :vtpms identity :reference diff --git a/lib/fog/model.rb b/lib/fog/model.rb index 556f435..e912cb8 100644 --- a/lib/fog/model.rb +++ b/lib/fog/model.rb @@ -11,6 +11,15 @@ def provider_class self.class.provider_class end + def self.collection_name(collection_name = nil) + return @collection_name if collection_name.nil? + @collection_name = collection_name + end + + def collection + service.send(self.class.collection_name) + end + def self.has_one(association, collection_name, options = {}) options[:aliases] = Array(options[:aliases]) options[:aliases] << association.to_sym @@ -33,6 +42,15 @@ def self.has_many(associations, collection_name, options = {}) end end + def self.require_before_save(*args) + return @require_before_save || [] if args.empty? + @require_before_save = args + end + + def require_creation_attributes + requires self.class.instance_variable_get(@require_before_save) + end + def set_attribute(name, *val) service.set_attribute(provider_class, reference, name, *val) end diff --git a/spec/fog/compute/xen_server/models/blob_spec.rb b/spec/fog/compute/xen_server/models/blob_spec.rb index d053026..c74c641 100644 --- a/spec/fog/compute/xen_server/models/blob_spec.rb +++ b/spec/fog/compute/xen_server/models/blob_spec.rb @@ -14,6 +14,10 @@ def self.read_identity blob_class.provider_class.must_equal('blob') end + it 'should have a collection name' do + blob_class.collection_name.must_equal(:blobs) + end + it 'should have an unique id' do blob_class.read_identity.must_equal(:reference) end @@ -37,4 +41,8 @@ def self.read_identity it "shouldn't have default values" do blob_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + blob_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/bond_spec.rb b/spec/fog/compute/xen_server/models/bond_spec.rb index 9f8cb73..6af6cb8 100644 --- a/spec/fog/compute/xen_server/models/bond_spec.rb +++ b/spec/fog/compute/xen_server/models/bond_spec.rb @@ -14,6 +14,10 @@ def self.read_identity bond_class.provider_class.must_equal('Bond') end + it 'should have a collection name' do + bond_class.collection_name.must_equal(:bonds) + end + it 'should have an unique id' do bond_class.read_identity.must_equal(:reference) end @@ -39,4 +43,8 @@ def self.read_identity it "shouldn't have default values" do bond_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + bond_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/console_spec.rb b/spec/fog/compute/xen_server/models/console_spec.rb index 09620aa..9aa2c36 100644 --- a/spec/fog/compute/xen_server/models/console_spec.rb +++ b/spec/fog/compute/xen_server/models/console_spec.rb @@ -14,6 +14,10 @@ def self.read_identity console_class.provider_class.must_equal('console') end + it 'should have a collection name' do + console_class.collection_name.must_equal(:consoles) + end + it 'should have an unique id' do console_class.read_identity.must_equal(:reference) end @@ -35,4 +39,8 @@ def self.read_identity it "shouldn't have default values" do console_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + console_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/crash_dump_spec.rb b/spec/fog/compute/xen_server/models/crash_dump_spec.rb index 47470cd..6d2f527 100644 --- a/spec/fog/compute/xen_server/models/crash_dump_spec.rb +++ b/spec/fog/compute/xen_server/models/crash_dump_spec.rb @@ -14,6 +14,10 @@ def self.read_identity crash_dump_class.provider_class.must_equal('crashdump') end + it 'should have a collection name' do + crash_dump_class.collection_name.must_equal(:crash_dumps) + end + it 'should have an unique id' do crash_dump_class.read_identity.must_equal(:reference) end @@ -36,4 +40,8 @@ def self.read_identity it "shouldn't have default values" do crash_dump_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + crash_dump_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/dr_task_spec.rb b/spec/fog/compute/xen_server/models/dr_task_spec.rb index abdab1a..0c3778d 100644 --- a/spec/fog/compute/xen_server/models/dr_task_spec.rb +++ b/spec/fog/compute/xen_server/models/dr_task_spec.rb @@ -14,6 +14,10 @@ def self.read_identity dr_task_class.provider_class.must_equal('DR_task') end + it 'should have a collection name' do + dr_task_class.collection_name.must_equal(:dr_tasks) + end + it 'should have an unique id' do dr_task_class.read_identity.must_equal(:reference) end @@ -32,4 +36,8 @@ def self.read_identity it "shouldn't have default values" do dr_task_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + dr_task_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/gpu_group_spec.rb b/spec/fog/compute/xen_server/models/gpu_group_spec.rb index ddcead2..a191a0a 100644 --- a/spec/fog/compute/xen_server/models/gpu_group_spec.rb +++ b/spec/fog/compute/xen_server/models/gpu_group_spec.rb @@ -14,6 +14,10 @@ def self.read_identity gpu_group_class.provider_class.must_equal('GPU_group') end + it 'should have a collection name' do + gpu_group_class.collection_name.must_equal(:gpu_groups) + end + it 'should have an unique id' do gpu_group_class.read_identity.must_equal(:reference) end @@ -42,4 +46,8 @@ def self.read_identity it "shouldn't have default values" do gpu_group_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + gpu_group_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/guest_metrics_spec.rb b/spec/fog/compute/xen_server/models/guest_metrics_spec.rb index 172976f..2717ffd 100644 --- a/spec/fog/compute/xen_server/models/guest_metrics_spec.rb +++ b/spec/fog/compute/xen_server/models/guest_metrics_spec.rb @@ -14,6 +14,10 @@ def self.read_identity guest_metrics_class.provider_class.must_equal('VM_guest_metrics') end + it 'should have a collection name' do + guest_metrics_class.collection_name.must_equal(:guests_metrics) + end + it 'should have an unique id' do guest_metrics_class.read_identity.must_equal(:reference) end @@ -41,4 +45,8 @@ def self.read_identity it "shouldn't have default values" do guest_metrics_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + guest_metrics_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/host_cpu_spec.rb b/spec/fog/compute/xen_server/models/host_cpu_spec.rb index b4b4fee..8f681e7 100644 --- a/spec/fog/compute/xen_server/models/host_cpu_spec.rb +++ b/spec/fog/compute/xen_server/models/host_cpu_spec.rb @@ -14,6 +14,10 @@ def self.read_identity host_cpu_class.provider_class.must_equal('host_cpu') end + it 'should have a collection name' do + host_cpu_class.collection_name.must_equal(:host_cpus) + end + it 'should have an unique id' do host_cpu_class.read_identity.must_equal(:reference) end @@ -43,4 +47,8 @@ def self.read_identity it "shouldn't have default values" do host_cpu_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + host_cpu_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/host_crash_dump_spec.rb b/spec/fog/compute/xen_server/models/host_crash_dump_spec.rb index 0a932e6..40fdea1 100644 --- a/spec/fog/compute/xen_server/models/host_crash_dump_spec.rb +++ b/spec/fog/compute/xen_server/models/host_crash_dump_spec.rb @@ -14,6 +14,10 @@ def self.read_identity host_crash_dump_class.provider_class.must_equal('host_crashdump') end + it 'should have a collection name' do + host_crash_dump_class.collection_name.must_equal(:host_crash_dumps) + end + it 'should have an unique id' do host_crash_dump_class.read_identity.must_equal(:reference) end @@ -34,4 +38,8 @@ def self.read_identity it "shouldn't have default values" do host_crash_dump_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + host_crash_dump_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/host_metrics_spec.rb b/spec/fog/compute/xen_server/models/host_metrics_spec.rb index 3ba0765..68d742f 100644 --- a/spec/fog/compute/xen_server/models/host_metrics_spec.rb +++ b/spec/fog/compute/xen_server/models/host_metrics_spec.rb @@ -16,6 +16,10 @@ def self.read_identity host_metrics_class.provider_class.must_equal('host_metrics') end + it 'should have a collection name' do + host_metrics_class.collection_name.must_equal(:hosts_metrics) + end + it 'should have an unique id' do host_metrics_class.read_identity.must_equal(:reference) end @@ -38,6 +42,10 @@ def self.read_identity host_metrics_class.default_values.must_equal({}) end + it "shouldn't require attributes before save" do + host_metrics_class.require_before_save.must_equal([]) + end + describe '#last_updated' do before :each do host_metrics.last_updated = XMLRPC::DateTime.new(2000, 7, 8, 10, 20, 34) diff --git a/spec/fog/compute/xen_server/models/host_patch_spec.rb b/spec/fog/compute/xen_server/models/host_patch_spec.rb index d6f73f1..8e6be5f 100644 --- a/spec/fog/compute/xen_server/models/host_patch_spec.rb +++ b/spec/fog/compute/xen_server/models/host_patch_spec.rb @@ -14,6 +14,10 @@ def self.read_identity host_patch_class.provider_class.must_equal('host_patch') end + it 'should have a collection name' do + host_patch_class.collection_name.must_equal(:host_patchs) + end + it 'should have an unique id' do host_patch_class.read_identity.must_equal(:reference) end @@ -42,4 +46,8 @@ def self.read_identity it "shouldn't have default values" do host_patch_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + host_patch_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/host_spec.rb b/spec/fog/compute/xen_server/models/host_spec.rb index 7bbb2f5..dfcc7a3 100644 --- a/spec/fog/compute/xen_server/models/host_spec.rb +++ b/spec/fog/compute/xen_server/models/host_spec.rb @@ -14,6 +14,10 @@ def self.read_identity host_class.provider_class.must_equal('host') end + it 'should have a collection name' do + host_class.collection_name.must_equal(:hosts) + end + it 'should have an unique id' do host_class.read_identity.must_equal(:reference) end @@ -99,4 +103,8 @@ def self.read_identity it "shouldn't have default values" do host_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + host_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/network_spec.rb b/spec/fog/compute/xen_server/models/network_spec.rb index 98bf445..e1c30ac 100644 --- a/spec/fog/compute/xen_server/models/network_spec.rb +++ b/spec/fog/compute/xen_server/models/network_spec.rb @@ -14,6 +14,10 @@ def self.read_identity network_class.provider_class.must_equal('network') end + it 'should have a collection name' do + network_class.collection_name.must_equal(:networks) + end + it 'should have an unique id' do network_class.read_identity.must_equal(:reference) end @@ -50,4 +54,8 @@ def self.read_identity :name => '', :other_config => {}) end + + it 'should require 1 attribute before save' do + network_class.require_before_save.must_equal([ :name ]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/pbd_spec.rb b/spec/fog/compute/xen_server/models/pbd_spec.rb index eb11fc9..56d28af 100644 --- a/spec/fog/compute/xen_server/models/pbd_spec.rb +++ b/spec/fog/compute/xen_server/models/pbd_spec.rb @@ -14,6 +14,10 @@ def self.read_identity pbd_class.provider_class.must_equal('PBD') end + it 'should have a collection name' do + pbd_class.collection_name.must_equal(:pbds) + end + it 'should have an unique id' do pbd_class.read_identity.must_equal(:reference) end @@ -37,4 +41,8 @@ def self.read_identity it "shouldn't have default values" do pbd_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + pbd_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/pci_spec.rb b/spec/fog/compute/xen_server/models/pci_spec.rb index 2aa150e..df7f7ba 100644 --- a/spec/fog/compute/xen_server/models/pci_spec.rb +++ b/spec/fog/compute/xen_server/models/pci_spec.rb @@ -14,6 +14,10 @@ def self.read_identity pci_class.provider_class.must_equal('PCI') end + it 'should have a collection name' do + pci_class.collection_name.must_equal(:pcis) + end + it 'should have an unique id' do pci_class.read_identity.must_equal(:reference) end @@ -37,4 +41,8 @@ def self.read_identity it "shouldn't have default values" do pci_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + pci_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/pgpu_spec.rb b/spec/fog/compute/xen_server/models/pgpu_spec.rb index 279616c..5ccc4cc 100644 --- a/spec/fog/compute/xen_server/models/pgpu_spec.rb +++ b/spec/fog/compute/xen_server/models/pgpu_spec.rb @@ -14,6 +14,10 @@ def self.read_identity pgpu_class.provider_class.must_equal('PGPU') end + it 'should have a collection name' do + pgpu_class.collection_name.must_equal(:pgpus) + end + it 'should have an unique id' do pgpu_class.read_identity.must_equal(:reference) end @@ -38,4 +42,8 @@ def self.read_identity it "shouldn't have default values" do pgpu_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + pgpu_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/pif_metrics_spec.rb b/spec/fog/compute/xen_server/models/pif_metrics_spec.rb index bc63629..55548ce 100644 --- a/spec/fog/compute/xen_server/models/pif_metrics_spec.rb +++ b/spec/fog/compute/xen_server/models/pif_metrics_spec.rb @@ -14,6 +14,10 @@ def self.read_identity pif_metrics_class.provider_class.must_equal('PIF_metrics') end + it 'should have a collection name' do + pif_metrics_class.collection_name.must_equal(:pifs_metrics) + end + it 'should have an unique id' do pif_metrics_class.read_identity.must_equal(:reference) end @@ -42,4 +46,8 @@ def self.read_identity it "shouldn't have default values" do pif_metrics_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + pif_metrics_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/pif_spec.rb b/spec/fog/compute/xen_server/models/pif_spec.rb index f50b21d..21ec0e1 100644 --- a/spec/fog/compute/xen_server/models/pif_spec.rb +++ b/spec/fog/compute/xen_server/models/pif_spec.rb @@ -14,6 +14,10 @@ def self.read_identity pif_class.provider_class.must_equal('PIF') end + it 'should have a collection name' do + pif_class.collection_name.must_equal(:pifs) + end + it 'should have an unique id' do pif_class.read_identity.must_equal(:reference) end @@ -78,4 +82,8 @@ def self.read_identity it "shouldn't have default values" do pif_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + pif_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/pool_patch_spec.rb b/spec/fog/compute/xen_server/models/pool_patch_spec.rb index f335b03..af15f8c 100644 --- a/spec/fog/compute/xen_server/models/pool_patch_spec.rb +++ b/spec/fog/compute/xen_server/models/pool_patch_spec.rb @@ -14,6 +14,10 @@ def self.read_identity pool_patch_class.provider_class.must_equal('pool_patch') end + it 'should have a collection name' do + pool_patch_class.collection_name.must_equal(:pool_patchs) + end + it 'should have an unique id' do pool_patch_class.read_identity.must_equal(:reference) end @@ -40,4 +44,8 @@ def self.read_identity it "shouldn't have default values" do pool_patch_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + pool_patch_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/pool_spec.rb b/spec/fog/compute/xen_server/models/pool_spec.rb index f5d887f..2a219e5 100644 --- a/spec/fog/compute/xen_server/models/pool_spec.rb +++ b/spec/fog/compute/xen_server/models/pool_spec.rb @@ -14,6 +14,10 @@ def self.read_identity pool_class.provider_class.must_equal('pool') end + it 'should have a collection name' do + pool_class.collection_name.must_equal(:pools) + end + it 'should have an unique id' do pool_class.read_identity.must_equal(:reference) end @@ -66,4 +70,8 @@ def self.read_identity it "shouldn't have default values" do pool_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + pool_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/role_spec.rb b/spec/fog/compute/xen_server/models/role_spec.rb index 014855c..834d9a3 100644 --- a/spec/fog/compute/xen_server/models/role_spec.rb +++ b/spec/fog/compute/xen_server/models/role_spec.rb @@ -14,6 +14,10 @@ def self.read_identity role_class.provider_class.must_equal('role') end + it 'should have a collection name' do + role_class.collection_name.must_equal(:roles) + end + it 'should have an unique id' do role_class.read_identity.must_equal(:reference) end @@ -35,4 +39,8 @@ def self.read_identity it "shouldn't have default values" do role_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + role_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/server_appliance_spec.rb b/spec/fog/compute/xen_server/models/server_appliance_spec.rb index 319c2cb..eeedef4 100644 --- a/spec/fog/compute/xen_server/models/server_appliance_spec.rb +++ b/spec/fog/compute/xen_server/models/server_appliance_spec.rb @@ -14,6 +14,10 @@ def self.read_identity server_appliance_class.provider_class.must_equal('VM_appliance') end + it 'should have a collection name' do + server_appliance_class.collection_name.must_equal(:server_appliances) + end + it 'should have an unique id' do server_appliance_class.read_identity.must_equal(:reference) end @@ -38,4 +42,8 @@ def self.read_identity it "shouldn't have default values" do server_appliance_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + server_appliance_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/server_metrics_spec.rb b/spec/fog/compute/xen_server/models/server_metrics_spec.rb index dca4825..7628521 100644 --- a/spec/fog/compute/xen_server/models/server_metrics_spec.rb +++ b/spec/fog/compute/xen_server/models/server_metrics_spec.rb @@ -14,6 +14,10 @@ def self.read_identity server_metrics_class.provider_class.must_equal('VM_metrics') end + it 'should have a collection name' do + server_metrics_class.collection_name.must_equal(:servers_metrics) + end + it 'should have an unique id' do server_metrics_class.read_identity.must_equal(:reference) end @@ -45,4 +49,8 @@ def self.read_identity it "shouldn't have default values" do server_metrics_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + server_metrics_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/server_spec.rb b/spec/fog/compute/xen_server/models/server_spec.rb index ee624f9..9eaa381 100644 --- a/spec/fog/compute/xen_server/models/server_spec.rb +++ b/spec/fog/compute/xen_server/models/server_spec.rb @@ -18,6 +18,10 @@ def self.read_identity server_class.provider_class.must_equal('VM') end + it 'should have a collection name' do + server_class.collection_name.must_equal(:servers) + end + it 'should have an unique id' do server_class.read_identity.must_equal(:reference) end @@ -180,6 +184,10 @@ def self.read_identity :vcpus_params => {}) end + it 'should require 1 attribute before save' do + server_class.require_before_save.must_equal([ :name ]) + end + describe '#tools_installed?' do describe 'when guest_metrics is nil' do it 'should return false' do diff --git a/spec/fog/compute/xen_server/models/storage_manager_spec.rb b/spec/fog/compute/xen_server/models/storage_manager_spec.rb index f4305a0..3bb0787 100644 --- a/spec/fog/compute/xen_server/models/storage_manager_spec.rb +++ b/spec/fog/compute/xen_server/models/storage_manager_spec.rb @@ -14,6 +14,10 @@ def self.read_identity storage_manager_class.provider_class.must_equal('SM') end + it 'should have a collection name' do + storage_manager_class.collection_name.must_equal(:storage_managers) + end + it 'should have an unique id' do storage_manager_class.read_identity.must_equal(:reference) end @@ -43,4 +47,8 @@ def self.read_identity it "shouldn't have default values" do storage_manager_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + storage_manager_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/storage_repository_spec.rb b/spec/fog/compute/xen_server/models/storage_repository_spec.rb index 68f5858..9e1950f 100644 --- a/spec/fog/compute/xen_server/models/storage_repository_spec.rb +++ b/spec/fog/compute/xen_server/models/storage_repository_spec.rb @@ -14,6 +14,10 @@ def self.read_identity storage_repository_class.provider_class.must_equal('SR') end + it 'should have a collection name' do + storage_repository_class.collection_name.must_equal(:storage_repositories) + end + it 'should have an unique id' do storage_repository_class.read_identity.must_equal(:reference) end @@ -56,4 +60,8 @@ def self.read_identity :physical_size => '0', :sm_config => {}) end + + it 'should require 2 attributes before save' do + storage_repository_class.require_before_save.must_equal([ :name, :type ]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/tunnel_spec.rb b/spec/fog/compute/xen_server/models/tunnel_spec.rb index 4431a12..85c4e8f 100644 --- a/spec/fog/compute/xen_server/models/tunnel_spec.rb +++ b/spec/fog/compute/xen_server/models/tunnel_spec.rb @@ -14,6 +14,10 @@ def self.read_identity tunnel_class.provider_class.must_equal('tunnel') end + it 'should have a collection name' do + tunnel_class.collection_name.must_equal(:tunnels) + end + it 'should have an unique id' do tunnel_class.read_identity.must_equal(:reference) end @@ -37,4 +41,8 @@ def self.read_identity it "shouldn't have default values" do tunnel_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + tunnel_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/vbd_metrics_spec.rb b/spec/fog/compute/xen_server/models/vbd_metrics_spec.rb index 848edda..042bc92 100644 --- a/spec/fog/compute/xen_server/models/vbd_metrics_spec.rb +++ b/spec/fog/compute/xen_server/models/vbd_metrics_spec.rb @@ -16,6 +16,10 @@ def self.read_identity vbd_metrics_class.provider_class.must_equal('VBD_metrics') end + it 'should have a collection name' do + vbd_metrics_class.collection_name.must_equal(:vbds_metrics) + end + it 'should have an unique id' do vbd_metrics_class.read_identity.must_equal(:reference) end @@ -37,6 +41,10 @@ def self.read_identity vbd_metrics_class.default_values.must_equal({}) end + it "shouldn't require attributes before save" do + vbd_metrics_class.require_before_save.must_equal([]) + end + describe '#last_updated' do before :each do vbd_metrics.last_updated = XMLRPC::DateTime.new(2000, 7, 8, 10, 20, 34) diff --git a/spec/fog/compute/xen_server/models/vbd_spec.rb b/spec/fog/compute/xen_server/models/vbd_spec.rb index 4fc5f58..82966b1 100644 --- a/spec/fog/compute/xen_server/models/vbd_spec.rb +++ b/spec/fog/compute/xen_server/models/vbd_spec.rb @@ -14,6 +14,10 @@ def self.read_identity vbd_class.provider_class.must_equal('VBD') end + it 'should have a collection name' do + vbd_class.collection_name.must_equal(:vbds) + end + it 'should have an unique id' do vbd_class.read_identity.must_equal(:reference) end @@ -62,4 +66,8 @@ def self.read_identity :type => 'Disk', :userdevice => '0') end + + it 'should require 2 attributes before save' do + vbd_class.require_before_save.must_equal([ :vdi, :server ]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/vdi_spec.rb b/spec/fog/compute/xen_server/models/vdi_spec.rb index 817a0a7..092d812 100644 --- a/spec/fog/compute/xen_server/models/vdi_spec.rb +++ b/spec/fog/compute/xen_server/models/vdi_spec.rb @@ -14,6 +14,10 @@ def self.read_identity vdi_class.provider_class.must_equal('VDI') end + it 'should have a collection name' do + vdi_class.collection_name.must_equal(:vdis) + end + it 'should have an unique id' do vdi_class.read_identity.must_equal(:reference) end @@ -70,4 +74,8 @@ def self.read_identity :tags => 'system', :virtual_size => '8589934592') end + + it 'should require 2 attributes before save' do + vdi_class.require_before_save.must_equal([ :name, :storage_repository ]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/vif_metrics_spec.rb b/spec/fog/compute/xen_server/models/vif_metrics_spec.rb index 44df69f..d00c570 100644 --- a/spec/fog/compute/xen_server/models/vif_metrics_spec.rb +++ b/spec/fog/compute/xen_server/models/vif_metrics_spec.rb @@ -14,6 +14,10 @@ def self.read_identity vif_metrics_class.provider_class.must_equal('VIF_metrics') end + it 'should have a collection name' do + vif_metrics_class.collection_name.must_equal(:vifs_metrics) + end + it 'should have an unique id' do vif_metrics_class.read_identity.must_equal(:reference) end @@ -34,4 +38,8 @@ def self.read_identity it "shouldn't have default values" do vif_metrics_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + vif_metrics_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/vif_spec.rb b/spec/fog/compute/xen_server/models/vif_spec.rb index 1b20cc6..566ed4e 100644 --- a/spec/fog/compute/xen_server/models/vif_spec.rb +++ b/spec/fog/compute/xen_server/models/vif_spec.rb @@ -14,6 +14,10 @@ def self.read_identity vif_class.provider_class.must_equal('VIF') end + it 'should have a collection name' do + vif_class.collection_name.must_equal(:vifs) + end + it 'should have an unique id' do vif_class.read_identity.must_equal(:reference) end @@ -61,4 +65,8 @@ def self.read_identity :qos_algorithm_params => {}, :qos_algorithm_type => 'ratelimit') end + + it 'should require 2 attributes before save' do + vif_class.require_before_save.must_equal([ :server, :network ]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/vlan_spec.rb b/spec/fog/compute/xen_server/models/vlan_spec.rb index b6aecbe..7b1969b 100644 --- a/spec/fog/compute/xen_server/models/vlan_spec.rb +++ b/spec/fog/compute/xen_server/models/vlan_spec.rb @@ -14,6 +14,10 @@ def self.read_identity vlan_class.provider_class.must_equal('VLAN') end + it 'should have a collection name' do + vlan_class.collection_name.must_equal(:vlans) + end + it 'should have an unique id' do vlan_class.read_identity.must_equal(:reference) end @@ -37,4 +41,8 @@ def self.read_identity it "shouldn't have default values" do vlan_class.default_values.must_equal({}) end + + it 'should require 1 attribute before save' do + vlan_class.require_before_save.must_equal([ :tag ]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/vmpp_spec.rb b/spec/fog/compute/xen_server/models/vmpp_spec.rb index 395fc45..660fbd6 100644 --- a/spec/fog/compute/xen_server/models/vmpp_spec.rb +++ b/spec/fog/compute/xen_server/models/vmpp_spec.rb @@ -14,6 +14,10 @@ def self.read_identity vmpp_class.provider_class.must_equal('VMPP') end + it 'should have a collection name' do + vmpp_class.collection_name.must_equal(:vmpps) + end + it 'should have an unique id' do vmpp_class.read_identity.must_equal(:reference) end @@ -52,4 +56,8 @@ def self.read_identity it "shouldn't have default values" do vmpp_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + vmpp_class.require_before_save.must_equal([]) + end end \ No newline at end of file diff --git a/spec/fog/compute/xen_server/models/vtpm_spec.rb b/spec/fog/compute/xen_server/models/vtpm_spec.rb index a57db24..9734c22 100644 --- a/spec/fog/compute/xen_server/models/vtpm_spec.rb +++ b/spec/fog/compute/xen_server/models/vtpm_spec.rb @@ -14,6 +14,10 @@ def self.read_identity vtpm_class.provider_class.must_equal('VTPM') end + it 'should have a collection name' do + vtpm_class.collection_name.must_equal(:vtpms) + end + it 'should have an unique id' do vtpm_class.read_identity.must_equal(:reference) end @@ -33,4 +37,8 @@ def self.read_identity it "shouldn't have default values" do vtpm_class.default_values.must_equal({}) end + + it "shouldn't require attributes before save" do + vtpm_class.require_before_save.must_equal([]) + end end \ No newline at end of file