onceover 3.15.2 → 3.17.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +72 -82
  4. data/.travis.yml +3 -8
  5. data/Gemfile +9 -2
  6. data/README.md +68 -2
  7. data/bin/onceover +3 -3
  8. data/factsets/Ubuntu-18.04-64.json +556 -0
  9. data/factsets/Windows_Server-2008r2-64.json +1 -0
  10. data/factsets/Windows_Server-2012r2-64.json +1 -0
  11. data/factsets/windows-10-64.json +2 -1
  12. data/features/step_definitions/common.rb +12 -1
  13. data/features/windows.feature +30 -0
  14. data/features/{run.feature → zzz_run.feature} +5 -0
  15. data/lib/onceover/beaker.rb +6 -0
  16. data/lib/onceover/cli.rb +1 -1
  17. data/lib/onceover/cli/init.rb +1 -1
  18. data/lib/onceover/cli/run.rb +4 -3
  19. data/lib/onceover/cli/show.rb +3 -3
  20. data/lib/onceover/cli/update.rb +2 -2
  21. data/lib/onceover/controlrepo.rb +36 -36
  22. data/lib/onceover/deploy.rb +3 -1
  23. data/lib/onceover/group.rb +1 -1
  24. data/lib/onceover/logger.rb +2 -1
  25. data/lib/onceover/rake_tasks.rb +2 -1
  26. data/lib/onceover/rspec/formatters.rb +17 -5
  27. data/lib/onceover/runner.rb +17 -5
  28. data/lib/onceover/testconfig.rb +22 -12
  29. data/onceover.gemspec +14 -19
  30. data/spec/fixtures/controlrepos/caching/spec/r10k.yaml +3 -0
  31. data/spec/fixtures/controlrepos/windows/Gemfile +3 -0
  32. data/spec/fixtures/controlrepos/windows/Puppetfile +3 -0
  33. data/spec/fixtures/controlrepos/windows/environment.conf +1 -0
  34. data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/acl.pp +12 -0
  35. data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/groups.pp +8 -0
  36. data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/users.pp +9 -0
  37. data/spec/fixtures/controlrepos/windows/site/role/manifests/groups.pp +8 -0
  38. data/spec/fixtures/controlrepos/windows/site/role/manifests/users.pp +9 -0
  39. data/spec/fixtures/controlrepos/windows/spec/onceover.yaml +24 -0
  40. data/templates/test_spec.rb.erb +60 -0
  41. metadata +81 -124
@@ -53,8 +53,10 @@ class Onceover
53
53
  @config.acceptance_tests.each { |test| @config.verify_acceptance_test(@repo, test) }
54
54
 
55
55
  # Write them out
56
- @config.write_acceptance_tests("#{@repo.tempdir}/spec/acceptance",
57
- @config.run_filters(Onceover::Test.deduplicate(@config.acceptance_tests)))
56
+ @config.write_acceptance_tests(
57
+ "#{@repo.tempdir}/spec/acceptance",
58
+ @config.run_filters(Onceover::Test.deduplicate(@config.acceptance_tests))
59
+ )
58
60
  end
59
61
 
60
62
  # Parse the current hiera config, modify, and write it to the temp dir
@@ -85,10 +87,11 @@ class Onceover
85
87
  #`bin/rake spec_standalone`
86
88
  if @config.opts[:parallel]
87
89
  logger.debug "Running #{@command_prefix}rake parallel_spec from #{@repo.tempdir}"
88
- result = Backticks::Runner.new(interactive:true).run(@command_prefix.strip.split, 'rake', 'parallel_spec').join
90
+ result = run_command(@command_prefix.strip.split, 'rake', 'parallel_spec')
89
91
  else
92
+ require 'io/console'
90
93
  logger.debug "Running #{@command_prefix}rake spec_standalone from #{@repo.tempdir}"
91
- result = Backticks::Runner.new(interactive:true).run(@command_prefix.strip.split, 'rake', 'spec_standalone').join
94
+ result = run_command(@command_prefix.strip.split, 'rake', 'spec_standalone')
92
95
  end
93
96
 
94
97
  # Reset env to previous state if we modified it
@@ -115,11 +118,20 @@ class Onceover
115
118
  #`bundle install --binstubs`
116
119
  #`bin/rake spec_standalone`
