diff options
Diffstat (limited to 'test/rails/railsparameter.rb')
-rwxr-xr-x | test/rails/railsparameter.rb | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/test/rails/railsparameter.rb b/test/rails/railsparameter.rb index 337f4cb3c..82d978bb4 100755 --- a/test/rails/railsparameter.rb +++ b/test/rails/railsparameter.rb @@ -12,6 +12,10 @@ if defined? ActiveRecord::Base class TestRailsParameter < Test::Unit::TestCase include PuppetTest::RailsTesting + def params + {"myname" => "myval", "multiple" => %w{one two three}} + end + # Create a resource param from a rails parameter def test_to_resourceparam railsinit @@ -19,34 +23,41 @@ class TestRailsParameter < Test::Unit::TestCase # Now create a source interp = mkinterp source = interp.newclass "myclass" + + host = Puppet::Rails::Host.new(:name => "myhost") - #FIXME Need to re-add file/line support + resource = host.resources.create( + :title => "/tmp/to_resource", + :restype => "file", + :exported => true) # Use array and non-array values, to make sure we get things back in # the same form. - {"myname" => "myval", "multiple" => %w{one two three}}.each do |name, value| - param = Puppet::Rails::ParamName.new(:name => name) + params.each do |name, value| + param = Puppet::Rails::ParamName.find_or_create_by_name(name) if value.is_a? Array values = value else values = [value] end valueobjects = values.collect do |v| - obj = Puppet::Rails::ParamValue.new(:value => v) - assert_nothing_raised do - param.param_values << obj - end + resource.param_values.create(:value => v, + :param_name => param) end assert(param, "Did not create rails parameter") # The id doesn't get assigned until we save - param.save + end + + resource.save - # And try to convert our parameter + # And try to convert our parameter + params.each do |name, value| + param = Puppet::Rails::ParamName.find_by_name(name) pp = nil assert_nothing_raised do - pp = param.to_resourceparam(source) + pp = param.to_resourceparam(resource, source) end assert_instance_of(Puppet::Parser::Resource::Param, pp) |