onceover 3.18.0 → 3.20.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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +2 -0
  3. data/.github/workflows/tests.yaml +40 -0
  4. data/.rubocop.yml +20 -2
  5. data/Gemfile +0 -13
  6. data/README.md +275 -113
  7. data/Rakefile +23 -6
  8. data/factsets/CentOS-8.3.2011-64.json +485 -0
  9. data/factsets/Debian-10.4-64.json +476 -0
  10. data/factsets/Debian-8.11-64.json +480 -0
  11. data/factsets/Debian-9.12-64.json +476 -0
  12. data/factsets/Ubuntu-20.04-64.json +504 -0
  13. data/factsets/Windows_Server-2008r2-64.json +184 -184
  14. data/factsets/Windows_Server-2012r2-64.json +165 -165
  15. data/factsets/windows-10-64.json +104 -104
  16. data/features/cache.feature +1 -1
  17. data/features/factsets.feature +33 -4
  18. data/features/step_definitions/cache.rb +4 -4
  19. data/features/step_definitions/common.rb +44 -10
  20. data/features/step_definitions/init.rb +2 -2
  21. data/features/windows.feature +5 -0
  22. data/features/zzz_run.feature +22 -3
  23. data/lib/onceover/controlrepo.rb +25 -16
  24. data/lib/onceover/deploy.rb +3 -1
  25. data/lib/onceover/group.rb +3 -1
  26. data/lib/onceover/node.rb +19 -2
  27. data/lib/onceover/rspec/formatters.rb +6 -1
  28. data/lib/onceover/runner.rb +5 -4
  29. data/lib/onceover/test.rb +3 -2
  30. data/lib/onceover/testconfig.rb +14 -5
  31. data/onceover.gemspec +5 -2
  32. data/spec/fixtures/controlrepos/basic/manifests_alternate/site.pp +2 -0
  33. data/spec/fixtures/controlrepos/caching/Puppetfile +17 -17
  34. data/spec/fixtures/controlrepos/caching/manifests/site.pp +1 -0
  35. data/spec/fixtures/controlrepos/caching/spec/factsets/Debian-10-facter-4.json +1091 -0
  36. data/spec/fixtures/controlrepos/caching/spec/onceover.yaml +13 -12
  37. data/spec/fixtures/controlrepos/custom_puppetfile/Puppetfile.custom +3 -0
  38. data/spec/fixtures/controlrepos/custom_puppetfile/environment.conf +7 -0
  39. data/spec/fixtures/controlrepos/factsets/site/role/manifests/trusted_extensions.pp +6 -0
  40. data/spec/fixtures/controlrepos/factsets/site/role/manifests/trusted_external.pp +6 -0
  41. data/spec/fixtures/controlrepos/factsets/spec/factsets/README.md +7 -0
  42. data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_notrusted.json +530 -0
  43. data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_extensions_nested.json +535 -0
  44. data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_extensions_top.json +533 -0
  45. data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_external_nested.json +537 -0
  46. data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_external_top.json +535 -0
  47. data/spec/fixtures/controlrepos/factsets/spec/factsets/centos_7_facter_4.json +706 -0
  48. data/spec/fixtures/controlrepos/windows/Puppetfile +6 -1
  49. data/spec/fixtures/controlrepos/windows/site-modules/role/manifests/choco.pp +9 -0
  50. data/templates/test_spec.rb.erb +5 -1
  51. metadata +85 -18
  52. data/.travis.yml +0 -19
  53. data/appveyor.yml +0 -38
@@ -1,3 +1,8 @@
1
1
  forge "http://forge.puppetlabs.com"
2
2
 
3
- mod 'puppetlabs-acl', '3.1.1'
3
+ mod 'puppetlabs-acl', '3.2.1'
4
+ mod 'puppetlabs-chocolatey', '5.2.0'
5
+ mod 'puppetlabs-stdlib', '6.5.0'
6
+ mod 'puppetlabs-powershell', '4.1.0'
7
+ mod 'puppetlabs-pwshlib', '0.6.3'
8
+ mod 'puppetlabs-registry', '3.2.0'
@@ -0,0 +1,9 @@
1
+ # Choco
2
+ class role::choco {
3
+ include ::chocolatey
4
+
5
+ package { 'winzip':
6
+ ensure => 'present',
7
+ provider => 'chocolatey',
8
+ }
9
+ }
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  <% test.classes.each do |cls| -%>
4
- describe "<%= cls.name %>" do
4
+ describe "<%= cls.name %>"<%= test.tags.map { |tag| ",#{tag}: true "}.join %> do
5
5
 
6
6
  <% test.nodes.each do |node| -%>
7
7
  context "using fact set <%= node.name %>" do
@@ -11,6 +11,10 @@ describe "<%= cls.name %>" do
11
11
  trusted_facts = <%= node.trusted_set %>
