fizzgig 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  Gemfile.lock
2
2
 
3
3
  .ruby-version
4
+ fizzgig-0.1.0.gem
@@ -0,0 +1,11 @@
1
+ # 0.1.1
2
+
3
+ * fixed bug to allow multiple conditions on a matcher, eg:
4
+ ```ruby
5
+ it {should contain_file('foo').with_content(/asdf/).with_content(/jkl;/)}
6
+ ```
7
+
8
+
9
+ # 0.1.0
10
+
11
+ * Initial release
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2013 Philip Potter
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a
4
+ copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included
12
+ in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
@@ -0,0 +1,151 @@
1
+ Fizzgig
2
+ -------
3
+
4
+ Fizzgig is a library to help write fast unit tests.
5
+
6
+ [source,ruby]
7
+ -------------------------------------------
8
+ describe 'ganglia::cronjob' do
9
+ include Fizzgig::CatalogMatchers
10
+
11
+ it 'should create ganglia script and cron job' do
12
+ catalog = Fizzgig.instantiate <<END
13
+ ganglia::cronjob {'tiger':
14
+ content => 'tiger content',
15
+ }
16
+ END
17
+ catalog.should contain_file('/etc/ganglia/scripts/tiger')
18
+ .with_content('tiger content')
19
+ .with_mode('0755')
20
+
21
+ catalog.should contain_cron('ganglia-tiger')
22
+ .with_command('/etc/ganglia/scripts/tiger')
23
+ .with_minute('*')
24
+ .with_user('root')
25
+ end
26
+ end
27
+ -------------------------------------------
28
+
29
+ Basic Functionality
30
+ ~~~~~~~~~~~~~~~~~~~
31
+
32
+ Fizzgig is based around two functions: +instantiate+ and +include+,
33
+ which will instantiate a defined type and include a class
34
+ respectively:
35
+
36
+ [source,ruby]
37
+ catalog = Fizzgig.instantiate %q[ nginx::site {'foo.com': max_age => 300 } ]
38
+
39
+ [source,ruby]
40
+ catalog = Fizzgig.include 'nginx'
41
+
42
+ Each of these functions returns a Puppet::Resource::Catalog
43
+ object. You can use the matchers in Fizzgig::CatalogMatchers to make
44
+ assertions against the contents of this catalog:
45
+
46
+ [source,ruby]
47
+ catalog.should contain_file('/etc/nginx.conf').with_content(/ssl/)
48
+
49
+ Just like in rspec-puppet, you can assert the existence of defined
50
+ types within your own modules by replacing +::+ with +__+ in the name:
51
+
52
+ [source,ruby]
53
+ catalog.should contain_nginx__site('foo.com')
54
+
55
+ Stubbing facts
56
+ ~~~~~~~~~~~~~~
57
+
58
+ Facts can be stubbed by passing a hash of fact values to instantiate
59
+ or include:
60
+
61
+ [source,ruby]
62
+ Fizzgig.include('nginx',:facts => {'lsbdistcodename' => 'precise'})
63
+
64
+ Stubbing functions
65
+ ~~~~~~~~~~~~~~~~~~
66
+
67
+ Custom functions can also be stubbed. This is very handy for stubbing
68
+ out extdata or hieradata in tests:
69
+
70
+ [source,ruby]
71
+ -------------
72
+ Fizzgig.include('nginx',:stubs => {:extlookup => {'site_root' => 'www.foo.com'}})
73
+ .should contain_file('/etc/nginx/sites-enabled/www.foo.com')
74
+ -------------
75
+
76
+ Rationale
77
+ ~~~~~~~~~
78
+
79
+ Fizzgig is designed to be fast, and to test individual units of code,
80
+ as good unit tests do. However, existing puppet testing libraries such
81
+ as https://github.com/rodjek/rspec-puppet[rspec-puppet] will compute a
82
+ complete catalog, expanding out all classes and defined types until it
83
+ reaches the individual base puppet types. This means that it can spend
84
+ time computing resources which are wholly unrelated to the test you're
85
+ writing.
86
+
87
+ Fizzgig, by contrast, treats defined types as black box abstractions:
88
+ it only adds the defined types you declare within the class or define
89
+ under test to the catalog. Types which are pulled in transitively by
90
+ other types will not be added to the catalog.
91
+
92
+ Defined types
93
+ ~~~~~~~~~~~~~
94
+
95
+ To achieve its isolation, fizzgig does not transitively evaluate
96
+ defined types. Suppose I have these puppet defines:
97
+
98
+ [source,puppet]
99
+ ---------------
100
+ define nginx::ssl_site () {
101
+ nginx::site {$title:
102
+ }
103
+ nginx::ssl_cert {$title:
104
+ }
105
+ }
106
+
107
+ define nginx::site () {
108
+ file {"/etc/nginx/sites-enabled/$title":
109
+ # ...
110
+ }
111
+ }
112
+ ---------------
113
+
114
+ And I write this test:
115
+
116
+ [source,ruby]
117
+ -------------
118
+ catalog Fizzgig.instantiate %q[ nginx::ssl_site{'foo': } ]
119
+ catalog.should contain_nginx__site('foo') # ok, will pass
120
+ catalog.should contain_file('/etc/nginx/sites-enabled/foo') # ERROR, will fail
121
+ -------------
122
+
123
+ Because the file resource is not directly referenced by
124
+ +nginx::ssl_site+ but only transitively by +nginx::site+, Fizzgig will
125
+ not add it to the catalog. This means that Fizzgig will only test the
126
+ direct effects of the type under test, not of its collaborators.
127
+
128
+
129
+ WARNING: Fizzgig makes use of non-public methods in the puppet
130
+ codebase to enable it to perform this isolation. This means that even
131
+ a patch release of puppet may, in principle, cause fizzgig to
132
+ break. Fizzgig is not currently supported in any way by
133
+ puppetlabs. Use at your own risk.
134
+
135
+ Installation
136
+ ~~~~~~~~~~~~
137
+
138
+ Add the following to your Gemfile:
139
+
140
+ [source,ruby]
141
+ gem "fizzgig"
142
+
143
+ Or just run:
144
+
145
+ [source]
146
+ gem install fizzgig
147
+
148
+ Licence
149
+ ~~~~~~~
150
+
151
+ MIT. See LICENSE for details.
data/TODO.org CHANGED
@@ -31,7 +31,19 @@ from rspec-puppet?
31
31
  node_obj = Puppet::Node.new(nodename) # default to Puppet[:certname]?
