Revision 32e769f6
Added by Lukas Zapletal over 10 years ago
test/lib/foreman/renderer_test.rb | ||
---|---|---|
class RendererTest < ActiveSupport::TestCase
|
||
include Foreman::Renderer
|
||
|
||
test "should evaluate template variables under safemode" do
|
||
Setting.expects(:[]).with(:safemode_render).returns(true)
|
||
tmpl = render_safe('<%= @foo %>', [], { :foo => 'bar' })
|
||
assert_equal 'bar', tmpl
|
||
def setup_normal_renderer
|
||
Setting.stubs(:[]).with(:safemode_render).returns(false)
|
||
end
|
||
|
||
test "should evaluate template variables without safemode" do
|
||
Setting.expects(:[]).with(:safemode_render).returns(false)
|
||
tmpl = render_safe('<%= @foo %>', [], { :foo => 'bar' })
|
||
assert_equal 'bar', tmpl
|
||
def setup_safemode_renderer
|
||
Setting.stubs(:[]).with(:safemode_render).returns(true)
|
||
end
|
||
|
||
test "should evaluate renderer methods under safemode" do
|
||
Setting.expects(:[]).with(:safemode_render).returns(true)
|
||
self.expects(:foreman_url).returns('bar')
|
||
tmpl = render_safe('<%= foreman_url %>', [:foreman_url])
|
||
assert_equal 'bar', tmpl
|
||
end
|
||
[:normal_renderer, :safemode_renderer].each do |renderer_name|
|
||
test "#{renderer_name} is properly configured" do
|
||
send "setup_#{renderer_name}"
|
||
if renderer_name == :normal_renderer
|
||
assert Setting[:safemode_render] == false
|
||
else
|
||
assert Setting[:safemode_render] == true
|
||
end
|
||
end
|
||
|
||
test "#{renderer_name} should evaluate template variables" do
|
||
send "setup_#{renderer_name}"
|
||
tmpl = render_safe('<%= @foo %>', [], { :foo => 'bar' })
|
||
assert_equal 'bar', tmpl
|
||
end
|
||
|
||
test "#{renderer_name} should evaluate renderer methods" do
|
||
send "setup_#{renderer_name}"
|
||
self.expects(:foreman_url).returns('bar')
|
||
tmpl = render_safe('<%= foreman_url %>', [:foreman_url])
|
||
assert_equal 'bar', tmpl
|
||
end
|
||
|
||
test "should evaluate renderer methods without safemode" do
|
||
Setting.expects(:[]).with(:safemode_render).returns(false)
|
||
self.expects(:foreman_url).returns('bar')
|
||
tmpl = render_safe('<%= foreman_url %>')
|
||
assert_equal 'bar', tmpl
|
||
test "#{renderer_name} should render a snippet" do
|
||
send "setup_#{renderer_name}"
|
||
snippet = mock("snippet")
|
||
snippet.expects(:name).returns("test")
|
||
snippet.expects(:template).returns("content")
|
||
ConfigTemplate.expects(:where).with(:name => "test", :snippet => true).returns([snippet])
|
||
tmpl = snippet('test')
|
||
assert_equal 'content', tmpl
|
||
end
|
||
|
||
test "#{renderer_name} should not raise error when snippet is not found" do
|
||
send "setup_#{renderer_name}"
|
||
ConfigTemplate.expects(:where).with(:name => "test", :snippet => true).returns([])
|
||
assert_nil snippet_if_exists('test')
|
||
end
|
||
end
|
||
|
||
end
|
Also available in: Unified diff
fixes #3955 - added param_true? and snippet_if_exist template methods
(cherry picked from commit 3701a8d1c6d698ea8c57321eed2f87c74bd57728)