2016-09-14 19:20:26 +00:00
require 'spec_helper_acceptance'
require 'json'
describe 'Generating module documentation using generate action' do
def read_file_on ( host , filename )
on ( host , " cat #{ filename } " ) . stdout
end
before :all do
modules = JSON . parse ( on ( master , puppet ( 'module' , 'list' , '--render-as' , 'json' ) ) . stdout )
test_module_info = modules [ 'modules_by_path' ] . values . flatten . find { | mod_info | mod_info =~ / Module test / }
test_module_path = test_module_info . match ( / \ (([^)]*) \ ) / ) [ 1 ]
on master , puppet ( 'strings' , 'generate' , " #{ test_module_path } /**/*.{rb,pp} " )
end
it 'should generate documentation for manifests' do
expect ( read_file_on ( master , '/root/doc/puppet_classes/test.html' ) ) . to include ( 'Class: test' )
end
2016-09-29 22:58:06 +00:00
it 'should generate documentation for puppet functions' do
puppet_version = on ( master , facter ( 'puppetversion' ) ) . stdout . chomp . to_i
if puppet_version > = 4
html_output = read_file_on ( master , '/root/doc/puppet_functions_puppet/test_3A_3Aadd.html' )
expect ( html_output ) . to include ( 'Adds two integers together.' )
expect ( html_output ) . to include ( '<pre class="example code"><code>test::add(1, 2) => 3</code></pre>' )
expect ( html_output ) . to include ( '<p>The first integer to add.</p>' )
expect ( html_output ) . to include ( '<p>The second integer to add.</p>' )
expect ( html_output ) . to include ( '<p>Returns the sum of x and y.</p>' )
end
end
2016-09-14 19:20:26 +00:00
it 'should generate documentation for 3x functions' do
2016-09-16 22:01:21 +00:00
expect ( read_file_on ( master , '/root/doc/puppet_functions_ruby3x/function3x.html' ) ) . to include ( 'This is the function documentation for <code>function3x</code>' )
2016-09-14 19:20:26 +00:00
end
it 'should generate documentation for 4x functions' do
expect ( read_file_on ( master , '/root/doc/puppet_functions_ruby4x/function4x.html' ) ) . to include ( 'This is a function which is used to test puppet strings' )
end
end