32
32
  node_obj.merge(facts_val) # but what is this?
33
33
 
34
- ** TODO Document it!
34
+ ** DONE Release it!
35
+ ** DONE Fix bug where multiple with_foo() conditions would be overridden by the last
36
+ =should contain_file('foo').with_content(/bar/).with_content(/baz/)=
37
+ would not check =/bar/=, only =/baz/=, for example
38
+ ** DONE Document it!
39
+ - [X] gem install or gemfile line
40
+ ** DONE Issue with global Puppet settings config & running rspec-puppet simultaneously with puppet...
41
+ See the fizzgig branch of puppet for an example
42
+
43
+ Can we isolate the compiler from the settings?
44
+
45
+ Answer seems to be yes -- use puppetlabs_spec_helper or directly
46
+ Puppet::Test::TestHelper to tear down Puppet.settings after each test.
35
47
  ** TODO Ensure that modulepath can take multiple directories
36
48
  - in govuk/puppet, we had trouble having multiple directories on
37
49
  the module path, so we ended up doing this:
@@ -56,8 +68,7 @@ node_obj.merge(facts_val) # but what is this?
56
68
 
57
69
  That's not so cool :(
58
70
 
59
- ** TODO Rename
60
- ** TODO Release it!
71
+ ** DONE Rename
61
72
  ** TODO implementation-independent dependency assertions
62
73
  ** TODO Test standalone puppet modules
63
74
  ** TODO better test output for files with large content
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'fizzgig'
3
- s.version = '0.1.0'
3
+ s.version = '0.1.1'
4
4
  s.homepage = 'https://github.com/philandstuff/fizzgig'
