onceover 3.2.7 → 3.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6258620982ccd165a8b28db772919db88228298f
4
- data.tar.gz: a605dc65458a48fe892558a350d08f69c1478ac3
3
+ metadata.gz: b2c62563cf5b896213394193150a990cceaa671c
4
+ data.tar.gz: 6872e6d67a0f3863745e5713ca33611f03978afa
5
5
  SHA512:
6
- metadata.gz: 6de5b5c139e1b6a931dfa34f748967c69d54866d3ddce13b2a7e77f6ccc203cde527f8d6ed6bef4002eb83b9c458cda3b61f38e5f569ca5c319f1a7e0d9856ec
7
- data.tar.gz: c4671a56297178b4d61c9f49984b86cc3a7ab3c2302e77528685d62fc9b19c482885c781e60f2e2e3cba01db5115f5e610e8c5090ee35da4440bdaeb1471875b
6
+ metadata.gz: 4816f05bf7055452336ff743b177feffdb8b3d75bda749b148b85edd63655c82a9d3348e1f3c36469538dbc33f581f8d8e45910bb74ceb5a085e6a799c34f745
7
+ data.tar.gz: '0883183e90d99f4ae800bbc8b843edb2202b9e744f88a053fdbabffe92ecb27a3c9ec65bcaee273c026230d5d252b175828f3a33a4a22353bb71115adae4f6f7'
data/README.md CHANGED
@@ -439,11 +439,14 @@ Here we are specifying custom commands to run for starting, stopping and checkin
439
439
 
440
440
  ### Plugins
441
441
 
442
- Onceover now allows for plugins. The framework is extremely simple and basically relies on the plugins to monkey-patch themselves in. It will likely be improved in future. To create a plugin simply install a gem with a name that starts with `onceover-` and onceover will `require` it. Once it has been required it is up to the plugin to insert itself wherever it is required.
442
+ Onceover now allows for plugins. To use a plugin simply install a gem with a name that starts with `onceover-` and onceover will activate it.
443
443
 
444
- Examples:
444
+ Useful plugins:
445
445
 
446
- - [onceover-octocatalog-diff](https://github.com/dylanratcliffe/onceover-octocatalog-diff)
446
+ - [onceover-codequality](https://github.com/declarativesystems/onceover-codequality) _Check lint and syntax_
447
+ - [onceover-octocatalog-diff](https://github.com/dylanratcliffe/onceover-octocatalog-diff) _See the differences between two versions of a catalog_
448
+
449
+ If you want to write your own plugin, take a look at [onceover-helloworld](https://github.com/declarativesystems/onceover-helloworld) to help you get started.
447
450
 
448
451
  ### Inspecting and updating the Puppetfile
449
452
 
@@ -576,7 +579,7 @@ repo.role_regex = /.*/ # Tells the class how to find roles, will be applied to r
576
579
  repo.profile_regex = /.*/ # Tells the class how to find profiles, will be applied to repo.classes
577
580
  ```
578
581
 
579
- Note that you will need to call the `roles` and `profiles` methods on the object you just instantiated, not the main class e.g. `repo.roles` not Onceover::Controlrepo.roles`
582
+ Note that you will need to call the `roles` and `profiles` methods on the object you just instantiated, not the main class e.g. `repo.roles` not Onceover::Controlrepo.roles
580
583
 
581
584
  ### Rake tasks
582
585
 
@@ -654,4 +657,3 @@ Cheers to all of those who helped out:
654
657
  - natemccurdy
655
658
  - aardvark
656
659
  - Mandos
657
-
@@ -1,4 +1,4 @@
1
- Feature: Run basic function of Onceover
1
+ Feature: Get help about Onceover's features, commands and commands' parameters
2
2
  I would like to use executable file to run Onceover and read help
3
3
 
4
4
  Background:
@@ -0,0 +1,19 @@
1
+ Feature: Run rspec and acceptance test suits
2
+ Onceover should allow to run rspec and acceptance test for all profvile and role classes
3
+ or for any part of them. Use should set if he wants to see only summary of tests or full
4
+ log info.
5
+
6
+ Background:
7
+ Given onceover executable
8
+
9
+ Scenario: Run correct spec tests
10
+ Given initialized control repo "controlrepo_basic"
11
+ When I run onceover command "run spec"
12
+ Then I should not see any errors
13
+
14
+ Scenario: Run spec tests with misspelled module in Puppetfile
15
+ Given initialized control repo "controlrepo_basic"
16
+ And in Puppetfile is misspelled module's name
17
+ When I run onceover command "run spec"
18
+ Then I should see error with message pattern "The module acme-not_exists does not exist"
19
+
@@ -1,22 +1,23 @@
1
1
  Given /^onceover executable$/ do
2
- @cmd = Command.new
2
+ @cmd = Command_Helper.new
3
3
  end
4
4
 
5
5
  Given(/^control repo "([^"]*)"$/) do |controlrepo_name|
6
- @cmd.controlrepo = controlrepo_name
7
- FileUtils.rm_rf "tmp/tests/#{controlrepo_name}"
8
- FileUtils.mkdir_p 'tmp/tests'
9
- FileUtils.cp_r "spec/fixtures/#{controlrepo_name}", 'tmp/tests'
6
+ @repo = ControlRepo_Helper.new( controlrepo_name )
7
+ @cmd.controlrepo = @repo
8
+ FileUtils.rm_rf @repo.root_folder
9
+ FileUtils.mkdir_p 'tmp'
10
+ FileUtils.cp_r "spec/fixtures/#{controlrepo_name}", 'tmp'
10
11
  end
11
12
 
12
- Given(/^control repo "([^"]*)" without "([^"]*)"$/) do |controlrepo_name, filename|
13
+ Given(/^initialized control repo "([^"]*)"$/) do |controlrepo_name|
13
14
  step %Q(control repo "#{controlrepo_name}")
14
- controlrepo_path = "tmp/tests/#{controlrepo_name}"
15
- FileUtils.rm_rf( controlrepo_path + "/#{filename}" )
15
+ step %Q(I run onceover command "init")
16
16
  end
17
17
 
18
- Then(/^I should see all tests pass$/) do
19
- pending # Write code here that turns the phrase above into concrete actions
18
+ Given(/^control repo "([^"]*)" without "([^"]*)"$/) do |controlrepo_name, filename|
19
+ step %Q(control repo "#{controlrepo_name}")
20
+ FileUtils.rm_rf "#{@repo.root_folder}/#{filename}"
20
21
  end
21
22
 
22
23
  When /^I run onceover command "([^"]*)"$/ do |command|
