8484 end
8585
8686 describe '.fixtures' do
87+ subject ( :helper ) { described_class }
88+
8789 before :each do
8890 # Unstub the fixtures "helpers"
8991 PuppetlabsSpec ::Fixtures . instance_methods . each do |m |
98100
99101 context 'when file is missing' do
100102 it 'returns basic directories per category' do
101- expect ( subject . fixtures ( 'forge_modules' ) ) . to eq ( { } )
102- expect ( subject . fixtures ( 'repositories' ) ) . to eq ( { } )
103+ expect ( helper . fixtures ( 'forge_modules' ) ) . to eq ( { } )
104+ expect ( helper . fixtures ( 'repositories' ) ) . to eq ( { } )
103105 end
104106 end
105107
106108 context 'when file is empty' do
107109 it 'returns basic directories per category' do
108110 allow ( File ) . to receive ( :exist? ) . with ( '.fixtures.yml' ) . and_return true
109111 allow ( YAML ) . to receive ( :load_file ) . with ( '.fixtures.yml' ) . and_return false
110- expect ( subject . fixtures ( 'forge_modules' ) ) . to eq ( { } )
111- expect ( subject . fixtures ( 'repositories' ) ) . to eq ( { } )
112+ expect ( helper . fixtures ( 'forge_modules' ) ) . to eq ( { } )
113+ expect ( helper . fixtures ( 'repositories' ) ) . to eq ( { } )
112114 end
113115 end
114116
115117 context 'when file is malformed' do
116118 it 'raises an error' do
117119 expect ( File ) . to receive ( :exist? ) . with ( '.fixtures.yml' ) . and_return true
118120 expect ( YAML ) . to receive ( :load_file ) . with ( '.fixtures.yml' ) . and_raise ( Psych ::SyntaxError . new ( '/file' , '123' , '0' , '0' , 'spec message' , 'spec context' ) )
119- expect { subject . fixtures ( 'forge_modules' ) } . to raise_error ( RuntimeError , %r{malformed YAML} )
121+ expect { helper . fixtures ( 'forge_modules' ) } . to raise_error ( RuntimeError , %r{malformed YAML} )
120122 end
121123 end
122124
123125 context 'when file contains no fixtures' do
124126 it 'raises an error' do
125127 allow ( File ) . to receive ( :exist? ) . with ( '.fixtures.yml' ) . and_return true
126128 allow ( YAML ) . to receive ( :load_file ) . with ( '.fixtures.yml' ) . and_return ( 'some' => 'key' )
127- expect { subject . fixtures ( 'forge_modules' ) } . to raise_error ( RuntimeError , %r{No 'fixtures'} )
129+ expect { helper . fixtures ( 'forge_modules' ) } . to raise_error ( RuntimeError , %r{No 'fixtures'} )
128130 end
129131 end
130132
131133 context 'when file specifies fixtures' do
132134 it 'returns the hash' do
133135 allow ( File ) . to receive ( :exist? ) . with ( '.fixtures.yml' ) . and_return true
134136 allow ( YAML ) . to receive ( :load_file ) . with ( '.fixtures.yml' ) . and_return ( 'fixtures' => { 'forge_modules' => { 'stdlib' => 'puppetlabs-stdlib' } } )
135- expect ( subject . fixtures ( 'forge_modules' ) ) . to eq ( 'puppetlabs-stdlib' => {
136- 'target' => 'spec/fixtures/modules/stdlib' ,
137- 'ref' => nil ,
138- 'branch' => nil ,
139- 'scm' => nil ,
140- 'flags' => nil ,
141- 'subdir' => nil ,
142- } )
137+ expect ( helper . fixtures ( 'forge_modules' ) ) . to eq (
138+ 'puppetlabs-stdlib' => {
139+ 'target' => 'spec/fixtures/modules/stdlib' ,
140+ 'ref' => nil ,
141+ 'branch' => nil ,
142+ 'scm' => nil ,
143+ 'flags' => nil ,
144+ 'subdir' => nil ,
145+ } ,
146+ )
143147 end
144148 end
145149
148152 allow ( File ) . to receive ( :exist? ) . with ( '.fixtures.yml' ) . and_return true
149153 allow ( YAML ) . to receive ( :load_file ) . with ( '.fixtures.yml' ) . and_return ( 'defaults' => { 'forge_modules' => { 'flags' => '--module_repository=https://myforge.example.com/' } } ,
150154 'fixtures' => { 'forge_modules' => { 'stdlib' => 'puppetlabs-stdlib' } } )
151- expect ( subject . fixtures ( 'forge_modules' ) ) . to eq ( 'puppetlabs-stdlib' => {
152- 'target' => 'spec/fixtures/modules/stdlib' ,
153- 'ref' => nil ,
154- 'branch' => nil ,
155- 'scm' => nil ,
156- 'flags' => '--module_repository=https://myforge.example.com/' ,
157- 'subdir' => nil ,
158- } )
155+ expect ( helper . fixtures ( 'forge_modules' ) ) . to eq (
156+ 'puppetlabs-stdlib' => {
157+ 'target' => 'spec/fixtures/modules/stdlib' ,
158+ 'ref' => nil ,
159+ 'branch' => nil ,
160+ 'scm' => nil ,
161+ 'flags' => '--module_repository=https://myforge.example.com/' ,
162+ 'subdir' => nil ,
163+ } ,
164+ )
159165 end
160166 end
161167
170176 end
171177
172178 it 'returns the hash' do
173- expect ( subject . repositories ) . to eq ( 'https://github.com/puppetlabs/puppetlabs-stdlib.git' => {
174- 'target' => 'spec/fixtures/modules/stdlib' ,
175- 'ref' => nil ,
176- 'branch' => nil ,
177- 'scm' => nil ,
178- 'flags' => nil ,
179- 'subdir' => nil ,
180- } )
179+ expect ( helper . repositories ) . to eq (
180+ 'https://github.com/puppetlabs/puppetlabs-stdlib.git' => {
181+ 'target' => 'spec/fixtures/modules/stdlib' ,
182+ 'ref' => nil ,
183+ 'branch' => nil ,
184+ 'scm' => nil ,
185+ 'flags' => nil ,
186+ 'subdir' => nil ,
187+ } ,
188+ )
181189 end
182190 end
183191
198206 end
199207
200208 it 'raises an ArgumentError' do
201- expect { subject . fixtures ( 'repositories' ) } . to raise_error ( ArgumentError )
209+ expect { helper . fixtures ( 'repositories' ) } . to raise_error ( ArgumentError )
202210 end
203211 end
204212
@@ -219,7 +227,7 @@ def stub_fixtures(data)
219227 } ,
220228 } ,
221229 )
222- expect ( subject . fixtures ( 'forge_modules' ) ) . to include ( 'puppetlabs-stdlib' )
230+ expect ( helper . fixtures ( 'forge_modules' ) ) . to include ( 'puppetlabs-stdlib' )
223231 end
224232
225233 it 'excludes the fixture if the puppet version does not match' , if : Gem ::Version . new ( Puppet ::PUPPETVERSION ) > Gem ::Version . new ( '4' ) do
@@ -233,7 +241,7 @@ def stub_fixtures(data)
233241 } ,
234242 } ,
235243 )
236- expect ( subject . fixtures ( 'forge_modules' ) ) . to eq ( { } )
244+ expect ( helper . fixtures ( 'forge_modules' ) ) . to eq ( { } )
237245 end
238246
239247 it 'includes the fixture on obsolete puppet versions' , if : Gem ::Version . new ( Puppet ::PUPPETVERSION ) <= Gem ::Version . new ( '4' ) do
@@ -247,7 +255,7 @@ def stub_fixtures(data)
247255 } ,
248256 } ,
249257 )
250- expect ( subject . fixtures ( 'forge_modules' ) ) . to include ( 'puppetlabs-stdlib' )
258+ expect ( helper . fixtures ( 'forge_modules' ) ) . to include ( 'puppetlabs-stdlib' )
251259 end
252260 end
253261 end
0 commit comments