5
5
  s.summary = 'Tools for writing fast unit tests for Puppet'
6
6
  s.description = 'Tools for writing fast unit tests for Puppet'
@@ -48,10 +48,10 @@ module Fizzgig
48
48
  end
49
49
 
50
50
  def self.setup_puppet
51
- Puppet[:manifestdir] = ''
51
+ Puppet[:code] = ' ' # hack to suppress puppet from looking at Puppet[:manifest]
52
52
  Puppet[:modulepath] = RSpec.configuration.modulepath
53
53
  # stop template() fn from complaining about missing vardir config
54
- Puppet[:templatedir] = ""
54
+ Puppet[:vardir] ||= ""
55
55
  end
56
56
  end
57
57
 
@@ -15,11 +15,13 @@ module Fizzgig
15
15
  @catalog = catalog
16
16
  resource = catalog.resource(@referenced_type,@expected_title)
17
17
  if resource then
18
- (@expected_params || {}).all? do |name,expected_val|
19
- if expected_val.kind_of?(Regexp)
20
- resource[name] =~ expected_val
21
- else
22
- resource[name] == expected_val
18
+ (@expected_params || {}).all? do |name,expected_vals|
19
+ expected_vals.all? do |expected_val|
20
+ if expected_val.kind_of?(Regexp)
21
+ resource[name] =~ expected_val
22
+ else
23
+ resource[name] == expected_val
24
+ end
23
25
  end
24
26
  end
25
27
  else
@@ -28,20 +30,19 @@ module Fizzgig
28
30
  end
29
31
 
30
32
  def failure_message_for_should
31
- param_string = ""
32
- if @expected_params
33
- param_string = " with parameters #{@expected_params.inspect}"
34
- end
35
- possible_resource = @catalog.resource(@referenced_type,@expected_title)
36
- actual = possible_resource ? possible_resource.inspect : "the catalog"
37
- "expected #{actual} to contain #{@referenced_type}[#{@expected_title}]#{param_string}"
33
+ "expected #{actual_string} to contain #{expected_string}"
34
+ end
35
+
36
+ def failure_message_for_should_not
37
+ "expected #{actual_string} not to contain #{expected_string}"
38
38
  end
39
39
 
40
40
  def method_missing(method, *args, &block)
41
41
  if method.to_s =~ /^with_/
42
42
  param = method.to_s.gsub(/^with_/,'')
43
43
  @expected_params ||= {}
44
- @expected_params[param] = args[0]
44
+ @expected_params[param] ||= []
45
+ @expected_params[param] << args[0]
45
46
  self
46
47
  else
47
48
  super
@@ -50,6 +51,19 @@ module Fizzgig
50
51
 
51
52
  private
52
53
 
54
+ def actual_string
55
+ possible_resource = @catalog.resource(@referenced_type,@expected_title)
56
+ possible_resource ? possible_resource.inspect : "the catalog"
57
+ end
58
+
59
+ def expected_string
60
+ param_string = ""
61
+ if @expected_params
62
+ param_string = " with parameters #{@expected_params.inspect}"
63
+ end
64
+ "#{@referenced_type}[#{@expected_title}]#{param_string}"
65
+ end
66
+
53
67
  def referenced_type(type)
54
68
  type.split('__').map { |r| r.capitalize }.join('::')
55
69
  end
@@ -2,110 +2,113 @@ require 'spec_helper'
2
2
  require 'fizzgig'
3
3
 
4
4
  describe Fizzgig do
5
- context 'when instantiating defined types' do
6
- it 'should test existence of file with parameters' do
7
- instance_code = %q[nginx::site {'foo': content => 'dontcare'}]
8
- instance = Fizzgig.instantiate(instance_code)
9
- instance.should contain_file('/etc/nginx/sites-enabled/foo').
10
- with_ensure('present').
11
- with_mode('0440')
12
- end
5
+ describe '#include' do
6
+ subject { Fizzgig.include(classname, :stubs => stubs, :facts => facts) }
7
+ let(:stubs) { {} }
8
+ let(:facts) { {} }
13
9
 
