From: Jan Provaznik jprovazn@redhat.com
Deltacloud client lib returns 'kind' attribute as a symbol, but activereord doesn't deal well with it when saving. This patch stringifies value. --- src/app/models/hardware_profile.rb | 4 ++-- src/app/models/hardware_profile_property.rb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/app/models/hardware_profile.rb b/src/app/models/hardware_profile.rb index de9ef23..2ce6d81 100644 --- a/src/app/models/hardware_profile.rb +++ b/src/app/models/hardware_profile.rb @@ -85,10 +85,10 @@ class HardwareProfile < ActiveRecord::Base def new_property(prop) return nil unless prop.present? the_property = HardwareProfileProperty.new(:name => prop.name, - :kind => prop.kind, + :kind => prop.kind.to_s, :unit => prop.unit, :value => prop.value) - case prop.kind + case prop.kind.to_s when HardwareProfileProperty::RANGE the_property.range_first = prop.range[:from] the_property.range_last = prop.range[:to] diff --git a/src/app/models/hardware_profile_property.rb b/src/app/models/hardware_profile_property.rb index 0717484..1291122 100644 --- a/src/app/models/hardware_profile_property.rb +++ b/src/app/models/hardware_profile_property.rb @@ -26,9 +26,9 @@ class HardwareProfileProperty < ActiveRecord::Base CPU = "cpu" ARCHITECTURE = "architecture"
- FIXED = :fixed - RANGE = :range - ENUM = :enum + FIXED = 'fixed' + RANGE = 'range' + ENUM = 'enum'
UNIT_MB = "MB" UNIT_GB = "GB"
Sending again revisioned version (symbol -> string fixed also in factories) with rspec test included.
From: Jan Provaznik jprovazn@redhat.com
Deltacloud client lib returns 'kind' attribute as a symbol, but activereord doesn't deal well with it when saving. This patch stringifies value. --- src/app/models/hardware_profile.rb | 4 +- src/app/models/hardware_profile_property.rb | 6 ++-- src/spec/factories/hardware_profile_property.rb | 32 +++++++++++----------- 3 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/src/app/models/hardware_profile.rb b/src/app/models/hardware_profile.rb index de9ef23..2ce6d81 100644 --- a/src/app/models/hardware_profile.rb +++ b/src/app/models/hardware_profile.rb @@ -85,10 +85,10 @@ class HardwareProfile < ActiveRecord::Base def new_property(prop) return nil unless prop.present? the_property = HardwareProfileProperty.new(:name => prop.name, - :kind => prop.kind, + :kind => prop.kind.to_s, :unit => prop.unit, :value => prop.value) - case prop.kind + case prop.kind.to_s when HardwareProfileProperty::RANGE the_property.range_first = prop.range[:from] the_property.range_last = prop.range[:to] diff --git a/src/app/models/hardware_profile_property.rb b/src/app/models/hardware_profile_property.rb index 0717484..1291122 100644 --- a/src/app/models/hardware_profile_property.rb +++ b/src/app/models/hardware_profile_property.rb @@ -26,9 +26,9 @@ class HardwareProfileProperty < ActiveRecord::Base CPU = "cpu" ARCHITECTURE = "architecture"
- FIXED = :fixed - RANGE = :range - ENUM = :enum + FIXED = 'fixed' + RANGE = 'range' + ENUM = 'enum'
UNIT_MB = "MB" UNIT_GB = "GB" diff --git a/src/spec/factories/hardware_profile_property.rb b/src/spec/factories/hardware_profile_property.rb index 0a2447d..91c40a1 100644 --- a/src/spec/factories/hardware_profile_property.rb +++ b/src/spec/factories/hardware_profile_property.rb @@ -3,35 +3,35 @@ end
Factory.define :mock_hwp1_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :fixed + p.kind 'fixed' p.unit 'MB' p.value 1740.8 end
Factory.define :mock_hwp1_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :fixed + p.kind 'fixed' p.unit 'GB' p.value 160 end
Factory.define :mock_hwp1_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 1.0 end
Factory.define :mock_hwp1_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'i386' end
Factory.define :mock_hwp2_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :range + p.kind 'range' p.unit 'MB' p.value 10240 p.range_first 7680 @@ -40,7 +40,7 @@ end
Factory.define :mock_hwp2_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :enum + p.kind 'enum' p.unit 'GB' p.value 850 # p.property_enum_entries { |p| [p.association(:mock_hwp2_storage_enum1), @@ -49,49 +49,49 @@ end
Factory.define :mock_hwp2_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 2.0 end
Factory.define :mock_hwp2_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'x86_64' end
Factory.define :agg_hwp1_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :fixed + p.kind 'fixed' p.unit 'MB' p.value 1740.8 end
Factory.define :agg_hwp1_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :fixed + p.kind 'fixed' p.unit 'GB' p.value 160 end
Factory.define :agg_hwp1_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 1 end
Factory.define :agg_hwp1_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'i386' end
Factory.define :agg_hwp2_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :range + p.kind 'range' p.unit 'MB' p.value 10240 p.range_first 7680 @@ -100,7 +100,7 @@ end
Factory.define :agg_hwp2_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :enum + p.kind 'enum' p.unit 'GB' p.value 850 # p.property_enum_entries { |p| [p.association(:agg_hwp2_storage_enum1), @@ -109,14 +109,14 @@ end
Factory.define :agg_hwp2_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 2 end
Factory.define :agg_hwp2_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'x86_64' end
ACK
----- Original Message ----- From: jprovazn@redhat.com To: deltacloud-devel@lists.fedorahosted.org Sent: Tuesday, August 17, 2010 12:17:16 PM GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna Subject: [deltacloud-devel] [PATCH aggregator 1/2] Converts HardwareProfileProperty 'kind' attr to string.
From: Jan Provaznik jprovazn@redhat.com
Deltacloud client lib returns 'kind' attribute as a symbol, but activereord doesn't deal well with it when saving. This patch stringifies value. --- src/app/models/hardware_profile.rb | 4 +- src/app/models/hardware_profile_property.rb | 6 ++-- src/spec/factories/hardware_profile_property.rb | 32 +++++++++++----------- 3 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/src/app/models/hardware_profile.rb b/src/app/models/hardware_profile.rb index de9ef23..2ce6d81 100644 --- a/src/app/models/hardware_profile.rb +++ b/src/app/models/hardware_profile.rb @@ -85,10 +85,10 @@ class HardwareProfile < ActiveRecord::Base def new_property(prop) return nil unless prop.present? the_property = HardwareProfileProperty.new(:name => prop.name, - :kind => prop.kind, + :kind => prop.kind.to_s, :unit => prop.unit, :value => prop.value) - case prop.kind + case prop.kind.to_s when HardwareProfileProperty::RANGE the_property.range_first = prop.range[:from] the_property.range_last = prop.range[:to] diff --git a/src/app/models/hardware_profile_property.rb b/src/app/models/hardware_profile_property.rb index 0717484..1291122 100644 --- a/src/app/models/hardware_profile_property.rb +++ b/src/app/models/hardware_profile_property.rb @@ -26,9 +26,9 @@ class HardwareProfileProperty < ActiveRecord::Base CPU = "cpu" ARCHITECTURE = "architecture"
- FIXED = :fixed - RANGE = :range - ENUM = :enum + FIXED = 'fixed' + RANGE = 'range' + ENUM = 'enum'
UNIT_MB = "MB" UNIT_GB = "GB" diff --git a/src/spec/factories/hardware_profile_property.rb b/src/spec/factories/hardware_profile_property.rb index 0a2447d..91c40a1 100644 --- a/src/spec/factories/hardware_profile_property.rb +++ b/src/spec/factories/hardware_profile_property.rb @@ -3,35 +3,35 @@ end
Factory.define :mock_hwp1_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :fixed + p.kind 'fixed' p.unit 'MB' p.value 1740.8 end
Factory.define :mock_hwp1_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :fixed + p.kind 'fixed' p.unit 'GB' p.value 160 end
Factory.define :mock_hwp1_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 1.0 end
Factory.define :mock_hwp1_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'i386' end
Factory.define :mock_hwp2_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :range + p.kind 'range' p.unit 'MB' p.value 10240 p.range_first 7680 @@ -40,7 +40,7 @@ end
Factory.define :mock_hwp2_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :enum + p.kind 'enum' p.unit 'GB' p.value 850 # p.property_enum_entries { |p| [p.association(:mock_hwp2_storage_enum1), @@ -49,49 +49,49 @@ end
Factory.define :mock_hwp2_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 2.0 end
Factory.define :mock_hwp2_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'x86_64' end
Factory.define :agg_hwp1_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :fixed + p.kind 'fixed' p.unit 'MB' p.value 1740.8 end
Factory.define :agg_hwp1_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :fixed + p.kind 'fixed' p.unit 'GB' p.value 160 end
Factory.define :agg_hwp1_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 1 end
Factory.define :agg_hwp1_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'i386' end
Factory.define :agg_hwp2_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :range + p.kind 'range' p.unit 'MB' p.value 10240 p.range_first 7680 @@ -100,7 +100,7 @@ end
Factory.define :agg_hwp2_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :enum + p.kind 'enum' p.unit 'GB' p.value 850 # p.property_enum_entries { |p| [p.association(:agg_hwp2_storage_enum1), @@ -109,14 +109,14 @@ end
Factory.define :agg_hwp2_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 2 end
Factory.define :agg_hwp2_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'x86_64' end
From: Jan Provaznik jprovazn@redhat.com
--- src/spec/models/hardware_profile_spec.rb | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/spec/models/hardware_profile_spec.rb b/src/spec/models/hardware_profile_spec.rb index 8aa6557..bf806e3 100644 --- a/src/spec/models/hardware_profile_spec.rb +++ b/src/spec/models/hardware_profile_spec.rb @@ -80,4 +80,9 @@ describe HardwareProfile do @hp.should be_valid end
+ it "should have 'kind' attribute of hardware profile property set to string (not symbol)" do + api_prop = mock('DeltaCloud::HWP::FloatProperty', :unit => 'MB', :name => 'memory', :kind => :fixed, :value => 12288.0) + @hp.memory =@hp.new_property(api_prop) + @hp.memory.kind.should equal(@hp.memory.kind.to_s) + end end
ACK
----- Original Message ----- From: jprovazn@redhat.com To: deltacloud-devel@lists.fedorahosted.org Sent: Tuesday, August 17, 2010 12:17:17 PM GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna Subject: [deltacloud-devel] [PATCH aggregator 2/2] Rspec test that HW profile property 'kind' attribute is saved as string
From: Jan Provaznik jprovazn@redhat.com
--- src/spec/models/hardware_profile_spec.rb | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/spec/models/hardware_profile_spec.rb b/src/spec/models/hardware_profile_spec.rb index 8aa6557..bf806e3 100644 --- a/src/spec/models/hardware_profile_spec.rb +++ b/src/spec/models/hardware_profile_spec.rb @@ -80,4 +80,9 @@ describe HardwareProfile do @hp.should be_valid end
+ it "should have 'kind' attribute of hardware profile property set to string (not symbol)" do + api_prop = mock('DeltaCloud::HWP::FloatProperty', :unit => 'MB', :name => 'memory', :kind => :fixed, :value => 12288.0) + @hp.memory =@hp.new_property(api_prop) + @hp.memory.kind.should equal(@hp.memory.kind.to_s) + end end
deltacloud-devel@lists.fedorahosted.org