117
120
  logger.debug "Running #{@command_prefix}rake acceptance from #{@repo.tempdir}"
118
- result = Backticks::Runner.new(interactive:true).run(@command_prefix.strip.split, 'rake', 'acceptance').join
121
+ result = run_command(@command_prefix.strip.split, 'rake', 'acceptance')
119
122
  end
120
123
 
121
124
  # Finally exit and preserve the exit code
122
125
  exit result.status.exitstatus
123
126
  end
127
+
128
+ def run_command(*args)
129
+ begin
130
+ STDERR.raw! if STDERR.isatty
131
+ result = Backticks::Runner.new(interactive: true).run(args.flatten).join
132
+ ensure
133
+ STDERR.cooked! if STDERR.isatty
134
+ end
135
+ end
124
136
  end
125
137
  end
@@ -47,7 +47,7 @@ class Onceover
47
47
  @acceptance_tests = []
48
48
  @opts = opts
49
49
  @mock_functions = config['functions']
50
- @before_conditions = config['before']
50
+ @before_conditions = config['before'] || []
51
51
  @after_conditions = config['after']
52
52
  @strict_variables = opts[:strict_variables] ? 'yes' : 'no'
53
53
 
@@ -104,12 +104,12 @@ class Onceover
104
104
  def to_s
105
105
  require 'colored'
106
106
 
107
- <<-END.gsub(/^\s{4}/,'')
107
+ <<-TESTCONF.gsub(/^\s{4}/,'')
108
108
  #{'classes'.green} #{@classes.map{|c|c.name}}
109
109
  #{'nodes'.green} #{@nodes.map{|n|n.name}}
110
110
  #{'class_groups'.green} #{@class_groups}
111
111
  #{'node_groups'.green} #{@node_groups.map{|g|g.name}}
112
- END
112
+ TESTCONF
113
113
  end
114
114
 
115
115
  def self.find_list(thing)
@@ -177,30 +177,38 @@ class Onceover
177
177
  puppetcode << File.read(condition_file)
178
178
  end
179
179
  return nil if puppetcode.count.zero?
180
+
180
181
  puppetcode.join("\n")
181
182
  end
182
183
 
183
184
  def write_spec_test(location, test)
184
185
  # Use an ERB template to write a spec test
185
- File.write("#{location}/#{test.to_s}_spec.rb",
186
- Onceover::Controlrepo.evaluate_template('test_spec.rb.erb', binding))
186
+ File.write(
187
+ "#{location}/#{test.to_s}_spec.rb",
188
+ Onceover::Controlrepo.evaluate_template('test_spec.rb.erb', binding)
189
+ )
187
190
  end
188
191
 
189
192
  def write_acceptance_tests(location, tests)
190
193
  warn "[DEPRECATION] #{__method__} is deprecated due to the removal of Beaker"
191
194
 
