kitchen-inspec 0.12.2 → 0.12.3

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: f5c205981fa067930db6f32fa9038b3cbd22306b
4
- data.tar.gz: eff8057266d33846f3be2b81aaf896c794097626
3
+ metadata.gz: 53592f31d694833c8ec54b52da1b9edcedc434fb
4
+ data.tar.gz: 0a45afd98cb39ea8d8fcd0e76c9821417ed1baa4
5
5
  SHA512:
6
- metadata.gz: 498a7161543996869d7b7d986c208de90897db6d92ceb4df1432507299d8520505a2df6251fde3e8fad08335da3da1cf22754707c114b7a21c506a91eb0cb47c
7
- data.tar.gz: 25f501ab3f3c5cf0a25b53256d3a4b85275c3cd641f516fba60b13e2dfbefae16cf8d0d5e4a5d2822c8ffa18edac8bfa81092d1b5c0ac2b890a30ff25ee4099a
6
+ metadata.gz: 2938df465da317ef4e510ff121e93dd2e51e128bcdb521c5ec5e9b4bf99307edb0bc45057bd3a32d7e2e622d288d4a31c386e8ba758e9a73bebddc51bd873bb2
7
+ data.tar.gz: af817b0781737a49dc941a7561e0580934bcef98d3db2670c936ee55e189bb5d6e3cd6d6464f7a42d4fc4062ca275d4cdb58c1e4886e292f7cf59afb208dee52
data/.kitchen.yml CHANGED
@@ -21,12 +21,11 @@ suites:
21
21
  - name: default
22
22
  run_list:
23
23
  - recipe[os_prepare]
24
- attributes:
25
24
  - name: profile
26
25
  run_list:
27
26
  - recipe[os_prepare]
28
- attributes:
29
27
  - name: contains_inspec
30
28
  run_list:
31
29
  - recipe[os_prepare]
32
- attributes:
30
+ inspec_tests:
31
+ - https://github.com/nathenharvey/tmp_compliance_profile
data/CHANGELOG.md CHANGED
@@ -1,7 +1,20 @@
1
1
  # Change Log
2
2
 
