inspec 0.14.5 → 0.14.6
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -2
- data/lib/bundles/inspec-supermarket.rb +14 -0
- data/lib/bundles/inspec-supermarket/api.rb +8 -7
- data/lib/bundles/inspec-supermarket/cli.rb +15 -5
- data/lib/inspec/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22439c33205070f48e2e1f199f040ff3f4a50133
|
4
|
+
data.tar.gz: 12fb11787b0df75c7c3f275a5ee43bb19df94983
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b8fc567acb8bf86a1b9fa4ec40dab1ac50f596874cf26ed30e240612c2a32ad772e3b2166767ed4f9676aa966530bf114fb004187b6aa71dd5a436449c4ef28
|
7
|
+
data.tar.gz: 1e17444082f76b7c02a9590783a93c350ac12f6e039492737a3af54cd5c6f91c2a9530db2422241f971b175cbdb194bfd1903d8694c6d13dbb05ca7a81afd119
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,22 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [0.14.
|
4
|
-
[Full Changelog](https://github.com/chef/inspec/compare/v0.14.
|
3
|
+
## [0.14.6](https://github.com/chef/inspec/tree/0.14.6) (2016-03-01)
|
4
|
+
[Full Changelog](https://github.com/chef/inspec/compare/v0.14.5...0.14.6)
|
5
|
+
|
6
|
+
**Fixed bugs:**
|
7
|
+
|
8
|
+
- add missing supermarket loader [\#506](https://github.com/chef/inspec/pull/506) ([chris-rock](https://github.com/chris-rock))
|
9
|
+
|
10
|
+
**Merged pull requests:**
|
11
|
+
|
12
|
+
- Improve Supermarket CLI [\#508](https://github.com/chef/inspec/pull/508) ([alexpop](https://github.com/alexpop))
|
13
|
+
|
14
|
+
## [v0.14.5](https://github.com/chef/inspec/tree/v0.14.5) (2016-02-29)
|
15
|
+
[Full Changelog](https://github.com/chef/inspec/compare/v0.14.4...v0.14.5)
|
5
16
|
|
6
17
|
**Merged pull requests:**
|
7
18
|
|
19
|
+
- 0.14.5 [\#505](https://github.com/chef/inspec/pull/505) ([chris-rock](https://github.com/chris-rock))
|
8
20
|
- Fix license warning during gem build. [\#503](https://github.com/chef/inspec/pull/503) ([juliandunn](https://github.com/juliandunn))
|
9
21
|
|
10
22
|
## [v0.14.4](https://github.com/chef/inspec/tree/v0.14.4) (2016-02-26)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# author: Christoph Hartmann
|
3
|
+
# author: Dominik Richter
|
4
|
+
|
5
|
+
libdir = File.dirname(__FILE__)
|
6
|
+
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
|
7
|
+
|
8
|
+
module Supermarket
|
9
|
+
autoload :Configuration, 'inspec-supermarket/configuration'
|
10
|
+
autoload :API, 'inspec-supermarket/api'
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'inspec-supermarket/cli'
|
14
|
+
require 'inspec-supermarket/target'
|
@@ -18,7 +18,11 @@ module Supermarket
|
|
18
18
|
_success, data = get(url, { q: 'compliance_profile' })
|
19
19
|
if !data.nil?
|
20
20
|
profiles = JSON.parse(data)
|
21
|
-
profiles['items']
|
21
|
+
profiles['items'].map { |x|
|
22
|
+
m = %r{^#{Supermarket::API.supermarket_url}/api/v1/tools/(?<slug>[\w-]+)(/)?$}.match(x['tool'])
|
23
|
+
x['slug'] = m[:slug]
|
24
|
+
x
|
25
|
+
}
|
22
26
|
else
|
23
27
|
[]
|
24
28
|
end
|
@@ -34,15 +38,12 @@ module Supermarket
|
|
34
38
|
# displays profile infos
|
35
39
|
def self.info(profile)
|
36
40
|
_tool_owner, tool_name = profile_name("supermarket://#{profile}")
|
41
|
+
return if tool_name.nil? || tool_name.empty?
|
37
42
|
url = "#{SUPERMARKET_URL}/api/v1/tools/#{tool_name}"
|
38
43
|
_success, data = get(url, {})
|
39
|
-
if !data.nil?
|
40
|
-
JSON.parse(data)
|
41
|
-
else
|
42
|
-
{}
|
43
|
-
end
|
44
|
+
JSON.parse(data) if !data.nil?
|
44
45
|
rescue JSON::ParserError
|
45
|
-
|
46
|
+
nil
|
46
47
|
end
|
47
48
|
|
48
49
|
# compares a profile with the supermarket tool info
|
@@ -13,12 +13,11 @@ module Supermarket
|
|
13
13
|
|
14
14
|
headline('Available profiles:')
|
15
15
|
supermarket_profiles.each { |p|
|
16
|
-
|
17
|
-
li("#{p['tool_owner']}/#{m[:slug]}")
|
16
|
+
li("#{p['tool_owner']}/#{p['slug']}")
|
18
17
|
}
|
19
18
|
end
|
20
19
|
|
21
|
-
desc 'exec PROFILE', '
|
20
|
+
desc 'exec PROFILE', 'execute a Supermarket profile'
|
22
21
|
option :id, type: :string,
|
23
22
|
desc: 'Attach a profile ID to all test results'
|
24
23
|
target_options
|
@@ -32,10 +31,21 @@ module Supermarket
|
|
32
31
|
run_tests(tests, opts)
|
33
32
|
end
|
34
33
|
|
35
|
-
desc 'info
|
34
|
+
desc 'info PROFILE', 'display Supermarket profile details'
|
36
35
|
def info(profile)
|
37
|
-
|
36
|
+
# check that the profile is available
|
37
|
+
supermarket_profiles = Supermarket::API.profiles
|
38
|
+
found = supermarket_profiles.select { |p|
|
39
|
+
"#{p['tool_owner']}/#{p['slug']}" == profile
|
40
|
+
}
|
38
41
|
|
42
|
+
if found.length == 0
|
43
|
+
puts "#{mark_text(profile)} is not available on Supermarket"
|
44
|
+
return
|
45
|
+
end
|
46
|
+
|
47
|
+
# load details for the specific profile
|
48
|
+
info = Supermarket::API.info(profile)
|
39
49
|
puts "#{mark_text('name: ')} #{info['slug']}"
|
40
50
|
puts "#{mark_text('owner:')} #{info['owner']}"
|
41
51
|
puts "#{mark_text('url: ')} #{info['source_url']}"
|
data/lib/inspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominik Richter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: r-train
|
@@ -221,6 +221,7 @@ files:
|
|
221
221
|
- lib/bundles/inspec-init/templates/profile/controls/example.rb
|
222
222
|
- lib/bundles/inspec-init/templates/profile/inspec.yml
|
223
223
|
- lib/bundles/inspec-init/templates/profile/libraries/.gitkeep
|
224
|
+
- lib/bundles/inspec-supermarket.rb
|
224
225
|
- lib/bundles/inspec-supermarket/README.md
|
225
226
|
- lib/bundles/inspec-supermarket/api.rb
|
226
227
|
- lib/bundles/inspec-supermarket/cli.rb
|