192
- File.write("#{location}/acceptance_spec.rb",
195
+ File.write(
196
+ "#{location}/acceptance_spec.rb",
193
197
  Onceover::Controlrepo.evaluate_template('acceptance_test_spec.rb.erb', binding))
194
198
  end
195
199
 
196
200
  def write_spec_helper_acceptance(location, repo)
197
- File.write("#{location}/spec_helper_acceptance.rb",
198
- Onceover::Controlrepo.evaluate_template('spec_helper_acceptance.rb.erb', binding))
201
+ File.write(
202
+ "#{location}/spec_helper_acceptance.rb",
203
+ Onceover::Controlrepo.evaluate_template('spec_helper_acceptance.rb.erb', binding)
204
+ )
199
205
  end
200
206
 
201
207
  def write_rakefile(location, pattern)
202
- File.write("#{location}/Rakefile",
203
- Onceover::Controlrepo.evaluate_template('testconfig_Rakefile.erb', binding))
208
+ File.write(
209
+ "#{location}/Rakefile",
210
+ Onceover::Controlrepo.evaluate_template('testconfig_Rakefile.erb', binding)
211
+ )
204
212
  end
205
213
 
206
214
  def write_spec_helper(location, repo)
@@ -222,8 +230,10 @@ class Onceover
222
230
  repo.temp_modulepath = modulepath
223
231
 
224
232
  # Use an ERB template to write a spec test
225
- File.write("#{location}/spec_helper.rb",
226
- Onceover::Controlrepo.evaluate_template('spec_helper.rb.erb', binding))
233
+ File.write(
234
+ "#{location}/spec_helper.rb",
235
+ Onceover::Controlrepo.evaluate_template('spec_helper.rb.erb', binding)
236
+ )
227
237
  end
228
238
 
229
239
  def create_fixtures_symlinks(repo)
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "onceover"
7
- s.version = "3.15.2"
7
+ s.version = "3.17.3"
8
8
  s.authors = ["Dylan Ratcliffe"]
9
9
  s.email = ["dylan.ratcliffe@puppet.com"]
10
10
  s.homepage = "https://github.com/dylanratcliffe/onceover"
@@ -18,28 +18,23 @@ Gem::Specification.new do |s|
18
18
  s.executables = 'onceover'
19
19
 
20
20
  # Runtime dependencies, but also probably dependencies of requiring projects
21
- s.add_runtime_dependency 'rake', '>= 10.0.0'
22
- s.add_runtime_dependency 'multi_json', '~> 1.10'
23
21
  s.add_runtime_dependency 'backticks', '>= 1.0.2'
24
- s.add_runtime_dependency 'rspec-puppet', ">= 2.4.0"
25
- s.add_runtime_dependency 'parallel_tests', ">= 2.0.0"
26
- s.add_runtime_dependency 'puppetlabs_spec_helper', ">= 0.4.0"
27
- s.add_runtime_dependency 'rspec', '>= 3.0.0'
28
- s.add_runtime_dependency 'r10k', '>=2.1.0'
29
- s.add_runtime_dependency 'puppet', '>=3.4.0'
22
+ s.add_runtime_dependency 'colored', '~> 1.2'
23
+ s.add_runtime_dependency 'cri', '>= 2.6'
24
+ s.add_runtime_dependency 'deep_merge', '>= 1.0.0'
30
25
  s.add_runtime_dependency 'facter', '< 4.0.0'
31
26
  s.add_runtime_dependency 'git'
32
- s.add_runtime_dependency 'cri', '>= 2.6'
33
- s.add_runtime_dependency 'colored', '~> 1.2'
34
27
  s.add_runtime_dependency 'logging', '>= 2.0.0'
35
- s.add_runtime_dependency 'deep_merge', '>= 1.0.0'
36
- s.add_runtime_dependency 'table_print', '>= 1.0.0'
37
- s.add_runtime_dependency 'versionomy', '>= 0.5.0'
28
+ s.add_runtime_dependency 'multi_json', '~> 1.10'
29
+ s.add_runtime_dependency 'parallel_tests', ">= 2.0.0"
30
+ s.add_runtime_dependency 'puppet', '>=4.0'
31
+ s.add_runtime_dependency 'puppetlabs_spec_helper', ">= 0.4.0"
32
+ s.add_runtime_dependency 'r10k', '>=2.1.0'
33
+ s.add_runtime_dependency 'rake', '>= 10.0.0'
34
+ s.add_runtime_dependency 'rspec', '>= 3.0.0'
35
+ s.add_runtime_dependency 'rspec-puppet', ">= 2.4.0"
38
36
  s.add_runtime_dependency 'rspec_junit_formatter', '>= 0.2.0'
37
+ s.add_runtime_dependency 'terminal-table', '>= 1.8.0'
38
+ s.add_runtime_dependency 'versionomy', '>= 0.5.0'
39
39
 
40
- # Development
41
- s.add_development_dependency 'rubocop', '~> 0.49.0'
42
- s.add_development_dependency 'rubygems-tasks', '~> 0.2.0'
43
- s.add_development_dependency 'pry', '~> 0.10.0'
44
- s.add_development_dependency 'cucumber', '~> 2.0'
45
40
  end
@@ -0,0 +1,3 @@
1
+ ---
2
+ # Just for testing
3
+ pool_size: 10
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'onceover'
@@ -0,0 +1,3 @@
1
+ forge "http://forge.puppetlabs.com"
2
+
3
+ mod 'puppetlabs-acl', '3.1.1'
@@ -0,0 +1 @@
1
+ modulepath = site-modules:modules:$basemodulepath
@@ -0,0 +1,12 @@
1
+ class role::acl {
2
+ # ACL often causes failures such as this:
3
+ # https://github.com/rodjek/rspec-puppet/issues/665
4
+ #
5
+ # Onceover should handle this out of the box
6
+ acl { 'L:\\SQLBackup':
7
+ inherit_parent_permissions => false,
8
+ permissions => [
9
+ { 'identity' => 'foo', 'rights' => ['read'] }
10
+ ],
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ # Class: role::groups
2
+ #
3
+ #
4
+ class role::groups {
5
+ group {'Administrators':
6
+ members => ['foo'],
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ # Class: role::users
2
+ #
3
+ #
4
+ class role::users {
5
+ user { 'dylan':
6
+ ensure => 'present',
7
+ groups => ['Administrators'],
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ # Class: role::groups
2
+ #
3
+ #
4
+ class role::groups {
5
+ group {'Administrators':
6
+ members => ['foo'],
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ # Class: role::users
2
+ #
3
+ #
4
+ class role::users {
5
+ user { 'dylan':
6
+ ensure => 'present',
7
+ groups => ['Administrators'],
8
+ }
9
+ }
@@ -0,0 +1,24 @@
1
+ # Classes to be tested
2
+ classes:
3
+ - /role::/
4
+
5
+ # Nodes to tests classes on, this refers to a 'factset' or 'nodeset'
6
+ # depending on whether you are running 'spec' or 'acceptance' tests
7
+ nodes:
8
+ - Windows_Server-2012r2-64
9
+ - windows-10-64
10
+ - Windows_Server-2008r2-64
11
+
12
+ # You can group classes here to save typing
13
+ class_groups:
14
+
15
+ # You can group nodes here to save typing
16
+ # We have created a 'non_windows_nodes' group because we can't
17
+ # give you Windows vagrant boxes to test with because licensing,
18
+ # we can give you fact sets though so go crazy with spec testing!
19
+ node_groups:
20
+
21
+ test_matrix:
22
+ - all_nodes:
23
+ classes: "all_classes"
24
+ tests: "spec"
@@ -29,6 +29,7 @@ describe "<%= cls.name %>" do
29
29
  end
30
30
  <% end -%>
31
31
 
32
+ <% unless opts[:no_workarounds] -%>
32
33
  before :each do
33
34
  # Curtrently there is some code within Puppet that will try to execute
34
35
  # commands when compiling a catalog even though it shouldn't. One example is
@@ -41,7 +42,66 @@ describe "<%= cls.name %>" do
41
42
  unless File.exist? expected_null_file
42
43
  allow(Puppet::Util::Execution).to receive(:execute).and_raise(Puppet::ExecutionFailure.new("Onceover caused this"))
43
44
  end
45
+
46
+ # The windows ACL module causes issues when compiled on other platforms
47
+ # These are detailed in the following ticket:
48
+ # https://github.com/rodjek/rspec-puppet/issues/665
49
+ #
50
+ # The below should work around this common issue
51
+ if Puppet::Type.type(:acl)
52
+ allow_any_instance_of(Puppet::Type.type(:acl).provider(:windows)).to receive(:validate)
53
+ allow_any_instance_of(Puppet::Type.type(:acl).provider(:windows)).to receive(:respond_to?).with(:get_account_name).and_return(false)
54
+ allow_any_instance_of(Puppet::Type.type(:acl).provider(:windows)).to receive(:respond_to?).with(:get_group_name).and_return(false)
55
+ allow_any_instance_of(Puppet::Type.type(:acl).provider(:windows)).to receive(:respond_to?).with(:validate).and_return(true)
56
+ end
57
+
58
+ # The windows_adsi provider also has an issue where the contructor takes
59
+ # a different number of arguments depending on whether the ADSI
60
+ # underlying connectivity exists. This causes the following error:
61
+ #
62
+ # wrong number of arguments (given 1, expected 0)
63
+ #
64
+ # This fixes that if we aren't using Windows
65
+ begin
66
+ # Test to see if this works without modification
67
+ require 'puppet/util/windows'
68
+ require 'puppet/util/windows/adsi'
69
+ Puppet::Util::Windows::ADSI.computer_name
70
+ rescue LoadError, StandardError
71
+ # Declare an entire mocked module because for some reason we can't load it unless we are on Windows
72
+ module Puppet::Util::Windows
73
+ module ADSI
74
+ class ADSIObject; end
75
+ class User < ADSIObject; end
76
+ class UserProfile; end
77
+ class Group < ADSIObject; end
78
+ end
79
+ module File; end
80
+ module Registry
81
+ end
82
+ module SID
83
+ class Principal; end
84
+ end
85
+ class EventLog; end
86
+ end
87
+
88
+ # Mock commonly used things
89
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_sid).and_return('S-1-5-32-544')
90
+ allow(Puppet::Util::Windows::SID).to receive(:name_to_principal).and_return(nil)
91
+
92
+ allow_any_instance_of(Puppet::Util::Windows::ADSI::User).to receive(:initialize)
93
+ allow_any_instance_of(Puppet::Util::Windows::ADSI::User).to receive(:groups).and_return([])
94
+ allow_any_instance_of(Puppet::Util::Windows::ADSI::User).to receive(:name_sid_hash).and_return({})
95
+
96
+ # Group instance methods
97
+ allow_any_instance_of(Puppet::Util::Windows::ADSI::Group).to receive(:members).and_return([])
98
+ allow_any_instance_of(Puppet::Util::Windows::ADSI::Group).to receive(:members_sids).and_return([])
99
+
100
+ # Class methods
101
+ allow(Puppet::Util::Windows::ADSI::Group).to receive(:name_sid_hash).and_return({})
102
+ end
44
103
  end
104
+ <% end -%>
45
105
 
46
106
  <% if @after_conditions -%>
47
107
  after :each do
metadata CHANGED
@@ -1,253 +1,225 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onceover
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.15.2
4
+ version: 3.17.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dylan Ratcliffe
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-20 00:00:00.000000000 Z
11
+ date: 2020-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rake
14
+ name: backticks
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 10.0.0
19
+ version: 1.0.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 10.0.0
26
+ version: 1.0.2
27
27
  - !ruby/object:Gem::Dependency
28
- name: multi_json
28
+ name: colored
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.10'
33
+ version: '1.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.10'
40
+ version: '1.2'
41
41
  - !ruby/object:Gem::Dependency
42
- name: backticks
42
+ name: cri
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.2
47
+ version: '2.6'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.2
54
+ version: '2.6'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec-puppet
56
+ name: deep_merge
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 2.4.0
61
+ version: 1.0.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 2.4.0
68
+ version: 1.0.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: parallel_tests
70
+ name: facter
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "<"
74
74
  - !ruby/object:Gem::Version
75
- version: 2.0.0
75
+ version: 4.0.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "<"
81
81
  - !ruby/object:Gem::Version
82
- version: 2.0.0
82
+ version: 4.0.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: puppetlabs_spec_helper
84
+ name: git
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.4.0
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 0.4.0
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rspec
98
+ name: logging
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 3.0.0
103
+ version: 2.0.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 3.0.0
110
+ version: 2.0.0
111
111
  - !ruby/object:Gem::Dependency
112
- name: r10k
112
+ name: multi_json
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 2.1.0
117
+ version: '1.10'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 2.1.0
124
+ version: '1.10'
125
125
  - !ruby/object:Gem::Dependency
126
- name: puppet
126
+ name: parallel_tests
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 3.4.0
131
+ version: 2.0.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 3.4.0
139
- - !ruby/object:Gem::Dependency
140
- name: facter
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "<"
144
- - !ruby/object:Gem::Version
145
- version: 4.0.0
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "<"
151
- - !ruby/object:Gem::Version
152
- version: 4.0.0
138
+ version: 2.0.0
153
139
  - !ruby/object:Gem::Dependency
154
- name: git
140
+ name: puppet
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - ">="
158
144
  - !ruby/object:Gem::Version
159
- version: '0'
145
+ version: '4.0'
160
146
  type: :runtime
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
150
  - - ">="
165
151
  - !ruby/object:Gem::Version
166
- version: '0'
152
+ version: '4.0'
167
153
  - !ruby/object:Gem::Dependency
168
- name: cri
154
+ name: puppetlabs_spec_helper
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
157
  - - ">="
172
158
  - !ruby/object:Gem::Version
173
- version: '2.6'
159
+ version: 0.4.0
174
160
  type: :runtime
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
164
  - - ">="
179
165
  - !ruby/object:Gem::Version
180
- version: '2.6'
181
- - !ruby/object:Gem::Dependency
182
- name: colored
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: '1.2'
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: '1.2'
166
+ version: 0.4.0
195
167
  - !ruby/object:Gem::Dependency
196
- name: logging
168
+ name: r10k
197
169
  requirement: !ruby/object:Gem::Requirement
198
170
  requirements:
199
171
  - - ">="
200
172
  - !ruby/object:Gem::Version
201
- version: 2.0.0
173
+ version: 2.1.0
202
174
  type: :runtime
203
175
  prerelease: false
204
176
  version_requirements: !ruby/object:Gem::Requirement
205
177
  requirements:
206
178
  - - ">="
207
179
  - !ruby/object:Gem::Version
208
- version: 2.0.0
180
+ version: 2.1.0
209
181
  - !ruby/object:Gem::Dependency
210
- name: deep_merge
182
+ name: rake
211
183
  requirement: !ruby/object:Gem::Requirement
212
184
  requirements:
213
185
  - - ">="
214
186
  - !ruby/object:Gem::Version
215
- version: 1.0.0
187
+ version: 10.0.0
216
188
  type: :runtime
217
189
  prerelease: false
218
190
  version_requirements: !ruby/object:Gem::Requirement
219
191
  requirements:
220
192
  - - ">="
221
193
  - !ruby/object:Gem::Version
222
- version: 1.0.0
194
+ version: 10.0.0
223
195
  - !ruby/object:Gem::Dependency
224
- name: table_print
196
+ name: rspec
225
197
  requirement: !ruby/object:Gem::Requirement
226
198
  requirements:
227
199
  - - ">="
228
200
  - !ruby/object:Gem::Version
229
- version: 1.0.0
201
+ version: 3.0.0
230
202
  type: :runtime
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
205
  requirements:
234
206
  - - ">="
235
207
  - !ruby/object:Gem::Version
236
- version: 1.0.0
208
+ version: 3.0.0
237
209
  - !ruby/object:Gem::Dependency
238
- name: versionomy
210
+ name: rspec-puppet
239
211
  requirement: !ruby/object:Gem::Requirement
240
212
  requirements:
241
213
  - - ">="
242
214
  - !ruby/object:Gem::Version
243
- version: 0.5.0
215
+ version: 2.4.0
244
216
  type: :runtime
245
217
  prerelease: false
246
218
  version_requirements: !ruby/object:Gem::Requirement
247
219
  requirements:
248
220
  - - ">="
249
221
  - !ruby/object:Gem::Version
250
- version: 0.5.0
222
+ version: 2.4.0
251
223
  - !ruby/object:Gem::Dependency
252
224
  name: rspec_junit_formatter
253
225
  requirement: !ruby/object:Gem::Requirement
@@ -263,61 +235,33 @@ dependencies:
263
235
  - !ruby/object:Gem::Version
264
236
  version: 0.2.0
265
237
  - !ruby/object:Gem::Dependency
266
- name: rubocop
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - "~>"
270
- - !ruby/object:Gem::Version
271
- version: 0.49.0
272
- type: :development
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - "~>"
277
- - !ruby/object:Gem::Version
278
- version: 0.49.0
279
- - !ruby/object:Gem::Dependency
280
- name: rubygems-tasks
238
+ name: terminal-table
281
239
  requirement: !ruby/object:Gem::Requirement
282
240
  requirements:
283
- - - "~>"
284
- - !ruby/object:Gem::Version
285
- version: 0.2.0
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - "~>"
291
- - !ruby/object:Gem::Version
292
- version: 0.2.0
293
- - !ruby/object:Gem::Dependency
294
- name: pry
295
- requirement: !ruby/object:Gem::Requirement
296
- requirements:
297
- - - "~>"
241
+ - - ">="
298
242
  - !ruby/object:Gem::Version
299
- version: 0.10.0
300
- type: :development
243
+ version: 1.8.0
244
+ type: :runtime
301
245
  prerelease: false
302
246
  version_requirements: !ruby/object:Gem::Requirement
303
247
  requirements:
304
- - - "~>"
248
+ - - ">="
305
249
  - !ruby/object:Gem::Version
306
- version: 0.10.0
250
+ version: 1.8.0
307
251
  - !ruby/object:Gem::Dependency
308
- name: cucumber
252
+ name: versionomy
309
253
  requirement: !ruby/object:Gem::Requirement
310
254
  requirements:
311
- - - "~>"
255
+ - - ">="
312
256
  - !ruby/object:Gem::Version
313
- version: '2.0'
314
- type: :development
257
+ version: 0.5.0
258
+ type: :runtime
315
259
  prerelease: false
316
260
  version_requirements: !ruby/object:Gem::Requirement
317
261
  requirements:
318
- - - "~>"
262
+ - - ">="
319
263
  - !ruby/object:Gem::Version
320
- version: '2.0'
264
+ version: 0.5.0
321
265
  description: Automatically generates tests for your Puppet code
322
266
  email:
323
267
  - dylan.ratcliffe@puppet.com
@@ -355,6 +299,7 @@ files:
355
299
  - factsets/Ubuntu-12.04-64.json
356
300
  - factsets/Ubuntu-14.04-32.json
357
301
  - factsets/Ubuntu-14.04-64.json
302
+ - factsets/Ubuntu-18.04-64.json
358
303
  - factsets/Windows_Server-2008r2-64.json
359
304
  - factsets/Windows_Server-2012r2-64.json
360
305
  - factsets/solaris-10_u9-sparc-64.json
@@ -365,7 +310,6 @@ files:
365
310
  - features/formatting.feature
366
311
  - features/help.feature
367
312
  - features/init.feature
368
- - features/run.feature
369
313
  - features/show.feature
370
314
  - features/step_definitions/cache.rb
371
315
  - features/step_definitions/common.rb
@@ -376,6 +320,8 @@ files:
376
320
  - features/support/command_helper.rb
377
321
  - features/support/controlrepo_helper.rb
378
322
  - features/support/env.rb
323
+ - features/windows.feature
324
+ - features/zzz_run.feature
379
325
  - lib/onceover/beaker.rb
380
326
  - lib/onceover/beaker/spec_helper.rb
381
327
  - lib/onceover/class.rb
@@ -425,6 +371,7 @@ files:
425
371
  - spec/fixtures/controlrepos/caching/spec/onceover.yaml
426
372
  - spec/fixtures/controlrepos/caching/spec/pre_conditions/README.md
427
373
  - spec/fixtures/controlrepos/caching/spec/pre_conditions/escaping.pp
374
+ - spec/fixtures/controlrepos/caching/spec/r10k.yaml
428
375
  - spec/fixtures/controlrepos/control_branch/Puppetfile
429
376
  - spec/fixtures/controlrepos/control_branch/environment.conf
430
377
  - spec/fixtures/controlrepos/factsets/environment.conf
@@ -443,6 +390,15 @@ files:
443
390
  - spec/fixtures/controlrepos/function_mocking/site/role/manifests/test_new_functions.pp
444
391
  - spec/fixtures/controlrepos/function_mocking/spec/onceover.yaml
445
392
  - spec/fixtures/controlrepos/minimal/environment.conf
393
+ - spec/fixtures/controlrepos/windows/Gemfile
394
+ - spec/fixtures/controlrepos/windows/Puppetfile
395
+ - spec/fixtures/controlrepos/windows/environment.conf
396
+ - spec/fixtures/controlrepos/windows/site-modules/role/manifests/acl.pp
397
+ - spec/fixtures/controlrepos/windows/site-modules/role/manifests/groups.pp
398
+ - spec/fixtures/controlrepos/windows/site-modules/role/manifests/users.pp
399
+ - spec/fixtures/controlrepos/windows/site/role/manifests/groups.pp
400
+ - spec/fixtures/controlrepos/windows/site/role/manifests/users.pp
401
+ - spec/fixtures/controlrepos/windows/spec/onceover.yaml
446
402
  - spec/onceover/controlrepo_spec.rb
447
403
  - spec/spec_helper.rb
448
404
  - templates/.fixtures.yml.erb
@@ -462,7 +418,7 @@ homepage: https://github.com/dylanratcliffe/onceover
462
418
  licenses:
463
419
  - Apache-2.0
464
420
  metadata: {}
465
- post_install_message:
421
+ post_install_message:
466
422
  rdoc_options: []
467
423
  require_paths:
468
424
  - lib
@@ -477,8 +433,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
477
433
  - !ruby/object:Gem::Version
478
434
  version: '0'
479
435
  requirements: []
480
- rubygems_version: 3.0.3
481
- signing_key:
436
+ rubyforge_project:
437
+ rubygems_version: 2.7.6.2
438
+ signing_key:
482
439
  specification_version: 4
483
440
  summary: Testing tools for Puppet controlrepos
484
441
  test_files: []