inspec 0.12.0 → 0.14.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +39 -2
- data/bin/inspec +11 -9
- data/docs/matchers.rst +129 -0
- data/docs/resources.rst +64 -37
- data/inspec.gemspec +1 -1
- data/lib/bundles/inspec-compliance/cli.rb +1 -1
- data/lib/bundles/inspec-compliance/configuration.rb +1 -0
- data/lib/bundles/inspec-compliance/target.rb +16 -32
- data/lib/bundles/inspec-init/cli.rb +2 -0
- data/lib/bundles/inspec-supermarket.rb +13 -0
- data/lib/bundles/inspec-supermarket/api.rb +2 -0
- data/lib/bundles/inspec-supermarket/cli.rb +2 -2
- data/lib/bundles/inspec-supermarket/target.rb +11 -15
- data/lib/fetchers/local.rb +31 -0
- data/lib/fetchers/tar.rb +48 -0
- data/lib/fetchers/url.rb +100 -0
- data/lib/fetchers/zip.rb +47 -0
- data/lib/inspec.rb +2 -3
- data/lib/inspec/fetcher.rb +22 -0
- data/lib/inspec/metadata.rb +4 -2
- data/lib/inspec/plugins.rb +2 -0
- data/lib/inspec/plugins/fetcher.rb +97 -0
- data/lib/inspec/plugins/source_reader.rb +36 -0
- data/lib/inspec/profile.rb +92 -81
- data/lib/inspec/resource.rb +1 -0
- data/lib/inspec/runner.rb +15 -35
- data/lib/inspec/source_reader.rb +32 -0
- data/lib/inspec/version.rb +1 -1
- data/lib/matchers/matchers.rb +5 -6
- data/lib/resources/file.rb +8 -2
- data/lib/resources/passwd.rb +71 -45
- data/lib/resources/service.rb +13 -9
- data/lib/resources/shadow.rb +135 -0
- data/lib/source_readers/flat.rb +38 -0
- data/lib/source_readers/inspec.rb +78 -0
- data/lib/utils/base_cli.rb +2 -2
- data/lib/utils/parser.rb +1 -1
- data/lib/utils/plugin_registry.rb +93 -0
- data/test/docker_test.rb +1 -1
- data/test/helper.rb +62 -2
- data/test/integration/cookbooks/os_prepare/recipes/service.rb +4 -2
- data/test/integration/test/integration/default/compare_matcher_spec.rb +11 -0
- data/test/integration/test/integration/default/service_spec.rb +16 -1
- data/test/unit/fetchers.rb +61 -0
- data/test/unit/fetchers/local_test.rb +67 -0
- data/test/unit/fetchers/tar_test.rb +36 -0
- data/test/unit/fetchers/url_test.rb +152 -0
- data/test/unit/fetchers/zip_test.rb +36 -0
- data/test/unit/mock/files/passwd +1 -1
- data/test/unit/mock/files/shadow +2 -0
- data/test/unit/mock/profiles/complete-profile/libraries/testlib.rb +1 -0
- data/test/unit/plugin_test.rb +0 -1
- data/test/unit/profile_test.rb +32 -53
- data/test/unit/resources/passwd_test.rb +69 -14
- data/test/unit/resources/shadow_test.rb +67 -0
- data/test/unit/source_reader_test.rb +17 -0
- data/test/unit/source_readers/flat_test.rb +61 -0
- data/test/unit/source_readers/inspec_test.rb +38 -0
- data/test/unit/utils/passwd_parser_test.rb +1 -1
- metadata +40 -21
- data/lib/inspec/targets.rb +0 -10
- data/lib/inspec/targets/archive.rb +0 -33
- data/lib/inspec/targets/core.rb +0 -56
- data/lib/inspec/targets/dir.rb +0 -144
- data/lib/inspec/targets/file.rb +0 -33
- data/lib/inspec/targets/folder.rb +0 -38
- data/lib/inspec/targets/tar.rb +0 -61
- data/lib/inspec/targets/url.rb +0 -78
- data/lib/inspec/targets/zip.rb +0 -55
- data/test/unit/targets.rb +0 -132
@@ -6,19 +6,74 @@ require 'helper'
|
|
6
6
|
require 'inspec/resource'
|
7
7
|
|
8
8
|
describe 'Inspec::Resources::Passwd' do
|
9
|
-
|
10
|
-
|
11
|
-
_(
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
9
|
+
let(:passwd) { load_resource('passwd') }
|
10
|
+
it 'retrieve users via field' do
|
11
|
+
_(passwd.users).must_equal %w{root www-data}
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'retrieve uids via field' do
|
15
|
+
_(passwd.uids).must_equal %w{0 33}
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'retrieve gids via field' do
|
19
|
+
_(passwd.gids).must_equal %w{0 133}
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'retrieve passwords via field' do
|
23
|
+
_(passwd.passwords).must_equal %w{x x}
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'retrieve login-shells via field' do
|
27
|
+
_(passwd.shells).must_equal %w{/bin/bash /bin/sh}
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'access all lines of the file' do
|
31
|
+
_(passwd.lines).must_equal %w{root:x:0:0:root:/root:/bin/bash www-data:x:33:133:www-data:/var/www:/bin/sh}
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'access all params of the file' do
|
35
|
+
_(passwd.params[1]).must_equal({"user"=>"www-data", "password"=>"x", "uid"=>"33", "gid"=>"133", "desc"=>"www-data", "home"=>"/var/www", "shell"=>"/bin/sh"})
|
36
|
+
end
|
37
|
+
|
38
|
+
describe 'filter by uid == 0' do
|
39
|
+
let(:child) { passwd.uids(0) }
|
40
|
+
it 'creates a new passwd instance' do
|
41
|
+
_(child.content).must_equal 'root:x:0:0:root:/root:/bin/bash'
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'prints a nice to_s string' do
|
45
|
+
_(child.to_s).must_equal '/etc/passwd with uid = "0"'
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'retrieves singular elements instead of arrays when filter has only one entry' do
|
49
|
+
_(child.users).must_equal ['root']
|
50
|
+
_(child.count).must_equal 1
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'filter via name =~ /^www/' do
|
55
|
+
let(:child) { passwd.users(/^www/) }
|
56
|
+
it 'filters by user via name (regex)' do
|
57
|
+
_(child.users).must_equal ['www-data']
|
58
|
+
_(child.count).must_equal 1
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'prints a nice to_s string' do
|
62
|
+
_(child.to_s).must_equal '/etc/passwd with user = /^www/'
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe 'deprecated calls' do
|
67
|
+
it 'retrieves a username via uid' do
|
68
|
+
_(passwd.uid(0).username).must_equal 'root'
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'retrieves a usercount via uid' do
|
72
|
+
_(passwd.uid(0).count).must_equal 1
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'retrieves usernames' do
|
76
|
+
_(passwd.usernames).must_equal ['root', 'www-data']
|
77
|
+
end
|
23
78
|
end
|
24
79
|
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# author: Dominik Richter
|
3
|
+
# author: Christoph Hartmann
|
4
|
+
|
5
|
+
require 'helper'
|
6
|
+
require 'inspec/resource'
|
7
|
+
|
8
|
+
describe 'Inspec::Resources::Shadow' do
|
9
|
+
let(:shadow) { load_resource('shadow') }
|
10
|
+
|
11
|
+
it 'retrieve users via field' do
|
12
|
+
_(shadow.users).must_equal %w{root www-data}
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'retrieve passwords via field' do
|
16
|
+
_(shadow.passwords).must_equal %w{x !!}
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'retrieve last password change via field' do
|
20
|
+
_(shadow.last_changes).must_equal %w{1 10}
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'retrieve min password days via field' do
|
24
|
+
_(shadow.min_days).must_equal %w{2 20}
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'retrieve max password days via field' do
|
28
|
+
_(shadow.max_days).must_equal %w{3 30}
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'retrieve warning days for password expiry via field' do
|
32
|
+
_(shadow.warn_days).must_equal [nil, "40"]
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'retrieve days before account is inactive via field' do
|
36
|
+
_(shadow.inactive_days).must_equal [nil, "50"]
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'retrieve dates when account will expire via field' do
|
40
|
+
_(shadow.expiry_dates).must_equal [nil, "60"]
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'access all lines of the file' do
|
44
|
+
_(shadow.lines[0]).must_equal 'root:x:1:2:3::::'
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'access all params of the file' do
|
48
|
+
_(shadow.params[0]).must_equal({
|
49
|
+
'user' => 'root', 'password' => 'x', 'last_change' => '1',
|
50
|
+
'min_days' => '2', 'max_days' => '3', 'warn_days' => nil,
|
51
|
+
'inactive_days' => nil, 'expiry_date' => nil, 'reserved' => nil,
|
52
|
+
})
|
53
|
+
end
|
54
|
+
|
55
|
+
describe 'filter via name =~ /^www/' do
|
56
|
+
let(:child) { shadow.users(/^www/) }
|
57
|
+
|
58
|
+
it 'filters by user via name (regex)' do
|
59
|
+
_(child.users).must_equal ['www-data']
|
60
|
+
_(child.count).must_equal 1
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'prints a nice to_s string' do
|
64
|
+
_(child.to_s).must_equal '/etc/shadow with user = /^www/'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# author: Dominik Richter
|
3
|
+
# author: Christoph Hartmann
|
4
|
+
|
5
|
+
require 'helper'
|
6
|
+
|
7
|
+
describe Inspec::SourceReader do
|
8
|
+
let(:reg) { Inspec::SourceReader }
|
9
|
+
|
10
|
+
it 'resolves nil-targets to nil' do
|
11
|
+
_(reg.resolve(nil)).must_be_nil
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'only supports Fetchers' do
|
15
|
+
proc { reg.resolve("not supported") }.must_raise StandardError
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# author: Dominik Richter
|
3
|
+
# author: Christoph Hartmann
|
4
|
+
|
5
|
+
require 'helper'
|
6
|
+
|
7
|
+
describe SourceReaders::Flat do
|
8
|
+
let(:reader) { SourceReaders::Flat }
|
9
|
+
|
10
|
+
it 'registers with the source readers registry' do
|
11
|
+
reg = Inspec::SourceReader.registry
|
12
|
+
_(reg['flat']).must_equal reader
|
13
|
+
end
|
14
|
+
|
15
|
+
describe 'with a flat file' do
|
16
|
+
let(:target) { Inspec::Fetcher.resolve(__FILE__) }
|
17
|
+
let(:res) { Inspec::SourceReader.resolve(target.relative_target) }
|
18
|
+
|
19
|
+
it 'resolves the target' do
|
20
|
+
_(res).must_be_kind_of reader
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'has no metadata' do
|
24
|
+
_(res.metadata.params).must_equal({})
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'retrieves all files' do
|
28
|
+
_(res.tests.keys).must_equal [File.basename(__FILE__)]
|
29
|
+
_(res.tests.values[0]).must_equal File.read(__FILE__)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'has no libraries' do
|
33
|
+
_(res.libraries).must_be_empty
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'with a flat folder' do
|
38
|
+
let(:target) { Inspec::Fetcher.resolve(File.dirname(__FILE__)) }
|
39
|
+
let(:res) { Inspec::SourceReader.resolve(target.relative_target) }
|
40
|
+
|
41
|
+
it 'resolves the target' do
|
42
|
+
_(res).must_be_kind_of reader
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'has no metadata' do
|
46
|
+
_(res.metadata.params).must_equal({})
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'retrieves all files' do
|
50
|
+
dir = File.dirname(__FILE__)
|
51
|
+
full_files = Dir[File.join(dir, '**')]
|
52
|
+
files = full_files.map { |x| x.sub(dir+'/', '') }
|
53
|
+
_(res.tests.keys).must_equal files
|
54
|
+
_(res.tests.values[0]).must_equal File.read(full_files[0])
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'has no libraries' do
|
58
|
+
_(res.libraries).must_be_empty
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# author: Dominik Richter
|
3
|
+
# author: Christoph Hartmann
|
4
|
+
|
5
|
+
require 'helper'
|
6
|
+
|
7
|
+
describe SourceReaders::InspecReader do
|
8
|
+
let(:reader) { SourceReaders::InspecReader }
|
9
|
+
|
10
|
+
it 'registers with the source readers registry' do
|
11
|
+
reg = Inspec::SourceReader.registry
|
12
|
+
_(reg['inspec']).must_equal reader
|
13
|
+
end
|
14
|
+
|
15
|
+
describe 'with a valid profile' do
|
16
|
+
let(:mock_file) { mock_file = MockLoader.profile_tgz('complete-profile') }
|
17
|
+
let(:target) { Inspec::Fetcher.resolve(mock_file) }
|
18
|
+
let(:res) { Inspec::SourceReader.resolve(target) }
|
19
|
+
|
20
|
+
it 'resolves the target to inspec' do
|
21
|
+
_(res).must_be_kind_of reader
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'retrieves metadata' do
|
25
|
+
_(res.metadata.params[:name]).must_equal 'complete'
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'retrieves all files' do
|
29
|
+
_(res.tests.keys).must_equal %w{controls/filesystem_spec.rb}
|
30
|
+
_(res.tests.values[0]).must_match /^control 'test01' do$/
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'retrieves all libraries' do
|
34
|
+
_(res.libraries.keys).must_equal %w{libraries/testlib.rb}
|
35
|
+
_(res.libraries.values[0]).must_match /^# Library resource$/
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
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.
|
4
|
+
version: 0.14.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-02-
|
11
|
+
date: 2016-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: r-train
|
@@ -16,20 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.9.6
|
19
|
+
version: '0.10'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0.
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 0.9.6
|
26
|
+
version: '0.10'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: thor
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,6 +174,7 @@ files:
|
|
180
174
|
- docs/dsl_inspec.rst
|
181
175
|
- docs/dsl_resource.rst
|
182
176
|
- docs/inspec_and_friends.rst
|
177
|
+
- docs/matchers.rst
|
183
178
|
- docs/profiles.rst
|
184
179
|
- docs/readme.rst
|
185
180
|
- docs/resources.rst
|
@@ -229,20 +224,28 @@ files:
|
|
229
224
|
- lib/bundles/inspec-init/templates/profile/controls/example.rb
|
230
225
|
- lib/bundles/inspec-init/templates/profile/inspec.yml
|
231
226
|
- lib/bundles/inspec-init/templates/profile/libraries/.gitkeep
|
227
|
+
- lib/bundles/inspec-supermarket.rb
|
232
228
|
- lib/bundles/inspec-supermarket/README.md
|
233
229
|
- lib/bundles/inspec-supermarket/api.rb
|
234
230
|
- lib/bundles/inspec-supermarket/cli.rb
|
235
231
|
- lib/bundles/inspec-supermarket/target.rb
|
232
|
+
- lib/fetchers/local.rb
|
233
|
+
- lib/fetchers/tar.rb
|
234
|
+
- lib/fetchers/url.rb
|
235
|
+
- lib/fetchers/zip.rb
|
236
236
|
- lib/inspec.rb
|
237
237
|
- lib/inspec/archive/tar.rb
|
238
238
|
- lib/inspec/archive/zip.rb
|
239
239
|
- lib/inspec/backend.rb
|
240
240
|
- lib/inspec/dsl.rb
|
241
|
+
- lib/inspec/fetcher.rb
|
241
242
|
- lib/inspec/log.rb
|
242
243
|
- lib/inspec/metadata.rb
|
243
244
|
- lib/inspec/plugins.rb
|
244
245
|
- lib/inspec/plugins/cli.rb
|
246
|
+
- lib/inspec/plugins/fetcher.rb
|
245
247
|
- lib/inspec/plugins/resource.rb
|
248
|
+
- lib/inspec/plugins/source_reader.rb
|
246
249
|
- lib/inspec/profile.rb
|
247
250
|
- lib/inspec/profile_context.rb
|
248
251
|
- lib/inspec/resource.rb
|
@@ -252,15 +255,7 @@ files:
|
|
252
255
|
- lib/inspec/runner_mock.rb
|
253
256
|
- lib/inspec/runner_rspec.rb
|
254
257
|
- lib/inspec/shell.rb
|
255
|
-
- lib/inspec/
|
256
|
-
- lib/inspec/targets/archive.rb
|
257
|
-
- lib/inspec/targets/core.rb
|
258
|
-
- lib/inspec/targets/dir.rb
|
259
|
-
- lib/inspec/targets/file.rb
|
260
|
-
- lib/inspec/targets/folder.rb
|
261
|
-
- lib/inspec/targets/tar.rb
|
262
|
-
- lib/inspec/targets/url.rb
|
263
|
-
- lib/inspec/targets/zip.rb
|
258
|
+
- lib/inspec/source_reader.rb
|
264
259
|
- lib/inspec/version.rb
|
265
260
|
- lib/matchers/matchers.rb
|
266
261
|
- lib/resources/apache.rb
|
@@ -310,11 +305,14 @@ files:
|
|
310
305
|
- lib/resources/script.rb
|
311
306
|
- lib/resources/security_policy.rb
|
312
307
|
- lib/resources/service.rb
|
308
|
+
- lib/resources/shadow.rb
|
313
309
|
- lib/resources/ssh_conf.rb
|
314
310
|
- lib/resources/user.rb
|
315
311
|
- lib/resources/windows_feature.rb
|
316
312
|
- lib/resources/yaml.rb
|
317
313
|
- lib/resources/yum.rb
|
314
|
+
- lib/source_readers/flat.rb
|
315
|
+
- lib/source_readers/inspec.rb
|
318
316
|
- lib/utils/base_cli.rb
|
319
317
|
- lib/utils/convert.rb
|
320
318
|
- lib/utils/detect.rb
|
@@ -324,6 +322,7 @@ files:
|
|
324
322
|
- lib/utils/json_log.rb
|
325
323
|
- lib/utils/modulator.rb
|
326
324
|
- lib/utils/parser.rb
|
325
|
+
- lib/utils/plugin_registry.rb
|
327
326
|
- lib/utils/simpleconfig.rb
|
328
327
|
- tasks/maintainers.rb
|
329
328
|
- test/docker_run.rb
|
@@ -384,6 +383,11 @@ files:
|
|
384
383
|
- test/resource/sshd_config.rb
|
385
384
|
- test/test-extra.yaml
|
386
385
|
- test/test.yaml
|
386
|
+
- test/unit/fetchers.rb
|
387
|
+
- test/unit/fetchers/local_test.rb
|
388
|
+
- test/unit/fetchers/tar_test.rb
|
389
|
+
- test/unit/fetchers/url_test.rb
|
390
|
+
- test/unit/fetchers/zip_test.rb
|
387
391
|
- test/unit/metadata_test.rb
|
388
392
|
- test/unit/mock/cmd/$env-PATH
|
389
393
|
- test/unit/mock/cmd/Get-NetAdapter
|
@@ -468,11 +472,13 @@ files:
|
|
468
472
|
- test/unit/mock/files/ports.conf
|
469
473
|
- test/unit/mock/files/rootwrap.conf
|
470
474
|
- test/unit/mock/files/serve-cgi-bin.conf
|
475
|
+
- test/unit/mock/files/shadow
|
471
476
|
- test/unit/mock/files/ssh_config
|
472
477
|
- test/unit/mock/files/sshd_config
|
473
478
|
- test/unit/mock/profiles/complete-metadata/inspec.yml
|
474
479
|
- test/unit/mock/profiles/complete-profile/controls/filesystem_spec.rb
|
475
480
|
- test/unit/mock/profiles/complete-profile/inspec.yml
|
481
|
+
- test/unit/mock/profiles/complete-profile/libraries/testlib.rb
|
476
482
|
- test/unit/mock/profiles/empty-metadata/inspec.yml
|
477
483
|
- test/unit/mock/profiles/legacy-complete-metadata/metadata.rb
|
478
484
|
- test/unit/mock/profiles/legacy-complete-metadata/test/.gitkeep
|
@@ -523,12 +529,15 @@ files:
|
|
523
529
|
- test/unit/resources/script_test.rb
|
524
530
|
- test/unit/resources/security_policy_test.rb
|
525
531
|
- test/unit/resources/service_test.rb
|
532
|
+
- test/unit/resources/shadow_test.rb
|
526
533
|
- test/unit/resources/ssh_conf_test.rb
|
527
534
|
- test/unit/resources/user_test.rb
|
528
535
|
- test/unit/resources/windows_feature.rb
|
529
536
|
- test/unit/resources/yaml_test.rb
|
530
537
|
- test/unit/resources/yum_test.rb
|
531
|
-
- test/unit/
|
538
|
+
- test/unit/source_reader_test.rb
|
539
|
+
- test/unit/source_readers/flat_test.rb
|
540
|
+
- test/unit/source_readers/inspec_test.rb
|
532
541
|
- test/unit/utils/filter_array_test.rb
|
533
542
|
- test/unit/utils/find_files_test.rb
|
534
543
|
- test/unit/utils/passwd_parser_test.rb
|
@@ -617,6 +626,11 @@ test_files:
|
|
617
626
|
- test/resource/sshd_config.rb
|
618
627
|
- test/test-extra.yaml
|
619
628
|
- test/test.yaml
|
629
|
+
- test/unit/fetchers.rb
|
630
|
+
- test/unit/fetchers/local_test.rb
|
631
|
+
- test/unit/fetchers/tar_test.rb
|
632
|
+
- test/unit/fetchers/url_test.rb
|
633
|
+
- test/unit/fetchers/zip_test.rb
|
620
634
|
- test/unit/metadata_test.rb
|
621
635
|
- test/unit/mock/cmd/$env-PATH
|
622
636
|
- test/unit/mock/cmd/Get-NetAdapter
|
@@ -701,11 +715,13 @@ test_files:
|
|
701
715
|
- test/unit/mock/files/ports.conf
|
702
716
|
- test/unit/mock/files/rootwrap.conf
|
703
717
|
- test/unit/mock/files/serve-cgi-bin.conf
|
718
|
+
- test/unit/mock/files/shadow
|
704
719
|
- test/unit/mock/files/ssh_config
|
705
720
|
- test/unit/mock/files/sshd_config
|
706
721
|
- test/unit/mock/profiles/complete-metadata/inspec.yml
|
707
722
|
- test/unit/mock/profiles/complete-profile/controls/filesystem_spec.rb
|
708
723
|
- test/unit/mock/profiles/complete-profile/inspec.yml
|
724
|
+
- test/unit/mock/profiles/complete-profile/libraries/testlib.rb
|
709
725
|
- test/unit/mock/profiles/empty-metadata/inspec.yml
|
710
726
|
- test/unit/mock/profiles/legacy-complete-metadata/metadata.rb
|
711
727
|
- test/unit/mock/profiles/legacy-complete-metadata/test/.gitkeep
|
@@ -756,12 +772,15 @@ test_files:
|
|
756
772
|
- test/unit/resources/script_test.rb
|
757
773
|
- test/unit/resources/security_policy_test.rb
|
758
774
|
- test/unit/resources/service_test.rb
|
775
|
+
- test/unit/resources/shadow_test.rb
|
759
776
|
- test/unit/resources/ssh_conf_test.rb
|
760
777
|
- test/unit/resources/user_test.rb
|
761
778
|
- test/unit/resources/windows_feature.rb
|
762
779
|
- test/unit/resources/yaml_test.rb
|
763
780
|
- test/unit/resources/yum_test.rb
|
764
|
-
- test/unit/
|
781
|
+
- test/unit/source_reader_test.rb
|
782
|
+
- test/unit/source_readers/flat_test.rb
|
783
|
+
- test/unit/source_readers/inspec_test.rb
|
765
784
|
- test/unit/utils/filter_array_test.rb
|
766
785
|
- test/unit/utils/find_files_test.rb
|
767
786
|
- test/unit/utils/passwd_parser_test.rb
|