3
require File.expand_path(File.dirname(__FILE__) + '/../lib/puppettest')
8
require 'puppettest/railstesting'
10
# Don't do any tests w/out this class
11
if defined? ::ActiveRecord::Base
12
class TestRailsParameter < Test::Unit::TestCase
13
include PuppetTest::RailsTesting
16
{"myname" => "myval", "multiple" => %w{one two three}}
19
# Create a resource param from a rails parameter
20
def test_to_resourceparam
25
source = parser.known_resource_types.add Puppet::Resource::Type.new(:hostclass, "myclass")
27
host = Puppet::Rails::Host.new(:name => "myhost")
32
resource = host.resources.create(
34
:title => "/tmp/to_resource",
39
# Use array and non-array values, to make sure we get things back in
41
params.each do |name, value|
42
param = Puppet::Rails::ParamName.find_or_create_by_name(name)
48
valueobjects = values.collect do |v|
50
resource.param_values.create(
56
assert(param, "Did not create rails parameter")
58
# The id doesn't get assigned until we save
63
# And try to convert our parameter
64
params.each do |name, value|
65
param = Puppet::Rails::ParamName.find_by_name(name)
67
assert_nothing_raised do
68
pp = param.to_resourceparam(resource, source)
71
assert_instance_of(Puppet::Parser::Resource::Param, pp)
72
assert_equal(name.to_sym, pp.name, "parameter name was not equal")
73
assert_equal(value, pp.value, "value was not equal for #{value.inspect}")
78
$stderr.puts "Install Rails for Rails and Caching tests"