14
- it 'should test resources other than files' do
15
- instance_code = %q[nginx::site {'foo': content => 'dontcare'}]
16
- instance = Fizzgig.instantiate(instance_code)
17
- instance.should contain_user('www-data')
18
- end
10
+ describe 'webapp' do
11
+ let(:classname) {'webapp'}
19
12
 
20
- it 'should test presence of namespaced type' do
21
- instance_code = %q[nginx::simple_server {'foo':}]
22
- instance = Fizzgig.instantiate(instance_code)
23
- instance.should contain_nginx__site('foo')
13
+ it { should contain_nginx__site('webapp') }
24
14
  end
25
15
 
26
- it 'should test content from a template' do
27
- instance_code = %q[nginx::simple_server {'foo':}]
28
- instance = Fizzgig.instantiate(instance_code)
29
- instance.should contain_nginx__site('foo').
30
- with_content(/server_name foo;/)
31
- end
32
- end
33
-
34
- it 'should test classes' do
35
- catalog = Fizzgig.include 'webapp'
36
- catalog.should contain_nginx__site('webapp')
37
- end
16
+ describe 'functions::class_test' do
17
+ let(:classname) {'functions::class_test'}
18
+ context 'with extlookup stubbed out' do
19
+ let(:stubs) { {:extlookup => {'ssh-key-barry' => 'the key of S'}} }
20
+ it { should contain_ssh_authorized_key('barry').with_key('the key of S') }
21
+ end
38
22
 
39
- context 'when stubbing function calls' do
40
- it 'should return the value given' do
41
- stubs = {:extlookup => {'ssh-key-barry' => 'the key of S'}}
42
- catalog = Fizzgig.include('functions::class_test', :stubs => stubs)
43
- catalog.should contain_ssh_authorized_key('barry').with_key('the key of S')
23
+ context 'with extlookup stubbed with wrong key' do
24
+ let(:stubs) { {:extlookup => {'bananas' => 'potassium'}} }
25
+ it 'should throw an exception' do
26
+ expect { subject }.to raise_error Puppet::Error
27
+ end
28
+ end
44
29
  end
45
30
 
46
- it 'should return the value given when instantiating a defined type' do
47
- stubs = {:extlookup => {'ssh-key-barry' => 'the key of S'}}
48
- catalog = Fizzgig.instantiate(%[functions::define_test{'foo': }], :stubs => stubs)
49
- catalog.should contain_ssh_authorized_key('barry').with_key('the key of S')
31
+ describe 'functions::recursive_extlookup_test' do
32
+ let(:classname) {'functions::recursive_extlookup_test'}
33
+ let(:stubs) {
34
+ {:extlookup =>
35
+ { 'ssh-key-barry' => 'rsa-key-barry',
36
+ 'rsa-key-barry' => 'the key of S'}}
37
+ }
38
+ it { should contain_ssh_authorized_key('barry').with_key('the key of S') }
50
39
  end
51
40
 
52
- context 'when stubbing data different to that provided' do
53
- it 'should throw an exception' do
54
- stubs = {:extlookup => {'bananas' => 'potassium'}}
55
- expect { catalog = Fizzgig.include('functions::class_test',:stubs=>stubs) }.
56
- to raise_error Puppet::Error
57
- end
41
+ describe 'facts::class_test' do
42
+ let(:classname) {'facts::class_test'}
43
+ let(:facts) {
44
+ { 'unqualified_fact' => 'F',
45
+ 'qualified_fact' => 'B+',
46
+ 'template_visible_fact' => 'wibble' }}
47
+ it { should contain_notify('unqualified-fact-test').with_message('F') }
48
+ it { should contain_notify('qualified-fact-test').with_message('B+') }
49
+ it { should contain_file('template-test').with_content(/instance_fact:wibble/) }
50
+ it { should contain_file('template-test').with_content(/accessor_fact:wibble/) }
51
+ it { should contain_file('template-test').with_content(/scope_lookup_fact:wibble/) }
58
52
  end
59
53
  end
60
54
 
