puppet-retrospec 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|