rspec-puppet-utils 2.2.2 → 3.0.0
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.
- checksums.yaml +4 -4
- data/DESIGN.md +23 -0
- data/Gemfile +4 -0
- data/README.md +79 -9
- data/lib/rspec-puppet-utils.rb +5 -5
- data/lib/{hieradata → rspec_puppet_utils/hieradata}/validator.rb +0 -0
- data/lib/{hieradata → rspec_puppet_utils/hieradata}/yaml_validator.rb +1 -1
- data/lib/{mock_function.rb → rspec_puppet_utils/mock_function.rb} +0 -0
- data/lib/{mock_resource.rb → rspec_puppet_utils/mock_resource.rb} +0 -0
- data/lib/rspec_puppet_utils/rake/project_tasks.rb +117 -0
- data/lib/{template_harness.rb → rspec_puppet_utils/template_harness.rb} +0 -0
- data/rspec-puppet-utils.gemspec +1 -1
- data/spec/classes/hieradata/validator_spec.rb +1 -1
- data/spec/classes/hieradata/yaml_validator_spec.rb +1 -1
- data/spec/classes/mock_function_spec.rb +1 -1
- data/spec/classes/mock_resource_spec.rb +1 -1
- data/spec/classes/rake/project_tasks_spec.rb +116 -0
- data/spec/classes/template_harness_spec.rb +1 -1
- metadata +10 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b31522fac4fbed8dc6baec05a6bee345a9f47930
|
4
|
+
data.tar.gz: b81fd7100d872efcf62856306b49cd2c9848fbf4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06b599705b6ee01e0aadac7494286c8e6191539ef66c9db7f3b97b1ff46d3180598b5f7119af8e7a401c44c1de7ecd59e3bfa3f0a346a663b7f5ea641461a927
|
7
|
+
data.tar.gz: e6279da7519fda3c31400d1099e0e590ee67a401a7dffc59148888eb629e0e66091e732791ccfa13b6b4a2028f54ac3c5c63b0267beb86ed91343086ba432368
|
data/DESIGN.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# Design Thoughts
|
2
|
+
|
3
|
+
This is to explain our design thoughts for anyone that's interested, although it's mainly to remind ourselves in the future ;)
|
4
|
+
|
5
|
+
## Rake Tasks
|
6
|
+
|
7
|
+
### Project Tasks
|
8
|
+
|
9
|
+
The spec rake tasks are structured on the basis that each module in a project (ignoring external modules for now) has its own set of rspec tests.
|
10
|
+
|
11
|
+
We could fix the issues with the main `spec` task by changing it to scan all modules' spec directories for spec files and run them:
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
RSpec::Core::RakeTask.new :spec do |t|
|
15
|
+
t.pattern = "#{module_path}/**/#{RSpec::Core::RakeTask::DEFAULT_PATTERN}"
|
16
|
+
end
|
17
|
+
```
|
18
|
+
|
19
|
+
However that means that we need a toplevel project `spec_helper` file, and there could be other issues as well (I'm not an rspec expert).
|
20
|
+
|
21
|
+
Another option would be to move all module specs into one project `spec` directory,
|
22
|
+
however (putting aside potential `rspec-puppet` file structure issues) having all specs for all modules in one directory could make tests hard to isolate,
|
23
|
+
and it will make it hard to separate a module into it's own repo in the future.
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -4,17 +4,23 @@ This is a more refined version of a previous project about [rspec-puppet unit te
|
|
4
4
|
|
5
5
|
See [release notes](../../wiki/Release-Notes) about latest version
|
6
6
|
|
7
|
-
##
|
7
|
+
## Updates:
|
8
8
|
|
9
|
-
|
9
|
+
#### v3.0.0
|
10
|
+
|
11
|
+
The project is now developed against ruby 2.1.0 and so it may not be backwards compatible when running on ruby 1.8.7.
|
12
|
+
|
13
|
+
The internal file structure has also changed, which shouldn't affect usage, but it might :)
|
10
14
|
|
11
|
-
|
15
|
+
#### v2.1.0
|
12
16
|
|
13
|
-
|
17
|
+
The `MockFunction` `#stub` and `#expect` methods have been superseded by `#stubbed` and `#expected` so that you can use parameter matchers. The only difference in usage from previous versions is that the methods take a set of parameters rather than a single array (e.g. `f.expected.with(1, 2, 3)` instead of `f.expect.with([1, 2, 3])`)
|
14
18
|
|
15
19
|
The change is backwards compatible so `#stub` and `#expect` are still available and function as before
|
16
20
|
|
17
|
-
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
### MockFunction
|
18
24
|
|
19
25
|
The basic usage is to create your mock function with `MockFunction.new` and then use `mocha` to stub any particular calls that you need
|
20
26
|
|
@@ -54,14 +60,14 @@ If you use let, **use `let!()` and not `let()`**, this is because lets are lazy-
|
|
54
60
|
|
55
61
|
Also if you use `let` when mocking hiera, **you can't use `:hiera` as the name due to conflicts** so you have to do something like `let!(:mock_hiera) { MockFunction.new('hiera') }`
|
56
62
|
|
57
|
-
#####Mocha stubs and expects:
|
63
|
+
##### Mocha stubs and expects:
|
58
64
|
`f.stubbed` and `f.expected` are helper methods for `f.stubs(:execute)` and `f.expects(:execute)`
|
59
65
|
|
60
66
|
Internally `#expected` will clear the rspec-puppet catalog cache. This is because rspec-puppet will only re-compile the catalog for a test if `:title`, `:params`, or `:facts` are changed. This means that if you setup an expectaion in a test, it might not be satisfied because the catalog was already compiled for a previous test, and so the functions weren't called!
|
61
67
|
|
62
68
|
Clearing the cache ensures tests aren't coupled and order dependent. The downside is that the catalog isn't cached and has to be re-compiled which slows down your tests. If you're concerned about performance and you are explicitly changing `:title`, `:params`, or `:facts` for a test, you can keep the cache intact with `f.expected(:keep_cache)`
|
63
69
|
|
64
|
-
#####Notes:
|
70
|
+
##### Notes:
|
65
71
|
- You always stub the `execute` method as that gets called internally
|
66
72
|
- The `execute` method takes a set of arguments instead of an array of arguments
|
67
73
|
|
@@ -69,7 +75,7 @@ Clearing the cache ensures tests aren't coupled and order dependent. The downsid
|
|
69
75
|
|
70
76
|
I've created a rough version for now just to help myself out, if people find it useful or find bugs, let me know
|
71
77
|
|
72
|
-
#####Usage:
|
78
|
+
##### Usage:
|
73
79
|
|
74
80
|
To stop your tests dissapearing down a rabbit hole, you can use the rspec-puppet `let(:pre_condition) { ... }` feature to create mock versions of resources that your puppet class depends on. For example:
|
75
81
|
|
@@ -221,6 +227,70 @@ Diff:
|
|
221
227
|
|
222
228
|
For more about usage see the [wiki page](../../wiki/Hiera-Data-Validator)
|
223
229
|
|
224
|
-
|
230
|
+
### Setup
|
225
231
|
- Add `rspec-puppet-utils` to your Gemfile (or use `gem install rspec-puppet-utils`)
|
226
232
|
- Add `require 'rspec-puppet-utils'` to the top of your `spec_helper`
|
233
|
+
|
234
|
+
## Rake Tasks (experimental feature)
|
235
|
+
|
236
|
+
`rspec-puppet-utils` also provides helper classes to add common rake tasks to a Puppet project or module.
|
237
|
+
|
238
|
+
### Project Tasks
|
239
|
+
|
240
|
+
The `Rake::Puppet` class provides tasks that handle testing and building a Puppet project.
|
241
|
+
|
242
|
+
##### Usage:
|
243
|
+
|
244
|
+
An example `Rakefile` might look like this:
|
245
|
+
|
246
|
+
```ruby
|
247
|
+
require 'rake'
|
248
|
+
require 'rspec_puppet_utils/rake/project_tasks'
|
249
|
+
|
250
|
+
puppet = Rake::Puppet.new
|
251
|
+
puppet.package_version = '1.0.0'
|
252
|
+
puppet.load_tasks
|
253
|
+
```
|
254
|
+
|
255
|
+
Running `rake -T` afterwords should show a list of spec and build tasks:
|
256
|
+
|
257
|
+
```bash
|
258
|
+
$ rake -T
|
259
|
+
rake build # Build puppet.zip v1.0.0
|
260
|
+
rake quick_build # Build puppet.zip v1.0.0 without tests
|
261
|
+
rake spec # Run specs in all modules
|
262
|
+
rake spec:<mod a> # Run <mod a> module specs
|
263
|
+
rake spec:<mod b> # Run <mod b> module specs
|
264
|
+
...
|
265
|
+
```
|
266
|
+
|
267
|
+
There is an spec task for each module, as well as a main `spec` task that will run all specs in a project.
|
268
|
+
|
269
|
+
The `build` task will bundle all Puppet code (modules, hiera data file, environment.conf files, etc) into a .zip file which can then be deployed.
|
270
|
+
|
271
|
+
In the example above `package_version` is set as it's a required field. The other accessible properties are:
|
272
|
+
|
273
|
+
- module_path - The directory containing all the modules to test (default: 'modules')
|
274
|
+
- excluded_modules - Modules to exclude from rspec testing (default: [])
|
275
|
+
- package_dir - Where the puppet zip package will be created (default: 'pkg')
|
276
|
+
- package_files - Files and directories to include in the package (default: ['modules', 'modules-lib', 'config/environment.conf'])
|
277
|
+
- package_version - The version of the package (e.g. 2.1.0)
|
278
|
+
|
279
|
+
##### NB:
|
280
|
+
|
281
|
+
The `package_files` list is setup for the modules-lib pattern by default. In this pattern external (e.g. Puppet Forge) modules are installed in a separate 'modules-lib', leaving the 'modules' dir for project modules such as 'components', 'profiles', 'role', etc.
|
282
|
+
If you're not using this pattern then just provide a new array for `package_files`.
|
283
|
+
|
284
|
+
Running the `build` or `quick_build` tasks will delete any existing builds in the `pkg` directory.
|
285
|
+
This is so the same build task can be run over and over on a build server (e.g. Jenkins) without filling up the disk.
|
286
|
+
It also guarantees that the binary at the end of a build was just built, and wasn't left over from a previous build.
|
287
|
+
|
288
|
+
##### ToDo:
|
289
|
+
|
290
|
+
Currently the `spec` task runs all the `spec::<module>` tasks. If one of these fails then none of the subsequent tasks will run. This isn't ideal!
|
291
|
+
|
292
|
+
The zip commands need to be replaced by ruby zip library to avoid shelling out, this helps with support for Windows environments
|
293
|
+
|
294
|
+
### Module Tasks
|
295
|
+
|
296
|
+
WIP
|
data/lib/rspec-puppet-utils.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require 'mock_function'
|
2
|
-
require 'mock_resource'
|
3
|
-
require 'template_harness'
|
4
|
-
require 'hieradata/validator'
|
5
|
-
require 'hieradata/yaml_validator'
|
1
|
+
require 'rspec_puppet_utils/mock_function'
|
2
|
+
require 'rspec_puppet_utils/mock_resource'
|
3
|
+
require 'rspec_puppet_utils/template_harness'
|
4
|
+
require 'rspec_puppet_utils/hieradata/validator'
|
5
|
+
require 'rspec_puppet_utils/hieradata/yaml_validator'
|
6
6
|
|
7
7
|
include RSpecPuppetUtils
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
# ToDo: Add flag to include version in package file name or not e.g. puppet-1.2.3.zip
|
6
|
+
# ToDo: replace zip cmds with ruby zip lib to avoid shelling out
|
7
|
+
|
8
|
+
module Rake
|
9
|
+
|
10
|
+
class Puppet
|
11
|
+
|
12
|
+
attr_accessor :module_path, :excluded_modules
|
13
|
+
attr_accessor :package_dir, :package_files, :package_version
|
14
|
+
|
15
|
+
@module_path # The directory containing all the modules to test
|
16
|
+
@excluded_dirs # Directories excluded from rspec search
|
17
|
+
@excluded_modules # Modules to exclude from rspec testing
|
18
|
+
@package_dir # Where the puppet zip package will be created
|
19
|
+
@package_files # Files and directories to include in the package
|
20
|
+
@package_name # Name of the package
|
21
|
+
@package_version # The version of the package (e.g. 2.1.0)
|
22
|
+
|
23
|
+
def initialize
|
24
|
+
extend Rake::DSL # makes 'namespace' and 'task' methods available to instance
|
25
|
+
|
26
|
+
@module_path = 'modules' # Deliberately excludes modules-lib dir
|
27
|
+
@excluded_dirs = ['.', '..']
|
28
|
+
@excluded_modules = []
|
29
|
+
@package_dir = 'pkg'
|
30
|
+
@package_files = ['modules', 'modules-lib', 'config/environment.conf']
|
31
|
+
@package_name = 'puppet'
|
32
|
+
@package_version = nil
|
33
|
+
end
|
34
|
+
|
35
|
+
def load_tasks
|
36
|
+
load_spec_tasks
|
37
|
+
load_build_tasks
|
38
|
+
end
|
39
|
+
|
40
|
+
def testable_modules
|
41
|
+
raise ArgumentError, 'Excluded modules must be an array' unless @excluded_modules.is_a? Array
|
42
|
+
module_dirs = Dir.entries(@module_path) - @excluded_dirs - @excluded_modules
|
43
|
+
module_dirs.select! {|e| File.directory?("#{@module_path}/#{e}/spec") }
|
44
|
+
module_dirs
|
45
|
+
end
|
46
|
+
|
47
|
+
def load_spec_tasks
|
48
|
+
|
49
|
+
modules = testable_modules
|
50
|
+
module_tasks = modules.collect { |m| "#{:spec}:#{m}" }
|
51
|
+
|
52
|
+
namespace :spec do
|
53
|
+
modules.each { |puppet_module|
|
54
|
+
module_root = "#{@module_path}/#{puppet_module}"
|
55
|
+
opts_path = "#{module_root}/spec/spec.opts"
|
56
|
+
|
57
|
+
desc "Run #{puppet_module} module specs"
|
58
|
+
RSpec::Core::RakeTask.new puppet_module do |t|
|
59
|
+
t.ruby_opts = "-C#{module_root}"
|
60
|
+
t.rspec_opts = File.exists?(opts_path) ? File.read(opts_path).chomp : ''
|
61
|
+
end
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
65
|
+
desc 'Run specs in all modules'
|
66
|
+
task :spec => module_tasks
|
67
|
+
task :default => :spec
|
68
|
+
end
|
69
|
+
|
70
|
+
def load_build_tasks
|
71
|
+
|
72
|
+
raise(ArgumentError, 'Please provide a package_version (e.g. "1.0.0")') if @package_version.nil?
|
73
|
+
|
74
|
+
namespace :build do
|
75
|
+
|
76
|
+
# The build_dir (i.e. 'puppet') is the root dir of the files when the zip is extracted
|
77
|
+
build_dir = "#{@package_dir}/puppet"
|
78
|
+
|
79
|
+
# Preps build directory
|
80
|
+
task :prep do
|
81
|
+
puts 'Preparing build'
|
82
|
+
FileUtils.rm_r @package_dir if File.exist?(@package_dir)
|
83
|
+
FileUtils.mkdir_p build_dir
|
84
|
+
@package_files.each {|f|
|
85
|
+
if File.exist? f
|
86
|
+
puts "Copying #{f} to #{build_dir}"
|
87
|
+
FileUtils.cp_r f, build_dir
|
88
|
+
else
|
89
|
+
fail "Could not find #{f} file or directory: Ensure that the package_files list is correct"
|
90
|
+
end
|
91
|
+
}
|
92
|
+
end
|
93
|
+
|
94
|
+
task :package => [:prep] do
|
95
|
+
# Exclude modules' spec directories as they're not needed once deployed
|
96
|
+
exclude_patterns = '-x puppet/modules/\*/spec/\* puppet/modules-lib/\*/spec/\*'
|
97
|
+
cmds = ["cd #{@package_dir}", '&&', "zip -qr #{@package_name}.zip . #{exclude_patterns}", '&&', 'cd -']
|
98
|
+
puts `#{cmds.join(' ')}`
|
99
|
+
end
|
100
|
+
|
101
|
+
task :cleanup do
|
102
|
+
puts "Cleaning up #{build_dir}/"
|
103
|
+
FileUtils.rm_r build_dir if File.exist?(build_dir)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
desc "Build #{@package_name}.zip v#{@package_version} without tests"
|
108
|
+
task :quick_build => ['build:package', 'build:cleanup'] do
|
109
|
+
puts "Built #{@package_name}.zip version #{@package_version}"
|
110
|
+
end
|
111
|
+
|
112
|
+
desc "Build #{@package_name}.zip v#{@package_version}"
|
113
|
+
task :build => [:spec, :quick_build]
|
114
|
+
end
|
115
|
+
|
116
|
+
end
|
117
|
+
end
|
File without changes
|
data/rspec-puppet-utils.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |gem|
|
3
3
|
gem.name = 'rspec-puppet-utils'
|
4
|
-
gem.version = '
|
4
|
+
gem.version = '3.0.0'
|
5
5
|
gem.description = 'Helper classes for mock/stub functions, templates and hieradata'
|
6
6
|
gem.summary = ''
|
7
7
|
gem.author = 'Tom Poulton'
|
@@ -0,0 +1,116 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'lib/rspec_puppet_utils/rake/project_tasks'
|
3
|
+
|
4
|
+
describe Rake::Puppet do
|
5
|
+
|
6
|
+
module_path = 'modules'
|
7
|
+
testable_modules = [ 'core', 'base' ]
|
8
|
+
modules_dir_list = [ 'core', 'base', 'role', 'profiles' ]
|
9
|
+
|
10
|
+
let(:puppet) { Rake::Puppet.new }
|
11
|
+
|
12
|
+
describe 'load_spec_tasks' do
|
13
|
+
|
14
|
+
before(:each) do
|
15
|
+
puppet.stubs(:testable_modules).returns(testable_modules) # not exactly best practice, but hey
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'includes namespace and task methods from Rake::DSL' do
|
19
|
+
# It would throw error on load if task or namespace methods are missing
|
20
|
+
expect { puppet.load_spec_tasks }.to_not raise_error
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'creates a task for each module' do
|
24
|
+
puppet.load_spec_tasks
|
25
|
+
testable_modules.each { |mod|
|
26
|
+
expect(Rake::Task.task_defined?("spec:#{mod}")).to eq true
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'loads the main spec task' do
|
31
|
+
puppet.load_spec_tasks
|
32
|
+
expect(Rake::Task.task_defined?(:spec)).to eq true
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'load_build_tasks' do
|
38
|
+
|
39
|
+
it 'fails if no version is provided' do
|
40
|
+
expect { puppet.load_build_tasks }.to raise_error(ArgumentError, /provide a package_version/)
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'when version is set' do
|
44
|
+
|
45
|
+
let(:package_version) { '1.2.3' }
|
46
|
+
before(:each) {
|
47
|
+
puppet.package_version = package_version
|
48
|
+
puppet.load_build_tasks
|
49
|
+
}
|
50
|
+
|
51
|
+
it 'loads the "build" task' do
|
52
|
+
expect(Rake::Task.task_defined?(:build)).to eq true
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'loads the "quick_build" task' do
|
56
|
+
expect(Rake::Task.task_defined?(:quick_build)).to eq true
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'includes package_version in task description' do
|
60
|
+
build_task = Rake::Task[:build]
|
61
|
+
expect(build_task.application.last_description).to match /v#{package_version}/
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
describe 'testable_modules' do
|
69
|
+
|
70
|
+
it 'finds modules with a spec directory' do
|
71
|
+
Dir.stubs(:entries).with(module_path).returns modules_dir_list.clone
|
72
|
+
|
73
|
+
File.stubs(:directory?).returns(false)
|
74
|
+
File.stubs(:directory?).with(regexp_matches( /(#{testable_modules.join '|'})\/spec$/ )).returns(true)
|
75
|
+
|
76
|
+
result = puppet.testable_modules
|
77
|
+
expect(result).to match_array testable_modules
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'finds modules within module_path' do
|
81
|
+
alt_module_path = 'modules-alt'
|
82
|
+
|
83
|
+
Dir.expects(:entries).with(alt_module_path).returns testable_modules
|
84
|
+
testable_modules.each { |m|
|
85
|
+
File.expects(:directory?).with(regexp_matches( /#{alt_module_path}\/#{m}/ )).returns(true)
|
86
|
+
}
|
87
|
+
|
88
|
+
puppet.module_path = alt_module_path
|
89
|
+
puppet.testable_modules
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'ignores excluded modules' do
|
93
|
+
Dir.stubs(:entries).with(module_path).returns testable_modules.clone
|
94
|
+
File.stubs(:directory?).returns(true)
|
95
|
+
|
96
|
+
puppet.excluded_modules = ['core']
|
97
|
+
result = puppet.testable_modules
|
98
|
+
expect(result).to match_array ['base']
|
99
|
+
end
|
100
|
+
|
101
|
+
it 'throws error if excluded modules is not an array' do
|
102
|
+
puppet.excluded_modules = 'not an array'
|
103
|
+
expect { puppet.testable_modules }.to raise_error(ArgumentError, /must be an array/)
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'ignores excluded directories' do
|
107
|
+
Dir.stubs(:entries).with(module_path).returns testable_modules + ['.', '..']
|
108
|
+
File.stubs(:directory?).returns(true)
|
109
|
+
|
110
|
+
result = puppet.testable_modules
|
111
|
+
expect(result).to match_array testable_modules
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
115
|
+
|
116
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-puppet-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Poulton
|
@@ -87,21 +87,24 @@ extensions: []
|
|
87
87
|
extra_rdoc_files: []
|
88
88
|
files:
|
89
89
|
- ".gitignore"
|
90
|
+
- DESIGN.md
|
90
91
|
- Gemfile
|
91
92
|
- LICENSE.txt
|
92
93
|
- README.md
|
93
94
|
- Rakefile
|
94
|
-
- lib/hieradata/validator.rb
|
95
|
-
- lib/hieradata/yaml_validator.rb
|
96
|
-
- lib/mock_function.rb
|
97
|
-
- lib/mock_resource.rb
|
98
95
|
- lib/rspec-puppet-utils.rb
|
99
|
-
- lib/
|
96
|
+
- lib/rspec_puppet_utils/hieradata/validator.rb
|
97
|
+
- lib/rspec_puppet_utils/hieradata/yaml_validator.rb
|
98
|
+
- lib/rspec_puppet_utils/mock_function.rb
|
99
|
+
- lib/rspec_puppet_utils/mock_resource.rb
|
100
|
+
- lib/rspec_puppet_utils/rake/project_tasks.rb
|
101
|
+
- lib/rspec_puppet_utils/template_harness.rb
|
100
102
|
- rspec-puppet-utils.gemspec
|
101
103
|
- spec/classes/hieradata/validator_spec.rb
|
102
104
|
- spec/classes/hieradata/yaml_validator_spec.rb
|
103
105
|
- spec/classes/mock_function_spec.rb
|
104
106
|
- spec/classes/mock_resource_spec.rb
|
107
|
+
- spec/classes/rake/project_tasks_spec.rb
|
105
108
|
- spec/classes/template_harness_spec.rb
|
106
109
|
- spec/classes/utils_spec.rb
|
107
110
|
- spec/fixtures/hieradata/empty/empty.yaml
|
@@ -145,6 +148,7 @@ test_files:
|
|
145
148
|
- spec/classes/hieradata/yaml_validator_spec.rb
|
146
149
|
- spec/classes/mock_function_spec.rb
|
147
150
|
- spec/classes/mock_resource_spec.rb
|
151
|
+
- spec/classes/rake/project_tasks_spec.rb
|
148
152
|
- spec/classes/template_harness_spec.rb
|
149
153
|
- spec/classes/utils_spec.rb
|
150
154
|
- spec/fixtures/hieradata/empty/empty.yaml
|