puppet-retrospec 1.1.0 → 1.2.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/CHANGELOG.md +2 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +10 -10
- data/lib/retrospec/plugins/v1/plugin/generators/node_generator.rb +1 -0
- data/lib/retrospec/plugins/v1/plugin/puppet.rb +20 -26
- data/lib/retrospec/plugins/v1/plugin/template_helpers.rb +21 -13
- data/lib/retrospec/plugins/v1/plugin/version.rb +1 -1
- data/puppet-retrospec.gemspec +3 -1
- data/spec/unit/generators/function_generator_spec.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9bd4527b504e3bed3e18861dae6308ebe725441
|
4
|
+
data.tar.gz: de5419b0edc23e427d8559e9ddcafc3f18f72109
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa079425ba609de77e12cc553b71602736c63d0ed1ad1c00c4d15ed7b5fe258b2038c0abe561a29b9ce3e96fca26c99ca6df4fbf26f8d5be3d15ceb7132f7cd5
|
7
|
+
data.tar.gz: 97a2a24de34fcdde1c48515f8de008a1df85770393b208bd3849f43b924dee6e620d9b903fc56b7f1029fffa3a7a4fee25c78bd75fce45c29c2a0f8b589a960f
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -11,12 +11,12 @@ group :development do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
group :test do
|
14
|
-
gem 'rubocop'
|
14
|
+
gem 'rubocop', platforms: :ruby_20
|
15
15
|
gem 'rspec', '~> 3.2'
|
16
16
|
gem 'puppet', '4.5.2', :path => 'vendor/gems/puppet-4.5.2'
|
17
|
+
gem 'json_pure', '= 2.0.1' # force this gem as 2.0.2 requires ruby > 2.0.0
|
17
18
|
gem 'rake'
|
18
19
|
gem 'bundler', '~> 1.0'
|
19
20
|
gem 'yard', '~> 0.7'
|
20
21
|
gem 'fakefs', :require => 'fakefs/safe'
|
21
|
-
gem 'rspec', '~> 3.2'
|
22
22
|
end
|
data/Gemfile.lock
CHANGED
@@ -17,13 +17,12 @@ GEM
|
|
17
17
|
facets (3.1.0)
|
18
18
|
facter (2.4.6)
|
19
19
|
CFPropertyList (~> 2.2.6)
|
20
|
-
fakefs (0.9.
|
21
|
-
hiera (3.2.
|
22
|
-
json_pure
|
20
|
+
fakefs (0.9.1)
|
21
|
+
hiera (3.2.1)
|
23
22
|
json (1.8.3)
|
24
|
-
json_pure (2.0.
|
23
|
+
json_pure (2.0.1)
|
25
24
|
method_source (0.8.2)
|
26
|
-
parser (2.3.1.
|
25
|
+
parser (2.3.1.4)
|
27
26
|
ast (~> 2.2)
|
28
27
|
powerpack (0.1.1)
|
29
28
|
pry (0.10.4)
|
@@ -31,7 +30,7 @@ GEM
|
|
31
30
|
method_source (~> 0.8.1)
|
32
31
|
slop (~> 3.4)
|
33
32
|
rainbow (2.1.0)
|
34
|
-
rake (11.
|
33
|
+
rake (11.3.0)
|
35
34
|
rdoc (3.12.2)
|
36
35
|
json (~> 1.4)
|
37
36
|
retrospec (0.4.0)
|
@@ -40,7 +39,7 @@ GEM
|
|
40
39
|
rspec-core (~> 3.5.0)
|
41
40
|
rspec-expectations (~> 3.5.0)
|
42
41
|
rspec-mocks (~> 3.5.0)
|
43
|
-
rspec-core (3.5.
|
42
|
+
rspec-core (3.5.3)
|
44
43
|
rspec-support (~> 3.5.0)
|
45
44
|
rspec-expectations (3.5.0)
|
46
45
|
diff-lcs (>= 1.2.0, < 2.0)
|
@@ -49,7 +48,7 @@ GEM
|
|
49
48
|
diff-lcs (>= 1.2.0, < 2.0)
|
50
49
|
rspec-support (~> 3.5.0)
|
51
50
|
rspec-support (3.5.0)
|
52
|
-
rubocop (0.
|
51
|
+
rubocop (0.43.0)
|
53
52
|
parser (>= 2.3.1.1, < 3.0)
|
54
53
|
powerpack (~> 0.1)
|
55
54
|
rainbow (>= 1.99.1, < 3.0)
|
@@ -58,7 +57,7 @@ GEM
|
|
58
57
|
ruby-progressbar (1.8.1)
|
59
58
|
slop (3.6.0)
|
60
59
|
trollop (2.1.2)
|
61
|
-
unicode-display_width (1.1.
|
60
|
+
unicode-display_width (1.1.1)
|
62
61
|
yard (0.9.5)
|
63
62
|
|
64
63
|
PLATFORMS
|
@@ -69,6 +68,7 @@ DEPENDENCIES
|
|
69
68
|
bundler (~> 1.0)
|
70
69
|
facets
|
71
70
|
fakefs
|
71
|
+
json_pure (= 2.0.1)
|
72
72
|
pry
|
73
73
|
puppet (= 4.5.2)!
|
74
74
|
rake
|
@@ -80,4 +80,4 @@ DEPENDENCIES
|
|
80
80
|
yard (~> 0.7)
|
81
81
|
|
82
82
|
BUNDLED WITH
|
83
|
-
1.
|
83
|
+
1.13.1
|
@@ -67,8 +67,8 @@ module Retrospec
|
|
67
67
|
# the user passed in /tmp/test1 and the name is irrelevent
|
68
68
|
if ! File.exists?(plugin_data[:module_path])
|
69
69
|
plugin_data[:module_path] = File.join(plugin_data[:module_path])
|
70
|
-
|
71
|
-
|
70
|
+
# if the module path basename is the same as the module name
|
71
|
+
# this is a parent directory or the module already exists
|
72
72
|
elsif File.basename(plugin_data[:module_path]) != plugin_data[:name]
|
73
73
|
plugin_data[:module_path] = File.join(plugin_data[:module_path], plugin_data[:name])
|
74
74
|
end
|
@@ -101,16 +101,16 @@ module Retrospec
|
|
101
101
|
plugin_opts = Trollop.options(args) do
|
102
102
|
version "Retrospec puppet plugin: #{Retrospec::Puppet::VERSION} (c) Corey Osman"
|
103
103
|
banner <<-EOS
|
104
|
-
Generates puppet rspec test code based on the classes and defines inside the manifests directory.\n
|
105
|
-
#{sub_command_help}
|
104
|
+
Generates puppet rspec test code based on the classes and defines inside the manifests directory.\n
|
105
|
+
#{sub_command_help}
|
106
106
|
|
107
107
|
EOS
|
108
108
|
opt :template_dir, 'Path to templates directory (only for overriding Retrospec templates)', :type => :string,
|
109
|
-
|
109
|
+
:required => false, :default => template_dir
|
110
110
|
opt :scm_url, 'SCM url for retrospec templates', :type => :string, :required => false,
|
111
|
-
|
111
|
+
:default => scm_url
|
112
112
|
opt :branch, 'Branch you want to use for the retrospec template repo', :type => :string, :required => false,
|
113
|
-
|
113
|
+
:default => scm_branch
|
114
114
|
opt :enable_beaker_tests, 'Enable the creation of beaker tests', :require => false, :type => :boolean, :default => beaker_tests
|
115
115
|
stop_on sub_commands
|
116
116
|
end
|
@@ -240,31 +240,25 @@ Generates puppet rspec test code based on the classes and defines inside the man
|
|
240
240
|
# runs a user defined hook called pre-hook
|
241
241
|
def run_pre_hook
|
242
242
|
hook_file = File.join(template_dir, 'pre-hook')
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
243
|
+
run_hook(hook_file)
|
244
|
+
end
|
245
|
+
|
246
|
+
def run_hook(hook_file)
|
247
|
+
return if File.exist?(hook_file)
|
248
|
+
output = `ruby #{hook_file} #{module_path}`
|
249
|
+
if $CHILD_STATUS.success?
|
250
|
+
puts "Successfully ran hook: #{hook_file}".info
|
251
|
+
puts output.info
|
252
|
+
else
|
253
|
+
puts "Error running hook: #{hook_file}".fatal
|
254
|
+
puts output.fatal
|
252
255
|
end
|
253
256
|
end
|
254
257
|
|
255
258
|
# runs a user defined hook called post-hook
|
256
259
|
def run_post_hook
|
257
260
|
hook_file = File.join(template_dir, 'post-hook')
|
258
|
-
|
259
|
-
output = `#{hook_file} #{module_path}`
|
260
|
-
if $CHILD_STATUS.success?
|
261
|
-
puts "Successfully ran hook: #{hook_file}".info
|
262
|
-
puts output.info
|
263
|
-
else
|
264
|
-
puts "Error running hook: #{hook_file}".fatal
|
265
|
-
puts output.fatal
|
266
|
-
end
|
267
|
-
end
|
261
|
+
run_hook(hook_file)
|
268
262
|
end
|
269
263
|
|
270
264
|
# this is the method that performs all the magic and creates all the files
|
@@ -44,26 +44,34 @@ module Retrospec
|
|
44
44
|
File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
45
45
|
end
|
46
46
|
|
47
|
+
# @return [String] window's specific file path for windows and unix specific path for unix
|
48
|
+
# @param [String] path to the template directory
|
49
|
+
def clone_hook_file(template_dir)
|
50
|
+
hook_file_name = 'clone-hook'
|
51
|
+
if File.exist?(File.join(template_dir, hook_file_name))
|
52
|
+
hook_file = File.join(template_dir, hook_file_name)
|
53
|
+
else
|
54
|
+
hook_file = File.join(gem_template_dir, hook_file_name)
|
55
|
+
end
|
56
|
+
hook_file
|
57
|
+
end
|
58
|
+
|
47
59
|
# runs the clone hook file
|
48
60
|
# the intention of this method and hook is to download the templates
|
49
61
|
# from an external repo. Because templates are updated frequently
|
50
62
|
# and users will sometimes have client specific templates I wanted to
|
51
63
|
# externalize them for easier management.
|
52
64
|
def run_clone_hook(template_dir, git_url = nil, branch = nil)
|
53
|
-
|
54
|
-
|
65
|
+
hook_file = clone_hook_file(template_dir)
|
66
|
+
return if File.exist?(hook_file)
|
67
|
+
output = `ruby #{hook_file} #{template_dir} #{git_url} #{branch}`
|
68
|
+
puts output
|
69
|
+
if $CHILD_STATUS.success?
|
70
|
+
puts "Successfully ran hook: #{hook_file}".info
|
71
|
+
puts output.info
|
55
72
|
else
|
56
|
-
|
57
|
-
|
58
|
-
if File.exist?(hook_file)
|
59
|
-
output = `#{hook_file} #{template_dir} #{git_url} #{branch}`
|
60
|
-
if $CHILD_STATUS.success?
|
61
|
-
puts "Successfully ran hook: #{hook_file}".info
|
62
|
-
puts output.info
|
63
|
-
else
|
64
|
-
puts "Error running hook: #{hook_file}".fatal
|
65
|
-
puts output.fatal
|
66
|
-
end
|
73
|
+
puts "Error running hook: #{hook_file}".fatal
|
74
|
+
puts output.fatal
|
67
75
|
end
|
68
76
|
end
|
69
77
|
end
|
data/puppet-retrospec.gemspec
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'retrospec/plugins/v1/plugin/version'
|
3
5
|
|
4
6
|
Gem::Specification.new do |s|
|
5
7
|
s.name = "puppet-retrospec"
|
@@ -358,7 +358,7 @@ describe 'function_generator' do
|
|
358
358
|
path = File.join(generator.module_path, 'spec', 'functions', 'abs_spec.rb')
|
359
359
|
expect(generator.generate_spec_files).to eq([path])
|
360
360
|
test_file_content = File.read(path)
|
361
|
-
result = "require 'spec_helper'\n\
|
361
|
+
result = "require 'spec_helper'\n\ndescribe 'abs' do\n let(:x) do\n 'some_value_goes_here'\n end\n it { is_expected.to run.with_params(x).and_return('some_value') }\nend\n"
|
362
362
|
expect(test_file_content).to eq(result)
|
363
363
|
end
|
364
364
|
|