3
- ## [0.12.2](https://github.com/chef/kitchen-inspec/tree/0.12.2) (2016-02-22)
4
- [Full Changelog](https://github.com/chef/kitchen-inspec/compare/v0.12.1...0.12.2)
3
+ ## [0.12.3](https://github.com/chef/kitchen-inspec/tree/0.12.3) (2016-03-01)
4
+ [Full Changelog](https://github.com/chef/kitchen-inspec/compare/v0.12.2...0.12.3)
5
+
6
+ **Implemented enhancements:**
7
+
8
+ - fix gem build license warning [\#59](https://github.com/chef/kitchen-inspec/pull/59) ([chris-rock](https://github.com/chris-rock))
9
+ - Add support for remote profiles [\#51](https://github.com/chef/kitchen-inspec/pull/51) ([chris-rock](https://github.com/chris-rock))
10
+
11
+ **Merged pull requests:**
12
+
13
+ - add test-kitchen 1.6 as dependency [\#60](https://github.com/chef/kitchen-inspec/pull/60) ([chris-rock](https://github.com/chris-rock))
14
+ - Bump berks requirement to latest [\#58](https://github.com/chef/kitchen-inspec/pull/58) ([jkeiser](https://github.com/jkeiser))
15
+
16
+ ## [v0.12.2](https://github.com/chef/kitchen-inspec/tree/v0.12.2) (2016-02-22)
17
+ [Full Changelog](https://github.com/chef/kitchen-inspec/compare/v0.12.1...v0.12.2)
5
18
 
6
19
  **Fixed bugs:**
7
20
 
data/Gemfile CHANGED
@@ -14,7 +14,6 @@ group :test do
14
14
  gem 'rubocop', '~> 0.32'
15
15
  gem 'concurrent-ruby', '~> 0.9'
16
16
  gem 'codeclimate-test-reporter', :require => nil
17
- gem 'test-kitchen', git: 'https://github.com/test-kitchen/test-kitchen.git', branch: 'master'
18
17
  end
19
18
 
20
19
  # pin dependency for Ruby 1.9.3 since bundler is not
@@ -24,11 +23,11 @@ if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new('1.9.3')
24
23
  end
25
24
 
26
25
  group :integration do
27
- gem 'berkshelf'
26
+ gem 'berkshelf', '>= 4.2.3'
28
27
  gem 'kitchen-dokken'
29
28
  end
30
29
 
31
30
  group :tools do
32
31
  gem 'pry', '~> 0.10'
33
- gem 'github_changelog_generator', '~> 1'
32
+ gem 'github_changelog_generator', '1.11.3'
34
33
  end
@@ -7,7 +7,7 @@ require 'English'
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = 'kitchen-inspec'
9
9
  spec.version = Kitchen::Verifier::INSPEC_VERSION
10
- spec.license = 'Apache 2.0'
10
+ spec.license = 'Apache-2.0'
11
11
  spec.authors = ['Fletcher Nichol']
12
12
  spec.email = ['fnichol@chef.io']
13
13
 
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
  spec.add_dependency 'inspec', '~> 0.14.1'
24
+ spec.add_dependency 'test-kitchen', '~> 1.6'
24
25
  spec.add_development_dependency 'countloc', '~> 0.4'
25
26
  spec.add_development_dependency 'bundler', '~> 1.10'
26
27
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -26,6 +26,31 @@ require 'uri'
26
26
  require 'pathname'
27
27
 
28
28
  module Kitchen
29
+ # monkey patch test-kitchen to get the suite information within this verifier,
30
+ # since test-kitchen does not allow a proper hook
31
+ class DataMunger
32
+ # save reference to olf method
33
+ alias_method :original_verifier_data_for, :verifier_data_for
34
+
35
+ def verifier_data_for(suite, platform)
36
+ # filter current suite and extract `inspec_tests` and move it to verifier
37
+ data.fetch(:suites, []).select { |f| f[:name] == suite }.each do |suite_data|
38
+ move_data_to!(:verifier, suite_data, :inspec_tests)
39
+ end
40
+
41
+ # run original behaviour
42
+ original_verifier_data_for(suite, platform)
43
+ end
44
+
45
+ # TODO: remove, once https://github.com/test-kitchen/test-kitchen/pull/955 is merged
46
+ def move_data_to!(to, root, key)
47
+ return unless root.key?(key)
48
+ pdata = root.fetch(to, {})
49
+ pdata = { name: pdata } if pdata.is_a?(String)
50
+ root[to] = pdata.rmerge(key => root.delete(key)) if !root.fetch(key, nil).nil?
51
+ end
52
+ end
53
+
29
54
  module Verifier
30
55
  # InSpec verifier for Kitchen.
31
56
  #
@@ -34,9 +59,11 @@ module Kitchen
34
59
  kitchen_verifier_api_version 1
35
60
  plugin_version Kitchen::Verifier::INSPEC_VERSION
36
61
 
62
+ default_config :inspec_tests, []
63
+
37
64
  # (see Base#call)
38
65
  def call(state)
39
- tests = local_suite_files
66
+ tests = collect_tests
40
67
 
41
68
  opts = runner_options(instance.transport, state)
42
69
  runner = ::Inspec::Runner.new(opts)
@@ -63,7 +90,7 @@ module Kitchen
63
90
  # - test/integration
64
91
  # - test/integration/inspec (prefered if used with other test environments)
65
92
  #
66
- # @return [Array<String>] array of suite files
93
+ # @return [Array<String>] array of suite directories
67
94
  # @api private
68
95
  def local_suite_files
69
96
  base = File.join(config[:test_base_path], config[:suite_name])
@@ -83,6 +110,14 @@ module Kitchen
83
110
  [base]
84
111
  end
85
112
 
113
+ # Returns an array of test profiles
114
+ # @return [Array<String>] array of suite directories or remote urls
115
+ # @api private
116
+ def collect_tests
117
+ # get local tests and get run list of profiles
118
+ (local_suite_files + config[:inspec_tests]).compact
119
+ end
120
+
86
121
  # Returns a configuration Hash that can be passed to a `Inspec::Runner`.
87
122
  #
88
123
  # @return [Hash] a configuration hash of string-based keys
@@ -20,6 +20,6 @@
20
20
  module Kitchen
21
21
  module Verifier
22
22
  # Version string for InSpec Kitchen verifier
23
- INSPEC_VERSION = '0.12.2'
23
+ INSPEC_VERSION = '0.12.3'
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-inspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fletcher Nichol
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-22 00:00:00.000000000 Z
11
+ date: 2016-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inspec
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.14.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: test-kitchen
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: countloc
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -134,7 +148,7 @@ files:
134
148
  - lib/kitchen/verifier/inspec_version.rb
135
149
  homepage: http://github.com/chef/kitchen-inspec
136
150
  licenses:
137
- - Apache 2.0
151
+ - Apache-2.0
138
152
  metadata: {}
139
153
  post_install_message:
140
154
  rdoc_options: []