12
12
  let(:trusted_facts) { trusted_facts }
13
13
  <% end -%>
14
+ <% if node.trusted_external_set -%>
15
+ trusted_external_data = <%= node.trusted_external_set %>
16
+ let(:trusted_external_data) { trusted_external_data }
17
+ <% end -%>
14
18
  <% if @before_conditions -%>
15
19
  before :each do
16
20
  <% @before_conditions.each do |function| -%>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onceover
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.18.0
4
+ version: 3.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dylan Ratcliffe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2021-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backticks
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.0.0
69
- - !ruby/object:Gem::Dependency
70
- name: facter
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "<"
74
- - !ruby/object:Gem::Version
75
- version: 4.0.0
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "<"
81
- - !ruby/object:Gem::Version
82
- version: 4.0.0
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: git
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -262,6 +248,68 @@ dependencies:
262
248
  - - ">="
263
249
  - !ruby/object:Gem::Version
264
250
  version: 0.5.0
251
+ - !ruby/object:Gem::Dependency
252
+ name: cucumber
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '4.1'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '4.1'
265
+ - !ruby/object:Gem::Dependency
266
+ name: pry
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: 0.13.1
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: 0.13.1
279
+ - !ruby/object:Gem::Dependency
280
+ name: rubocop
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '1.6'
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: 1.6.1
289
+ type: :development
290
+ prerelease: false
291
+ version_requirements: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - "~>"
294
+ - !ruby/object:Gem::Version
295
+ version: '1.6'
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: 1.6.1
299
+ - !ruby/object:Gem::Dependency
300
+ name: rubygems-tasks
301
+ requirement: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - "~>"
304
+ - !ruby/object:Gem::Version
305
+ version: 0.2.5
306
+ type: :development
307
+ prerelease: false
308
+ version_requirements: !ruby/object:Gem::Requirement
309
+ requirements:
310
+ - - "~>"
311
+ - !ruby/object:Gem::Version
312
+ version: 0.2.5
265
313
  description: Automatically generates tests for your Puppet code
266
314
  email:
267
315
  - dylan.ratcliffe@puppet.com
@@ -270,14 +318,14 @@ executables:
270
318
  extensions: []
271
319
  extra_rdoc_files: []
272
320
  files:
321
+ - ".gitattributes"
322
+ - ".github/workflows/tests.yaml"
273
323
  - ".gitignore"
274
324
  - ".gitmodules"
275
325
  - ".rubocop.yml"
276
- - ".travis.yml"
277
326
  - Gemfile
278
327
  - README.md
279
328
  - Rakefile
280
- - appveyor.yml
281
329
  - bin/onceover
282
330
  - factsets/AIX-6.1-powerpc.json
283
331
  - factsets/AIX-7.1-powerpc.json
@@ -287,10 +335,14 @@ files:
287
335
  - factsets/CentOS-6.6-32.json
288
336
  - factsets/CentOS-6.6-64.json
289
337
  - factsets/CentOS-7.0-64.json
338
+ - factsets/CentOS-8.3.2011-64.json
339
+ - factsets/Debian-10.4-64.json
290
340
  - factsets/Debian-6.0.10-32.json
291
341
  - factsets/Debian-6.0.10-64.json
292
342
  - factsets/Debian-7.8-32.json
293
343
  - factsets/Debian-7.8-64.json
344
+ - factsets/Debian-8.11-64.json
345
+ - factsets/Debian-9.12-64.json
294
346
  - factsets/RHEL-6.7.json
295
347
  - factsets/RHEL-7.4.json
296
348
  - factsets/SLES-11.3-64.json
@@ -300,6 +352,7 @@ files:
300
352
  - factsets/Ubuntu-14.04-32.json
301
353
  - factsets/Ubuntu-14.04-64.json
302
354
  - factsets/Ubuntu-18.04-64.json
355
+ - factsets/Ubuntu-20.04-64.json
303
356
  - factsets/Windows_Server-2008r2-64.json
304
357
  - factsets/Windows_Server-2012r2-64.json
305
358
  - factsets/solaris-10_u9-sparc-64.json
@@ -347,6 +400,7 @@ files:
347
400
  - spec/fixtures/controlrepos/basic/hieradata/common.yaml
348
401
  - spec/fixtures/controlrepos/basic/hieradata/nodes/example-node.yaml
349
402
  - spec/fixtures/controlrepos/basic/manifests/site.pp
403
+ - spec/fixtures/controlrepos/basic/manifests_alternate/site.pp
350
404
  - spec/fixtures/controlrepos/basic/site/profile/manifests/base.pp
351
405
  - spec/fixtures/controlrepos/basic/site/profile/manifests/example.pp