61
- context 'when providing recursive stubs' do
62
- it 'should return the value given' do
63
- stubs = {:extlookup =>
64
- { 'ssh-key-barry' => 'rsa-key-barry',
65
- 'rsa-key-barry' => 'the key of S'}}
66
- Fizzgig.include('functions::recursive_extlookup_test', :stubs => stubs).
67
- should contain_ssh_authorized_key('barry').with_key('the key of S')
68
- end
69
- end
55
+ describe '#instantiate' do
56
+ subject { Fizzgig.instantiate(code, :stubs => stubs, :facts => facts) }
57
+ let(:stubs) { {} }
58
+ let(:facts) { {} }
70
59
 
71
- context 'when stubbing facts' do
72
- context 'while instantiating defined types' do
73
- it 'should lookup unqualified fact from stub' do
74
- catalog = Fizzgig.instantiate(%q[facts::define_test{'test':}], :facts => {'unqualified_fact' => 'hello world'})
75
- catalog.should contain_notify('unqualified-fact-test').with_message('hello world')
60
+ describe 'params' do
61
+ context 'when specifying one parameter' do
62
+ let(:code) { %q[params_test {'foo': param => 'bar'}] }
63
+ it { should contain_file('foo-param').with_source('bar') }
64
+ it { should contain_notify('foo-default').with_message('default_val') }
76
65
  end
77
-
78
- it 'should lookup qualified fact from stub' do
79
- catalog = Fizzgig.instantiate(%q[facts::define_test{'test':}], :facts => {'qualified_fact' => 'hello world'})
80
- catalog.should contain_notify('qualified-fact-test').with_message('hello world')
66
+ context 'when specifying both paramaters' do
67
+ let(:code) { %q[params_test {'foo': param => 'bar', param_with_default => 'baz'}] }
68
+ it { should contain_file('foo-param').with_source('bar') }
69
+ it { should contain_notify('foo-default').with_message('baz') }
81
70
  end
82
71
  end
83
72
 
84
- context 'while including classes' do
85
- it 'should lookup unqualified fact from stub' do
86
- catalog = Fizzgig.include('facts::class_test', :facts => {'unqualified_fact' => 'hello world'})
87
- catalog.should contain_notify('unqualified-fact-test').with_message('hello world')
88
- end
89
-
90
- it 'should lookup qualified fact from stub' do
91
- catalog = Fizzgig.include('facts::class_test', :facts => {'qualified_fact' => 'hello world'})
92
- catalog.should contain_notify('qualified-fact-test').with_message('hello world')
73
+ describe 'nginx::site' do
74
+ context 'basic functionality' do
75
+ let(:code) { %q[nginx::site {'foo': content => 'dontcare'}] }
76
+ it { should contain_file('/etc/nginx/sites-enabled/foo').
77
+ with_ensure('present').
78
+ with_mode('0440')
79
+ }
80
+ it { should_not contain_file('/etc/nginx/sites-enabled/foo').
81
+ with_ensure(/text not present/). # test that this doesn't get ignored
82
+ with_ensure(/present/)
83
+ }
84
+ it { should contain_user('www-data') }
93
85
  end
86
+ end
94
87
 
95
- it 'should lookup fact by instance variable from within template' do
96
- catalog = Fizzgig.include('facts::template_test', :facts => {'template_visible_fact' => 'hello world'})
97
- catalog.should contain_file('template-test').with_content(/instance_fact:hello world/)
88
+ describe 'nginx::simple_server' do
89
+ context 'basic functionality' do
90
+ let(:code) { %q[nginx::simple_server {'foo':}] }
91
+ it { should contain_nginx__site('foo').
92
+ with_content(/server_name foo;/)
93
+ }
98
94
  end
95
+ end
99
96
 
100
- it 'should lookup fact by accessor method from within template' do
101
- catalog = Fizzgig.include('facts::template_test', :facts => {'template_visible_fact' => 'hello world'})
102
- catalog.should contain_file('template-test').with_content(/accessor_fact:hello world/)
103
- end
97
+ context 'functions::define_test with function stubs' do
98
+ let(:stubs) { {:extlookup => {'ssh-key-barry' => 'the key of S'}} }
99
+ let(:code) { %[functions::define_test{'foo': }] }
100
+ it { should contain_ssh_authorized_key('barry').with_key('the key of S') }
101
+ end
104
102
 