@@ -44,17 +45,6 @@ Then(/^I should see error with message pattern "([^"]*)"$/) do |err_msg_regexp|
44
45
  expect(@cmd.output.match err_msg_regexp).to_not be nil
45
46
  end
46
47
 
47
- Then(/^I should see generated all necessary files and folders$/) do
48
- controlrepo_path = "tmp/tests/controlrepo_basic/"
49
- files = [ 'spec/onceover.yaml', 'Rakefile', 'Gemfile' ].map { |x| controlrepo_path + x }
50
- folders = [ 'spec/factsets', 'spec/pre_conditions'].map! { |x| controlrepo_path + x}
51
-
52
- files.each do |file|
53
- puts file
54
- expect( File.exist? file ).to be true
55
- end
56
- folders.each do |folder|
57
- puts folder
58
- expect( Dir.exist? folder ).to be true
59
- end
48
+ Given(/^in Puppetfile is misspelled module's name$/) do
49
+ @repo.add_line_to_puppetfile %Q(mod "acme/not_exists", "7.7.7")
60
50
  end
@@ -0,0 +1,13 @@
1
+ Then(/^I should see generated all necessary files and folders$/) do
2
+ files = [ 'spec/onceover.yaml', 'Rakefile', 'Gemfile' ].map { |x| @repo.root_folder + x }
3
+ folders = [ 'spec/factsets', 'spec/pre_conditions'].map! { |x| @repo.root_folder + x}
4
+
5
+ files.each do |file|
6
+ puts file
7
+ expect( File.exist? file ).to be true
8
+ end
9
+ folders.each do |folder|
10
+ puts folder
11
+ expect( Dir.exist? folder ).to be true
12
+ end
13
+ end
@@ -1,6 +1,6 @@
1
1
  require "open3"
2
2
 
3
- class Command
3
+ class Command_Helper
4
4
 
5
5
  attr_reader(:output, :result)
6
6
 
@@ -11,18 +11,20 @@ class Command
11
11
  end
12
12
 
13
13
  def run
14
- controlrepo_param = @controlrepo ? "--path tmp/tests/#{@controlrepo}" : ''
15
- full_cmd = "#{@executable} #{@command} #{controlrepo_param}"
16
- @output, @result = Open3.capture2e full_cmd
14
+ @output, @result = Open3.capture2e generate_command
17
15
  end
18
16
 
19
17
  def success?
20
18
  return @result.success?
21
19
  end
22
20
 
23
- def to_s
24
- controlrepo_param = @controlrepo ? "--path tmp/tests/#{@controlrepo}" : ''
21
+ def generate_command
22
+ controlrepo_param = @controlrepo ? "--path #{@controlrepo.root_folder}" : ''
25
23
  return "#{@executable} #{@command} #{controlrepo_param}"
26
24
  end
27
25
 
26
+ def to_s
27
+ return generate_command
28
+ end
29
+
28
30
  end
@@ -0,0 +1,16 @@
1
+ class ControlRepo_Helper
2
+
3
+ def initialize( name )
4
+ @name = name
5
+ @tmp_folder = 'tmp/'
6
+ end
7
+
8
+ def root_folder
9
+ return @tmp_folder + @name + '/'
10
+ end
11
+
12
+ def add_line_to_puppetfile( line )
13
+ open(root_folder + 'Puppetfile', 'a') { |f| f.puts line }
14
+ end
15
+
16
+ end
@@ -147,7 +147,7 @@ class Onceover
147
147
 
148
148
  def pre_condition
149
149
  # Read all the pre_conditions and return the string
150
- spec_dir = Onceover::Controlrepo.new.spec_dir
150
+ spec_dir = Onceover::Controlrepo.new(@opts).spec_dir
151
151
  puppetcode = []
152
152
  Dir["#{spec_dir}/pre_conditions/*.pp"].each do |condition_file|
153
153
  logger.debug "Reading pre_conditions from #{condition_file}"
@@ -221,6 +221,7 @@ class Onceover
221
221
  install_cmd = "r10k puppetfile install --verbose --color --puppetfile #{repo.puppetfile}"
222
222
  logger.debug "Running #{install_cmd} from #{prod_dir}"
223
223
  system(install_cmd)
224
+ raise 'r10k could not install all required modules' unless $?.success?
224
225
  end
225
226
  else
226
227
  raise "#{repo.tempdir} is not a directory"
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "onceover"
6
- s.version = "3.2.7"
6
+ s.version = "3.2.8"
7
7
  s.authors = ["Dylan Ratcliffe"]
8
8
  s.email = ["dylan.ratcliffe@puppet.com"]
9
9
  s.homepage = "https://github.com/dylanratcliffe/onceover"
@@ -36,7 +36,7 @@ Gem::Specification.new do |s|
36
36
  s.add_runtime_dependency 'rspec_junit_formatter', '>= 0.2.0'
37
37
 
38
38
  # Development
39
- s.add_development_dependency 'rubocop', '~> 0.39.0'
39
+ s.add_development_dependency 'rubocop', '~> 0.49.0'
40
40
  s.add_development_dependency 'rubygems-tasks', '~> 0.2.0'
41
41
  s.add_development_dependency 'pry', '~> 0.10.0'
42
42
  s.add_development_dependency 'cucumber', '~> 2.0'
@@ -1,10 +1,10 @@
1
1
  forge "http://forge.puppetlabs.com"
2
+ #
3
+ # I want to download some modules to check if r10k feature in Onceover works correctly.
4
+ #
2
5
 
3
- # Modules from the Puppet Forge
4
6
  # Versions should be updated to be the latest at the time you start
5
- #mod "puppetlabs/inifile", '1.5.0'
6
- #mod "puppetlabs/stdlib", '4.11.0'
7
- #mod "puppetlabs/concat", '2.1.0'
7
+ mod "puppetlabs/stdlib", '4.11.0'
8
8
 
9
9
  # Modules from Git
10
10
  # Examples: https://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd#examples
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.2.7
4
+ version: 3.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dylan Ratcliffe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-04 00:00:00.000000000 Z
11
+ date: 2017-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -254,14 +254,14 @@ dependencies:
254
254
  requirements:
255
255
  - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: 0.39.0
257
+ version: 0.49.0
258
258
  type: :development
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: 0.39.0
264
+ version: 0.49.0
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: rubygems-tasks
267
267
  requirement: !ruby/object:Gem::Requirement
@@ -341,10 +341,13 @@ files:
341
341
  - factsets/Windows_Server-2012r2-64.json
342
342
  - factsets/solaris-10_u9-sparc-64.json
343
343
  - factsets/solaris-11.2-sparc-64.json
344
- - features/basic.feature
344
+ - features/help.feature
345
345
  - features/init.feature
346
- - features/step_definitions/command.rb
346
+ - features/run.feature
347
347
  - features/step_definitions/common.rb
348
+ - features/step_definitions/init.rb
349
+ - features/support/command_helper.rb
350
+ - features/support/controlrepo_helper.rb
348
351
  - features/support/env.rb
349
352
  - lib/onceover/beaker.rb
350
353
  - lib/onceover/beaker/spec_helper.rb