352
406
  - spec/fixtures/controlrepos/basic/site/role/manifests/database_server.pp
@@ -367,6 +421,7 @@ files:
367
421
  - spec/fixtures/controlrepos/caching/site/role/manifests/database_server.pp
368
422
  - spec/fixtures/controlrepos/caching/site/role/manifests/example.pp
369
423
  - spec/fixtures/controlrepos/caching/site/role/manifests/webserver.pp
424
+ - spec/fixtures/controlrepos/caching/spec/factsets/Debian-10-facter-4.json
370
425
  - spec/fixtures/controlrepos/caching/spec/factsets/README.md
371
426
  - spec/fixtures/controlrepos/caching/spec/onceover.yaml
372
427
  - spec/fixtures/controlrepos/caching/spec/pre_conditions/README.md
@@ -374,9 +429,20 @@ files:
374
429
  - spec/fixtures/controlrepos/caching/spec/r10k.yaml
375
430
  - spec/fixtures/controlrepos/control_branch/Puppetfile
376
431
  - spec/fixtures/controlrepos/control_branch/environment.conf
432
+ - spec/fixtures/controlrepos/custom_puppetfile/Puppetfile.custom
433
+ - spec/fixtures/controlrepos/custom_puppetfile/environment.conf
377
434
  - spec/fixtures/controlrepos/factsets/environment.conf
378
435
  - spec/fixtures/controlrepos/factsets/site/profile/manifests/base.pp
379
436
  - spec/fixtures/controlrepos/factsets/site/role/manifests/example.pp
437
+ - spec/fixtures/controlrepos/factsets/site/role/manifests/trusted_extensions.pp
438
+ - spec/fixtures/controlrepos/factsets/site/role/manifests/trusted_external.pp
439
+ - spec/fixtures/controlrepos/factsets/spec/factsets/README.md
440
+ - spec/fixtures/controlrepos/factsets/spec/factsets/centos7_notrusted.json
441
+ - spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_extensions_nested.json
442
+ - spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_extensions_top.json
443
+ - spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_external_nested.json
444
+ - spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_external_top.json
445
+ - spec/fixtures/controlrepos/factsets/spec/factsets/centos_7_facter_4.json
380
446
  - spec/fixtures/controlrepos/factsets/spec/factsets/centos_with_env.json
381
447
  - spec/fixtures/controlrepos/function_mocking/.gitignore
382
448
  - spec/fixtures/controlrepos/function_mocking/Puppetfile
@@ -394,6 +460,7 @@ files:
394
460
  - spec/fixtures/controlrepos/windows/Puppetfile
395
461
  - spec/fixtures/controlrepos/windows/environment.conf
396
462
  - spec/fixtures/controlrepos/windows/site-modules/role/manifests/acl.pp
463
+ - spec/fixtures/controlrepos/windows/site-modules/role/manifests/choco.pp
397
464
  - spec/fixtures/controlrepos/windows/site-modules/role/manifests/groups.pp
398
465
  - spec/fixtures/controlrepos/windows/site-modules/role/manifests/users.pp
399
466
  - spec/fixtures/controlrepos/windows/site/role/manifests/groups.pp
data/.travis.yml DELETED
@@ -1,19 +0,0 @@
1
- language: ruby
2
-
3
- cache:
4
- bundler: true
5
- directories:
6
- - "spec/fixtures/puppet_controlrepo/.onceover" # Onceover cache
7
-
8
- script: bundle exec rake full_tests
9
- bundler_args: --path vendor/bundle
10
-
11
- matrix:
12
- include:
13
- # 2017.3 -> 2018.1
14
- - rvm: 2.4.4
15
- env: PUPPET_VERSION="~>5.0"
16
-
17
- # 2019.0 -> now
18
- - rvm: 2.5.7
19
- env: PUPPET_VERSION="~>6.0"
data/appveyor.yml DELETED
@@ -1,38 +0,0 @@
1
- ---
2
- image: Visual Studio 2017
3
-
4
- cache:
5
- - vendor/bundle
6
-
7
- branches:
8
- only:
9
- - master
10
-
11
- environment:
12
- matrix:
13
- - RUBY_VERSION: "24"
14
- - RUBY_VERSION: "24-x64"
15
- - RUBY_VERSION: "25"
16
- - RUBY_VERSION: "25-x64"
17
-
18
- # scripts that are called at very beginning, before repo cloning
19
- init:
20
- - ps: Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1 -Type DWord
21
-
22
- matrix:
23
- fast_finish: false
24
-
25
- install:
26
- - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
27
- - bundle config --local path vendor/bundle
28
- - bundle install
29
-
30
- build: "off"
31
-
32
- before_test:
33
- - ruby -v
34
- - gem -v
35
- - bundle -v
36
-
37
- test_script:
38
- - bundle exec rake full_tests