105
- it 'should lookup fact by scope.lookupvar from within template' do
106
- catalog = Fizzgig.include('facts::template_test', :facts => {'template_visible_fact' => 'hello world'})
107
- catalog.should contain_file('template-test').with_content(/scope_lookup_fact:hello world/)
108
- end
103
+ describe 'facts::define_test' do
104
+ let(:classname) {'facts::define_test'}
105
+ let(:code) {%q[facts::define_test{'test':}]}
106
+ let(:facts) {
107
+ { 'unqualified_fact' => 'no qualifications',
108
+ 'qualified_fact' => 'cse ungraded in metalwork'}
109
+ }
110
+ it { should contain_notify('unqualified-fact-test').with_message('no qualifications') }
111
+ it { should contain_notify('qualified-fact-test').with_message('cse ungraded in metalwork') }
109
112
  end
110
113
  end
111
114
  end
@@ -5,4 +5,7 @@ class facts::class_test {
5
5
  'qualified-fact-test':
6
6
  message => $::qualified_fact;
7
7
  }
8
+ file {'template-test':
9
+ content => template('facts/template-test.erb'),
10
+ }
8
11
  }
@@ -0,0 +1,8 @@
1
+ define params_test ($param, $param_with_default = 'default_val') {
2
+ file {"${title}-param":
3
+ source => $param,
4
+ }
5
+ notify {"${title}-default":
6
+ message => $param_with_default,
7
+ }
8
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fizzgig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-16 00:00:00.000000000 Z
12
+ date: 2013-03-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: puppet
@@ -66,7 +66,10 @@ extensions: []
66
66
  extra_rdoc_files: []
67
67
  files:
68
68
  - .gitignore
69
+ - CHANGELOG.md
69
70
  - Gemfile
71
+ - LICENSE
72
+ - README.asciidoc
70
73
  - TODO.org
71
74
  - fizzgig.gemspec
72
75
  - lib/fizzgig.rb
@@ -75,7 +78,6 @@ files:
75
78
  - spec/fizzgig_spec.rb
76
79
  - spec/modules/facts/manifests/class_test.pp
77
80
  - spec/modules/facts/manifests/define_test.pp
78
- - spec/modules/facts/manifests/template_test.pp
79
81
  - spec/modules/facts/templates/template-test.erb
80
82
  - spec/modules/functions/manifests/class_test.pp
81
83
  - spec/modules/functions/manifests/define_test.pp
@@ -83,6 +85,7 @@ files:
83
85
  - spec/modules/nginx/manifests/simple_server.pp
84
86
  - spec/modules/nginx/manifests/site.pp
85
87
  - spec/modules/nginx/templates/vhost.erb
88
+ - spec/modules/params_test/manifests/init.pp
86
89
  - spec/modules/webapp/manifests/init.pp
87
90
  - spec/spec_helper.rb
88
91
  homepage: https://github.com/philandstuff/fizzgig
@@ -113,7 +116,6 @@ test_files:
113
116
  - spec/fizzgig_spec.rb
114
117
  - spec/modules/facts/manifests/class_test.pp
115
118
  - spec/modules/facts/manifests/define_test.pp
116
- - spec/modules/facts/manifests/template_test.pp
117
119
  - spec/modules/facts/templates/template-test.erb
118
120
  - spec/modules/functions/manifests/class_test.pp
119
121
  - spec/modules/functions/manifests/define_test.pp
@@ -121,5 +123,6 @@ test_files:
121
123
  - spec/modules/nginx/manifests/simple_server.pp
122
124
  - spec/modules/nginx/manifests/site.pp
123
125
  - spec/modules/nginx/templates/vhost.erb
126
+ - spec/modules/params_test/manifests/init.pp
124
127
  - spec/modules/webapp/manifests/init.pp
125
128
  - spec/spec_helper.rb
@@ -1,5 +0,0 @@
1
- class facts::template_test {
2
- file {'template-test':
3
- content => template('facts/template-test.erb'),
4
- }
5
- }