inspec 0.14.8 → 0.15.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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -2
  3. data/bin/inspec +3 -4
  4. data/examples/inheritance/README.md +19 -0
  5. data/examples/inheritance/controls/example.rb +11 -0
  6. data/examples/inheritance/inspec.yml +10 -0
  7. data/lib/bundles/inspec-compliance/cli.rb +1 -4
  8. data/lib/bundles/inspec-supermarket/cli.rb +1 -4
  9. data/lib/inspec/dsl.rb +48 -55
  10. data/lib/inspec/profile.rb +6 -2
  11. data/lib/inspec/profile_context.rb +21 -8
  12. data/lib/inspec/runner.rb +17 -12
  13. data/lib/inspec/runner_rspec.rb +1 -0
  14. data/lib/inspec/version.rb +1 -1
  15. data/lib/resources/apache.rb +20 -18
  16. data/lib/resources/apache_conf.rb +92 -90
  17. data/lib/resources/apt.rb +92 -90
  18. data/lib/resources/audit_policy.rb +35 -33
  19. data/lib/resources/auditd_conf.rb +41 -39
  20. data/lib/resources/auditd_rules.rb +155 -153
  21. data/lib/resources/bond.rb +1 -1
  22. data/lib/resources/bridge.rb +97 -95
  23. data/lib/resources/command.rb +47 -45
  24. data/lib/resources/csv.rb +23 -21
  25. data/lib/resources/directory.rb +1 -1
  26. data/lib/resources/etc_group.rb +116 -114
  27. data/lib/resources/file.rb +1 -1
  28. data/lib/resources/gem.rb +39 -37
  29. data/lib/resources/group.rb +100 -98
  30. data/lib/resources/host.rb +103 -101
  31. data/lib/resources/inetd_conf.rb +42 -40
  32. data/lib/resources/ini.rb +15 -13
  33. data/lib/resources/interface.rb +106 -104
  34. data/lib/resources/iptables.rb +36 -34
  35. data/lib/resources/json.rb +64 -62
  36. data/lib/resources/kernel_module.rb +30 -28
  37. data/lib/resources/kernel_parameter.rb +44 -42
  38. data/lib/resources/limits_conf.rb +41 -39
  39. data/lib/resources/login_def.rb +38 -36
  40. data/lib/resources/mount.rb +43 -41
  41. data/lib/resources/mysql.rb +67 -65
  42. data/lib/resources/mysql_conf.rb +89 -87
  43. data/lib/resources/mysql_session.rb +46 -44
  44. data/lib/resources/npm.rb +35 -33
  45. data/lib/resources/ntp_conf.rb +44 -42
  46. data/lib/resources/oneget.rb +46 -44
  47. data/lib/resources/os.rb +22 -20
  48. data/lib/resources/os_env.rb +47 -45
  49. data/lib/resources/package.rb +213 -211
  50. data/lib/resources/parse_config.rb +59 -57
  51. data/lib/resources/passwd.rb +89 -87
  52. data/lib/resources/pip.rb +60 -58
  53. data/lib/resources/port.rb +352 -350
  54. data/lib/resources/postgres.rb +26 -24
  55. data/lib/resources/postgres_conf.rb +66 -64
  56. data/lib/resources/postgres_session.rb +47 -45
  57. data/lib/resources/processes.rb +56 -54
  58. data/lib/resources/registry_key.rb +150 -148
  59. data/lib/resources/script.rb +30 -28
  60. data/lib/resources/security_policy.rb +56 -54
  61. data/lib/resources/service.rb +638 -636
  62. data/lib/resources/shadow.rb +98 -96
  63. data/lib/resources/ssh_conf.rb +58 -56
  64. data/lib/resources/user.rb +363 -361
  65. data/lib/resources/windows_feature.rb +46 -44
  66. data/lib/resources/xinetd.rb +111 -109
  67. data/lib/resources/yaml.rb +16 -14
  68. data/lib/resources/yum.rb +107 -105
  69. data/lib/utils/base_cli.rb +18 -0
  70. data/test/helper.rb +2 -2
  71. data/test/unit/profile_context_test.rb +1 -1
  72. data/test/unit/resources/file_test.rb +1 -1
  73. data/test/unit/resources/mount_test.rb +1 -1
  74. metadata +5 -2
@@ -39,6 +39,24 @@ module Inspec
39
39
  desc: 'Set the log level: info (default), debug, warn, error'
40
40
  end
41
41
 
42
+ def self.profile_options
43
+ option :profiles_path, type: :string,
44
+ desc: 'Folder which contains referenced profiles.'
45
+ end
46
+
47
+ def self.exec_options
48
+ option :id, type: :string,
49
+ desc: 'Attach a profile ID to all test results'
50
+ target_options
51
+ profile_options
52
+ option :controls, type: :array,
53
+ desc: 'A list of controls to run. Ignore all other tests.'
54
+ option :format, type: :string,
55
+ desc: 'Which formatter to use: progress, documentation, json'
56
+ option :color, type: :boolean, default: true,
57
+ desc: 'Use colors in output.'
58
+ end
59
+
42
60
  private
43
61
 
44
62
  # helper method to run tests
data/test/helper.rb CHANGED
@@ -136,7 +136,7 @@ class MockLoader
136
136
  '$Env:PATH' => cmd.call('$env-PATH'),
137
137
  # registry key test (winrm 1.6.0, 1.6.1)
138
138
  '2790db1e88204a073ed7fd3493f5445e5ce531afd0d2724a0e36c17110c535e6' => cmd.call('reg_schedule'),
139
- 'b00eb49a98c96a808c469e4894b5123a913e354c9ffea5b785898fe30d288ee0' => cmd.call('reg_schedule'),
139
+ '25a1a38fafc289a646d30f7aa966ce0901c267798f47abf2f9440e27d31a5b7d' => cmd.call('reg_schedule'),
140
140
  'Auditpol /get /subcategory:\'User Account Management\' /r' => cmd.call('auditpol'),
141
141
  '/sbin/auditctl -l' => cmd.call('auditctl'),
142
142
  '/sbin/auditctl -s' => cmd.call('auditctl-s'),
@@ -196,7 +196,7 @@ class MockLoader
196
196
  'pw usershow root -7' => cmd.call('pw-usershow-root-7'),
197
197
  # user info for windows (winrm 1.6.0, 1.6.1)
198
198
  '650b6b72a66316418b25421a54afe21a230704558082914c54711904bb10e370' => cmd.call('GetUserAccount'),
199
- '272e1d767fe6e28c86cfba1a75c3d458acade1f4a36cfd5e711b97884879de24' => cmd.call('GetUserAccount'),
199
+ '174686f0441b8dd387b35cf1cbeed3f98441544351de5d8fb7b54f655e75583f' => cmd.call('GetUserAccount'),
200
200
  # group info for windows
201
201
  'Get-WmiObject Win32_Group | Select-Object -Property Caption, Domain, Name, SID, LocalAccount | ConvertTo-Json' => cmd.call('GetWin32Group'),
202
202
  # network interface
@@ -53,7 +53,7 @@ end
53
53
 
54
54
  describe Inspec::ProfileContext do
55
55
  let(:backend) { MockLoader.new.backend }
56
- let(:profile) { Inspec::ProfileContext.new(nil, backend) }
56
+ let(:profile) { Inspec::ProfileContext.new(nil, backend, {}) }
57
57
 
58
58
  def get_rule
59
59
  profile.rules.values[0]
@@ -18,7 +18,7 @@ def shared_file_permission_tests(method_under_test)
18
18
  end
19
19
  end
20
20
 
21
- describe Inspec::Resources::File do
21
+ describe Inspec::Resources::FileResource do
22
22
  let(:resource) { load_resource('file', '/fakepath/fakefile') }
23
23
 
24
24
  describe '#readable?' do
@@ -5,7 +5,7 @@
5
5
  require 'helper'
6
6
  require 'inspec/resource'
7
7
 
8
- describe Inspec::Resources::File do
8
+ describe Inspec::Resources::FileResource do
9
9
  let(:root_resource) { load_resource('mount', '/') }
10
10
 
11
11
  it 'parses the mount data properly' do
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.8
4
+ version: 0.15.0
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-03-04 00:00:00.000000000 Z
11
+ date: 2016-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: r-train
@@ -180,6 +180,9 @@ files:
180
180
  - docs/resources.rst
181
181
  - docs/template.rst
182
182
  - examples/README.md
183
+ - examples/inheritance/README.md
184
+ - examples/inheritance/controls/example.rb
185
+ - examples/inheritance/inspec.yml
183
186
  - examples/kitchen-ansible/.kitchen.yml
184
187
  - examples/kitchen-ansible/Gemfile
185
188
  - examples/kitchen-ansible/README.md