inspec 0.30.0 → 0.31.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (316) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -2
  3. data/Gemfile +2 -1
  4. data/docs/cli.rst +1 -17
  5. data/docs/resources.rst +128 -0
  6. data/docs/shell.rst +130 -0
  7. data/inspec.gemspec +3 -4
  8. data/lib/bundles/inspec-compliance/.kitchen.yml +0 -1
  9. data/lib/bundles/inspec-compliance/README.md +8 -3
  10. data/lib/bundles/inspec-compliance/api.rb +21 -6
  11. data/lib/bundles/inspec-compliance/bootstrap.sh +13 -9
  12. data/lib/bundles/inspec-compliance/cli.rb +23 -19
  13. data/lib/bundles/inspec-compliance/target.rb +1 -0
  14. data/lib/bundles/inspec-compliance/test/integration/default/cli.rb +42 -5
  15. data/lib/bundles/inspec-init/cli.rb +9 -0
  16. data/lib/bundles/inspec-supermarket/cli.rb +9 -0
  17. data/lib/bundles/inspec-supermarket/target.rb +2 -1
  18. data/lib/fetchers/local.rb +5 -2
  19. data/lib/fetchers/url.rb +1 -0
  20. data/lib/inspec/base_cli.rb +2 -1
  21. data/lib/inspec/cli.rb +14 -5
  22. data/lib/inspec/dependencies/dependency_set.rb +38 -0
  23. data/lib/inspec/dependencies/requirement.rb +103 -0
  24. data/lib/inspec/{dependencies.rb → dependencies/resolver.rb} +13 -132
  25. data/lib/inspec/dependencies/vendor_index.rb +98 -0
  26. data/lib/inspec/plugins/source_reader.rb +4 -0
  27. data/lib/inspec/profile.rb +2 -2
  28. data/lib/inspec/resource.rb +2 -0
  29. data/lib/inspec/runner.rb +13 -1
  30. data/lib/inspec/runner_mock.rb +4 -0
  31. data/lib/inspec/runner_rspec.rb +6 -2
  32. data/lib/inspec/shell.rb +22 -1
  33. data/lib/inspec/version.rb +1 -1
  34. data/lib/resources/iis_site.rb +107 -0
  35. data/lib/resources/port.rb +11 -4
  36. data/lib/resources/ssh_conf.rb +10 -2
  37. data/lib/resources/ssl.rb +94 -0
  38. data/lib/resources/xinetd.rb +11 -2
  39. data/lib/utils/parser.rb +6 -1
  40. metadata +17 -561
  41. data/lib/utils/hash_map.rb +0 -37
  42. data/tasks/maintainers.rb +0 -213
  43. data/test/bench/startup/startup.flat.txt +0 -1005
  44. data/test/bench/startup/startup.graph.html +0 -71958
  45. data/test/bench/startup/startup.grind.dat +0 -101602
  46. data/test/bench/startup/startup.stack.html +0 -24516
  47. data/test/bench/startup.flat.txt +0 -998
  48. data/test/bench/startup.graph.html +0 -71420
  49. data/test/bench/startup.grind.dat +0 -103554
  50. data/test/bench/startup.stack.html +0 -25015
  51. data/test/cookbooks/os_prepare/attributes/default.rb +0 -2
  52. data/test/cookbooks/os_prepare/files/empty.iso +0 -0
  53. data/test/cookbooks/os_prepare/files/example.csv +0 -7
  54. data/test/cookbooks/os_prepare/files/example.ini +0 -6
  55. data/test/cookbooks/os_prepare/files/example.json +0 -12
  56. data/test/cookbooks/os_prepare/files/example.yml +0 -7
  57. data/test/cookbooks/os_prepare/metadata.rb +0 -13
  58. data/test/cookbooks/os_prepare/recipes/_runit_service_centos.rb +0 -34
  59. data/test/cookbooks/os_prepare/recipes/_upstart_service_centos.rb +0 -25
  60. data/test/cookbooks/os_prepare/recipes/apache.rb +0 -14
  61. data/test/cookbooks/os_prepare/recipes/apt.rb +0 -20
  62. data/test/cookbooks/os_prepare/recipes/auditctl.rb +0 -8
  63. data/test/cookbooks/os_prepare/recipes/default.rb +0 -29
  64. data/test/cookbooks/os_prepare/recipes/file.rb +0 -46
  65. data/test/cookbooks/os_prepare/recipes/iptables.rb +0 -13
  66. data/test/cookbooks/os_prepare/recipes/json_yaml_csv_ini.rb +0 -34
  67. data/test/cookbooks/os_prepare/recipes/mount.rb +0 -33
  68. data/test/cookbooks/os_prepare/recipes/package.rb +0 -25
  69. data/test/cookbooks/os_prepare/recipes/postgres.rb +0 -20
  70. data/test/cookbooks/os_prepare/recipes/prep_container.rb +0 -15
  71. data/test/cookbooks/os_prepare/recipes/registry_key.rb +0 -87
  72. data/test/cookbooks/os_prepare/recipes/service.rb +0 -19
  73. data/test/cookbooks/os_prepare/templates/default/sv-default-svlog-run.erb +0 -2
  74. data/test/docker_run.rb +0 -162
  75. data/test/docker_test.rb +0 -58
  76. data/test/functional/helper.rb +0 -37
  77. data/test/functional/inheritance_test.rb +0 -62
  78. data/test/functional/inspec_archive_test.rb +0 -80
  79. data/test/functional/inspec_compliance_test.rb +0 -61
  80. data/test/functional/inspec_exec_json_test.rb +0 -122
  81. data/test/functional/inspec_exec_jsonmin_test.rb +0 -59
  82. data/test/functional/inspec_exec_test.rb +0 -123
  83. data/test/functional/inspec_json_profile_test.rb +0 -103
  84. data/test/functional/inspec_test.rb +0 -91
  85. data/test/helper.rb +0 -329
  86. data/test/integration/default/_debug_spec.rb +0 -8
  87. data/test/integration/default/apache_conf_spec.rb +0 -21
  88. data/test/integration/default/apt_spec.rb +0 -37
  89. data/test/integration/default/auditd_rules_spec.rb +0 -32
  90. data/test/integration/default/cmp_matcher_spec.rb +0 -115
  91. data/test/integration/default/csv_spec.rb +0 -11
  92. data/test/integration/default/etc_group_spec.rb +0 -29
  93. data/test/integration/default/file_spec.rb +0 -195
  94. data/test/integration/default/group_spec.rb +0 -59
  95. data/test/integration/default/ini_spec.rb +0 -11
  96. data/test/integration/default/iptables_spec.rb +0 -29
  97. data/test/integration/default/json_spec.rb +0 -11
  98. data/test/integration/default/kernel_module_spec.rb +0 -23
  99. data/test/integration/default/kernel_parameter_spec.rb +0 -60
  100. data/test/integration/default/mount_spec.rb +0 -19
  101. data/test/integration/default/os_spec.rb +0 -13
  102. data/test/integration/default/package_spec.rb +0 -30
  103. data/test/integration/default/port_spec.rb +0 -27
  104. data/test/integration/default/postgres_session_spec.rb +0 -13
  105. data/test/integration/default/powershell_spec.rb +0 -42
  106. data/test/integration/default/registry_key_spec.rb +0 -109
  107. data/test/integration/default/secpol_spec.rb +0 -11
  108. data/test/integration/default/service_spec.rb +0 -128
  109. data/test/integration/default/user_spec.rb +0 -96
  110. data/test/integration/default/vbscript_spec.rb +0 -22
  111. data/test/integration/default/wmi_spec.rb +0 -66
  112. data/test/integration/default/yaml_spec.rb +0 -11
  113. data/test/resource/command_test.rb +0 -33
  114. data/test/resource/dsl_test.rb +0 -45
  115. data/test/resource/file_test.rb +0 -146
  116. data/test/resource/ssh_config.rb +0 -9
  117. data/test/resource/sshd_config.rb +0 -9
  118. data/test/test-extra.yaml +0 -11
  119. data/test/test.yaml +0 -11
  120. data/test/unit/control_test.rb +0 -58
  121. data/test/unit/fetchers/local_test.rb +0 -67
  122. data/test/unit/fetchers/mock_test.rb +0 -43
  123. data/test/unit/fetchers/tar_test.rb +0 -36
  124. data/test/unit/fetchers/url_test.rb +0 -152
  125. data/test/unit/fetchers/zip_test.rb +0 -36
  126. data/test/unit/fetchers_test.rb +0 -65
  127. data/test/unit/metadata_test.rb +0 -137
  128. data/test/unit/mock/cmd/$env-PATH +0 -1
  129. data/test/unit/mock/cmd/Get-NetAdapter +0 -24
  130. data/test/unit/mock/cmd/GetUserAccount +0 -33
  131. data/test/unit/mock/cmd/GetWin32Group +0 -23
  132. data/test/unit/mock/cmd/Resolve-DnsName +0 -26
  133. data/test/unit/mock/cmd/Test-NetConnection +0 -4
  134. data/test/unit/mock/cmd/auditctl +0 -3
  135. data/test/unit/mock/cmd/auditctl-legacy +0 -7
  136. data/test/unit/mock/cmd/auditctl-s +0 -8
  137. data/test/unit/mock/cmd/auditpol +0 -2
  138. data/test/unit/mock/cmd/brew-info-jq +0 -1
  139. data/test/unit/mock/cmd/chage-l-root +0 -7
  140. data/test/unit/mock/cmd/dpkg-s-curl +0 -21
  141. data/test/unit/mock/cmd/dscl +0 -5
  142. data/test/unit/mock/cmd/env +0 -1
  143. data/test/unit/mock/cmd/etc-apt +0 -7
  144. data/test/unit/mock/cmd/find-apache2-conf-enabled +0 -1
  145. data/test/unit/mock/cmd/find-apache2-ports-conf +0 -1
  146. data/test/unit/mock/cmd/find-etc-rc-d-name-S +0 -12
  147. data/test/unit/mock/cmd/find-net-interface +0 -9
  148. data/test/unit/mock/cmd/find-xinetd.d +0 -2
  149. data/test/unit/mock/cmd/gem-list-local-a-q-rubocop +0 -1
  150. data/test/unit/mock/cmd/get-net-tcpconnection +0 -24
  151. data/test/unit/mock/cmd/get-netadapter-binding-bridge +0 -4
  152. data/test/unit/mock/cmd/get-package-firefox +0 -30
  153. data/test/unit/mock/cmd/get-package-ruby +0 -18
  154. data/test/unit/mock/cmd/get-service-dhcp +0 -10
  155. data/test/unit/mock/cmd/get-windows-feature +0 -7
  156. data/test/unit/mock/cmd/get-wmiobject +0 -9
  157. data/test/unit/mock/cmd/getent-hosts-example.com +0 -1
  158. data/test/unit/mock/cmd/getent-passwd-jfolmer +0 -1
  159. data/test/unit/mock/cmd/getent-passwd-root +0 -1
  160. data/test/unit/mock/cmd/hpux-netstat-inet +0 -10
  161. data/test/unit/mock/cmd/hpux-netstat-inet6 +0 -11
  162. data/test/unit/mock/cmd/id-chartmann +0 -1
  163. data/test/unit/mock/cmd/id-jfolmer +0 -1
  164. data/test/unit/mock/cmd/id-root +0 -1
  165. data/test/unit/mock/cmd/initctl--version +0 -5
  166. data/test/unit/mock/cmd/initctl-show-config-ssh +0 -3
  167. data/test/unit/mock/cmd/initctl-status-ssh +0 -1
  168. data/test/unit/mock/cmd/iptables-s +0 -6
  169. data/test/unit/mock/cmd/launchctl-list +0 -3
  170. data/test/unit/mock/cmd/logins-x +0 -4
  171. data/test/unit/mock/cmd/ls-1-etc-init.d +0 -2
  172. data/test/unit/mock/cmd/ls-sys-class-net-br +0 -2
  173. data/test/unit/mock/cmd/lsmod +0 -2
  174. data/test/unit/mock/cmd/lsof-nP-i-FpctPn +0 -63
  175. data/test/unit/mock/cmd/mount +0 -1
  176. data/test/unit/mock/cmd/mount-multiple +0 -2
  177. data/test/unit/mock/cmd/netstat-an.utf8 +0 -13
  178. data/test/unit/mock/cmd/netstat-tulpen +0 -6
  179. data/test/unit/mock/cmd/npm-ls-g--json-bower +0 -9
  180. data/test/unit/mock/cmd/pacman-qi-curl +0 -21
  181. data/test/unit/mock/cmd/ping-example.com +0 -6
  182. data/test/unit/mock/cmd/pip-show-jinja2 +0 -11
  183. data/test/unit/mock/cmd/pkg-info-system-file-system-zfs +0 -8
  184. data/test/unit/mock/cmd/pkginfo-l-SUNWzfsr +0 -7
  185. data/test/unit/mock/cmd/ps-aux +0 -5
  186. data/test/unit/mock/cmd/ps-auxZ +0 -3
  187. data/test/unit/mock/cmd/pw-usershow-root-7 +0 -1
  188. data/test/unit/mock/cmd/reg_schedule +0 -6
  189. data/test/unit/mock/cmd/rpm-qia-curl +0 -24
  190. data/test/unit/mock/cmd/s11-netstat-an-finet-finet6 +0 -32
  191. data/test/unit/mock/cmd/sbin_sysctl +0 -1
  192. data/test/unit/mock/cmd/secedit-export +0 -7
  193. data/test/unit/mock/cmd/service-e +0 -2
  194. data/test/unit/mock/cmd/service-sendmail-onestatus +0 -3
  195. data/test/unit/mock/cmd/service-sshd-status +0 -1
  196. data/test/unit/mock/cmd/sockstat +0 -5
  197. data/test/unit/mock/cmd/success +0 -0
  198. data/test/unit/mock/cmd/swlist-l-product +0 -1
  199. data/test/unit/mock/cmd/systemctl-show-all-dbus +0 -6
  200. data/test/unit/mock/cmd/systemctl-show-all-sshd +0 -7
  201. data/test/unit/mock/cmd/win32_product +0 -8
  202. data/test/unit/mock/cmd/yum-repolist-all +0 -52
  203. data/test/unit/mock/files/apache2.conf +0 -14
  204. data/test/unit/mock/files/auditd.conf +0 -4
  205. data/test/unit/mock/files/bond0 +0 -37
  206. data/test/unit/mock/files/etcgroup +0 -3
  207. data/test/unit/mock/files/example.csv +0 -6
  208. data/test/unit/mock/files/grub.conf +0 -21
  209. data/test/unit/mock/files/inetd.conf +0 -2
  210. data/test/unit/mock/files/kitchen.yml +0 -7
  211. data/test/unit/mock/files/limits.conf +0 -5
  212. data/test/unit/mock/files/login.defs +0 -5
  213. data/test/unit/mock/files/mysql.conf +0 -8
  214. data/test/unit/mock/files/mysql2.conf +0 -2
  215. data/test/unit/mock/files/ntp.conf +0 -5
  216. data/test/unit/mock/files/passwd +0 -2
  217. data/test/unit/mock/files/policyfile.lock.json +0 -12
  218. data/test/unit/mock/files/ports.conf +0 -6
  219. data/test/unit/mock/files/rootwrap.conf +0 -7
  220. data/test/unit/mock/files/serve-cgi-bin.conf +0 -20
  221. data/test/unit/mock/files/shadow +0 -2
  222. data/test/unit/mock/files/ssh_config +0 -5
  223. data/test/unit/mock/files/sshd_config +0 -7
  224. data/test/unit/mock/files/sysctl.conf +0 -7
  225. data/test/unit/mock/files/xinetd.conf +0 -9
  226. data/test/unit/mock/files/xinetd.d/.gitkeep +0 -0
  227. data/test/unit/mock/files/xinetd.d_chargen-dgram +0 -9
  228. data/test/unit/mock/files/xinetd.d_chargen-stream +0 -9
  229. data/test/unit/mock/profiles/complete-metadata/inspec.yml +0 -7
  230. data/test/unit/mock/profiles/complete-profile/controls/filesystem_spec.rb +0 -16
  231. data/test/unit/mock/profiles/complete-profile/inspec.yml +0 -10
  232. data/test/unit/mock/profiles/complete-profile/libraries/testlib.rb +0 -1
  233. data/test/unit/mock/profiles/empty-metadata/inspec.yml +0 -0
  234. data/test/unit/mock/profiles/legacy-complete-metadata/metadata.rb +0 -7
  235. data/test/unit/mock/profiles/legacy-complete-metadata/test/.gitkeep +0 -0
  236. data/test/unit/mock/profiles/legacy-empty-metadata/controls/.gitkeep +0 -0
  237. data/test/unit/mock/profiles/legacy-empty-metadata/metadata.rb +0 -0
  238. data/test/unit/mock/profiles/legacy-simple-metadata/metadata.rb +0 -1
  239. data/test/unit/mock/profiles/legacy-simple-metadata/test/.gitkeep +0 -0
  240. data/test/unit/mock/profiles/library/controls/filesystem_spec.rb +0 -7
  241. data/test/unit/mock/profiles/library/inspec.yml +0 -10
  242. data/test/unit/mock/profiles/library/libraries/gordonlib.rb +0 -2
  243. data/test/unit/mock/profiles/library/libraries/testlib.rb +0 -12
  244. data/test/unit/mock/profiles/resource-tiny/inspec.yml +0 -10
  245. data/test/unit/mock/profiles/resource-tiny/libraries/resource.rb +0 -3
  246. data/test/unit/mock/profiles/simple-metadata/inspec.yml +0 -1
  247. data/test/unit/mock/profiles/skippy-profile-os/controls/one.rb +0 -3
  248. data/test/unit/mock/profiles/skippy-profile-os/inspec.yml +0 -5
  249. data/test/unit/mock/profiles/spec_only/specfile.rb +0 -11
  250. data/test/unit/mock/profiles/supported_inspec/inspec.yml +0 -2
  251. data/test/unit/mock/profiles/unsupported_inspec/inspec.yml +0 -2
  252. data/test/unit/objects_test.rb +0 -65
  253. data/test/unit/plugin_test.rb +0 -44
  254. data/test/unit/plugins/resource_test.rb +0 -60
  255. data/test/unit/profile_context_test.rb +0 -345
  256. data/test/unit/profile_test.rb +0 -252
  257. data/test/unit/resources/apache_conf_test.rb +0 -31
  258. data/test/unit/resources/apt_test.rb +0 -46
  259. data/test/unit/resources/audit_policy_test.rb +0 -13
  260. data/test/unit/resources/auditd_conf_test.rb +0 -15
  261. data/test/unit/resources/auditd_rules_test.rb +0 -91
  262. data/test/unit/resources/bash_test.rb +0 -29
  263. data/test/unit/resources/bond_test.rb +0 -24
  264. data/test/unit/resources/bridge_test.rb +0 -56
  265. data/test/unit/resources/csv_test.rb +0 -35
  266. data/test/unit/resources/etc_group_test.rb +0 -37
  267. data/test/unit/resources/file_test.rb +0 -202
  268. data/test/unit/resources/gem_test.rb +0 -20
  269. data/test/unit/resources/group_test.rb +0 -96
  270. data/test/unit/resources/grub_conf_test.rb +0 -29
  271. data/test/unit/resources/host_test.rb +0 -38
  272. data/test/unit/resources/inetd_conf_test.rb +0 -15
  273. data/test/unit/resources/ini_test.rb +0 -16
  274. data/test/unit/resources/interface_test.rb +0 -54
  275. data/test/unit/resources/iptables_test.rb +0 -35
  276. data/test/unit/resources/json_test.rb +0 -36
  277. data/test/unit/resources/kernel_module_test.rb +0 -23
  278. data/test/unit/resources/kernel_parameter_test.rb +0 -13
  279. data/test/unit/resources/limits_conf_test.rb +0 -14
  280. data/test/unit/resources/login_def_test.rb +0 -16
  281. data/test/unit/resources/mount_test.rb +0 -26
  282. data/test/unit/resources/mysql_conf_test.rb +0 -14
  283. data/test/unit/resources/npm_test.rb +0 -20
  284. data/test/unit/resources/ntp_conf_test.rb +0 -16
  285. data/test/unit/resources/oneget_test.rb +0 -45
  286. data/test/unit/resources/os_env_test.rb +0 -18
  287. data/test/unit/resources/os_test.rb +0 -40
  288. data/test/unit/resources/package_test.rb +0 -87
  289. data/test/unit/resources/parse_config_test.rb +0 -26
  290. data/test/unit/resources/passwd_test.rb +0 -111
  291. data/test/unit/resources/pip_test.rb +0 -15
  292. data/test/unit/resources/port_test.rb +0 -165
  293. data/test/unit/resources/powershell_test.rb +0 -32
  294. data/test/unit/resources/processes_test.rb +0 -72
  295. data/test/unit/resources/registry_key_test.rb +0 -18
  296. data/test/unit/resources/security_policy_test.rb +0 -16
  297. data/test/unit/resources/service_test.rb +0 -305
  298. data/test/unit/resources/shadow_test.rb +0 -67
  299. data/test/unit/resources/ssh_conf_test.rb +0 -33
  300. data/test/unit/resources/user_test.rb +0 -124
  301. data/test/unit/resources/vbscript_test.rb +0 -18
  302. data/test/unit/resources/windows_feature.rb +0 -17
  303. data/test/unit/resources/wmi_test.rb +0 -42
  304. data/test/unit/resources/xinetd_test.rb +0 -60
  305. data/test/unit/resources/yaml_test.rb +0 -34
  306. data/test/unit/resources/yum_test.rb +0 -68
  307. data/test/unit/shell_detector_test.rb +0 -78
  308. data/test/unit/source_reader_test.rb +0 -17
  309. data/test/unit/source_readers/flat_test.rb +0 -61
  310. data/test/unit/source_readers/inspec_test.rb +0 -38
  311. data/test/unit/utils/filter_array_test.rb +0 -59
  312. data/test/unit/utils/filter_table_test.rb +0 -177
  313. data/test/unit/utils/find_files_test.rb +0 -23
  314. data/test/unit/utils/passwd_parser_test.rb +0 -32
  315. data/test/unit/utils/simpleconfig_test.rb +0 -80
  316. data/test/unit/utils/solaris_netstat_parser.rb +0 -124
@@ -1,16 +0,0 @@
1
- # encoding: utf-8
2
- # author: Christoph Hartmann
3
- # author: Dominik Richter
4
-
5
- require 'helper'
6
- require 'inspec/resource'
7
-
8
- describe 'Inspec::Resources::SecurityPolicy' do
9
- it 'verify processes resource' do
10
- resource = load_resource('security_policy')
11
- _(resource.MaximumPasswordAge).must_equal 42
12
- _(resource.send('MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole\SecurityLevel')).must_equal '4,0'
13
- _(resource.SeUndockPrivilege).must_equal '*S-1-5-32-544'
14
- _(resource.SeRemoteInteractiveLogonRight).must_equal '*S-1-5-32-544,*S-1-5-32-555'
15
- end
16
- end
@@ -1,305 +0,0 @@
1
- # encoding: utf-8
2
- # author: Christoph Hartmann
3
- # author: Dominik Richter
4
-
5
- require 'helper'
6
- require 'inspec/resource'
7
- require 'hashie'
8
-
9
- describe 'Inspec::Resources::Service' do
10
- let(:runlevels) { {0=>false, 1=>false, 2=>true, 3=>true, 4=>true, 5=>true, 6=>false} }
11
-
12
- # windows
13
- it 'verify service parsing' do
14
- resource = MockLoader.new(:windows).load_resource('service', 'dhcp')
15
- params = Hashie::Mash.new({})
16
- _(resource.type).must_equal 'windows'
17
- _(resource.name).must_equal 'dhcp'
18
- _(resource.description).must_equal 'DHCP Client'
19
- _(resource.installed?).must_equal true
20
- _(resource.enabled?).must_equal true
21
- _(resource.running?).must_equal true
22
- _(resource.params).must_equal params
23
- end
24
-
25
- # ubuntu 14.04 with upstart
26
- it 'verify ubuntu package parsing' do
27
- resource = MockLoader.new(:ubuntu1404).load_resource('service', 'ssh')
28
- params = Hashie::Mash.new({})
29
- _(resource.type).must_equal 'upstart'
30
- _(resource.name).must_equal 'ssh'
31
- _(resource.description).must_equal nil
32
- _(resource.installed?).must_equal true
33
- _(resource.enabled?).must_equal true
34
- _(resource.running?).must_equal true
35
- _(resource.params).must_equal params
36
- end
37
-
38
- it 'verify ubuntu package parsing with default upstart_service' do
39
- resource = MockLoader.new(:ubuntu1404).load_resource('upstart_service', 'ssh')
40
- params = Hashie::Mash.new({})
41
- _(resource.type).must_equal 'upstart'
42
- _(resource.name).must_equal 'ssh'
43
- _(resource.description).must_equal nil
44
- _(resource.installed?).must_equal true
45
- _(resource.enabled?).must_equal true
46
- _(resource.running?).must_equal true
47
- _(resource.params).must_equal params
48
- _(resource.params.UnitFileState).must_equal nil
49
- end
50
-
51
- # ubuntu 15.04 with systemd
52
- it 'verify ubuntu package parsing' do
53
- resource = MockLoader.new(:ubuntu1504).load_resource('service', 'sshd')
54
- params = Hashie::Mash.new({ 'ActiveState' => 'active', 'Description' => 'OpenSSH server daemon', 'Id' => 'sshd.service', 'LoadState' => 'loaded', 'Names' => 'sshd.service', 'SubState' => 'running', 'UnitFileState' => 'enabled' })
55
- _(resource.type).must_equal 'systemd'
56
- _(resource.name).must_equal 'sshd.service'
57
- _(resource.description).must_equal 'OpenSSH server daemon'
58
- _(resource.installed?).must_equal true
59
- _(resource.enabled?).must_equal true
60
- _(resource.running?).must_equal true
61
- _(resource.params).must_equal params
62
- _(resource.params.SubState).must_equal 'running'
63
- end
64
-
65
- it 'verify ubuntu package parsing with default systemd_service' do
66
- resource = MockLoader.new(:ubuntu1504).load_resource('systemd_service', 'sshd')
67
- params = Hashie::Mash.new({ 'ActiveState' => 'active', 'Description' => 'OpenSSH server daemon', 'Id' => 'sshd.service', 'LoadState' => 'loaded', 'Names' => 'sshd.service', 'SubState' => 'running', 'UnitFileState' => 'enabled' })
68
- _(resource.type).must_equal 'systemd'
69
- _(resource.name).must_equal 'sshd.service'
70
- _(resource.description).must_equal 'OpenSSH server daemon'
71
- _(resource.installed?).must_equal true
72
- _(resource.enabled?).must_equal true
73
- _(resource.running?).must_equal true
74
- _(resource.params).must_equal params
75
- end
76
-
77
- # centos 6 with sysv
78
- it 'verify centos 6 package parsing' do
79
- resource = MockLoader.new(:centos6).load_resource('service', 'sshd')
80
- params = Hashie::Mash.new({})
81
- _(resource.type).must_equal 'sysv'
82
- _(resource.name).must_equal 'sshd'
83
- _(resource.description).must_equal nil
84
- _(resource.installed?).must_equal true
85
- _(resource.enabled?).must_equal true
86
- _(resource.running?).must_equal true
87
- _(resource.params).must_equal params
88
- _(resource.params.SubState).must_equal nil
89
- end
90
-
91
- it 'verify centos 6 package parsing with default sysv_service' do
92
- resource = MockLoader.new(:centos6).load_resource('sysv_service', 'sshd')
93
- params = Hashie::Mash.new({})
94
- _(resource.type).must_equal 'sysv'
95
- _(resource.name).must_equal 'sshd'
96
- _(resource.description).must_equal nil
97
- _(resource.installed?).must_equal true
98
- _(resource.enabled?).must_equal true
99
- _(resource.running?).must_equal true
100
- _(resource.params).must_equal params
101
- end
102
-
103
- # centos 7 with systemd
104
- it 'verify centos 7 package parsing' do
105
- resource = MockLoader.new(:centos7).load_resource('service', 'sshd')
106
- params = Hashie::Mash.new({ 'ActiveState' => 'active', 'Description' => 'OpenSSH server daemon', 'Id' => 'sshd.service', 'LoadState' => 'loaded', 'Names' => 'sshd.service', 'SubState' => 'running', 'UnitFileState' => 'enabled' })
107
- _(resource.type).must_equal 'systemd'
108
- _(resource.name).must_equal 'sshd.service'
109
- _(resource.description).must_equal 'OpenSSH server daemon'
110
- _(resource.installed?).must_equal true
111
- _(resource.enabled?).must_equal true
112
- _(resource.running?).must_equal true
113
- _(resource.params).must_equal params
114
- end
115
-
116
- it 'verify centos 7 package parsing with systemd_service and service_ctl override' do
117
- resource = MockLoader.new(:centos7).load_resource('systemd_service', 'sshd', '/path/to/systemctl')
118
- params = Hashie::Mash.new({ 'ActiveState' => 'active', 'Description' => 'OpenSSH server daemon', 'Id' => 'sshd.service', 'LoadState' => 'loaded', 'Names' => 'sshd.service', 'UnitFileState' => 'enabled', 'SubState' => 'running' })
119
- _(resource.type).must_equal 'systemd'
120
- _(resource.name).must_equal 'sshd.service'
121
- _(resource.description).must_equal 'OpenSSH server daemon'
122
- _(resource.installed?).must_equal true
123
- _(resource.enabled?).must_equal true
124
- _(resource.running?).must_equal true
125
- _(resource.params).must_equal params
126
- end
127
-
128
- it 'verify centos 7 package parsing with static loaded service' do
129
- resource = MockLoader.new(:centos7).load_resource('service', 'dbus')
130
- params = Hashie::Mash.new({ 'Description' => 'D-Bus System Message Bus', 'Id' => 'dbus.service', 'LoadState' => 'loaded', 'Names' => 'messagebus.service dbus.service', 'SubState' => 'running', 'UnitFileState' => 'static' })
131
- _(resource.type).must_equal 'systemd'
132
- _(resource.name).must_equal 'dbus.service'
133
- _(resource.description).must_equal 'D-Bus System Message Bus'
134
- _(resource.installed?).must_equal true
135
- _(resource.enabled?).must_equal true
136
- _(resource.running?).must_equal true
137
- _(resource.params).must_equal params
138
- _(resource.params.UnitFileState).must_equal 'static'
139
- end
140
-
141
- # freebsd
142
- it 'verify freebsd10 package parsing' do
143
- resource = MockLoader.new(:freebsd10).load_resource('service', 'sendmail')
144
- params = Hashie::Mash.new({})
145
- _(resource.type).must_equal 'bsd-init'
146
- _(resource.name).must_equal 'sendmail'
147
- _(resource.description).must_equal nil
148
- _(resource.installed?).must_equal true
149
- _(resource.enabled?).must_equal true
150
- _(resource.running?).must_equal true
151
- _(resource.params).must_equal params
152
- end
153
-
154
- it 'verify freebsd10 package parsing with default bsd_service' do
155
- resource = MockLoader.new(:freebsd10).load_resource('bsd_service', 'sendmail')
156
- params = Hashie::Mash.new({})
157
- _(resource.type).must_equal 'bsd-init'
158
- _(resource.name).must_equal 'sendmail'
159
- _(resource.description).must_equal nil
160
- _(resource.installed?).must_equal true
161
- _(resource.enabled?).must_equal true
162
- _(resource.running?).must_equal true
163
- _(resource.params).must_equal params
164
- end
165
-
166
- # arch linux with systemd
167
- it 'verify arch linux package parsing' do
168
- resource = MockLoader.new(:arch).load_resource('service', 'sshd')
169
- params = Hashie::Mash.new({ 'ActiveState' => 'active', 'Description' => 'OpenSSH server daemon', 'Id' => 'sshd.service', 'LoadState' => 'loaded', 'Names' => 'sshd.service', 'SubState' => 'running', 'UnitFileState' => 'enabled' })
170
- _(resource.type).must_equal 'systemd'
171
- _(resource.name).must_equal 'sshd.service'
172
- _(resource.description).must_equal 'OpenSSH server daemon'
173
- _(resource.installed?).must_equal true
174
- _(resource.enabled?).must_equal true
175
- _(resource.running?).must_equal true
176
- _(resource.params).must_equal params
177
- end
178
-
179
- # debian 7 with systemv
180
- it 'verify debian 7 package parsing' do
181
- resource = MockLoader.new(:debian7).load_resource('service', 'sshd')
182
- params = Hashie::Mash.new({})
183
- _(resource.type).must_equal 'sysv'
184
- _(resource.name).must_equal 'sshd'
185
- _(resource.description).must_equal nil
186
- _(resource.installed?).must_equal true
187
- _(resource.enabled?).must_equal true
188
- _(resource.running?).must_equal true
189
- _(resource.params).must_equal params
190
- end
191
-
192
- # debian 8 with systemd
193
- it 'verify debian 8 package parsing' do
194
- resource = MockLoader.new(:debian8).load_resource('service', 'sshd')
195
- params = Hashie::Mash.new({ 'ActiveState' => 'active', 'Description' => 'OpenSSH server daemon', 'Id' => 'sshd.service', 'LoadState' => 'loaded', 'Names' => 'sshd.service', 'SubState' => 'running', 'UnitFileState' => 'enabled' })
196
- _(resource.type).must_equal 'systemd'
197
- _(resource.name).must_equal 'sshd.service'
198
- _(resource.description).must_equal 'OpenSSH server daemon'
199
- _(resource.installed?).must_equal true
200
- _(resource.enabled?).must_equal true
201
- _(resource.running?).must_equal true
202
- _(resource.params).must_equal params
203
- end
204
-
205
- # macos test
206
- it 'verify mac osx package parsing' do
207
- resource = MockLoader.new(:osx104).load_resource('service', 'ssh')
208
- params = Hashie::Mash.new({})
209
- _(resource.type).must_equal 'darwin'
210
- _(resource.name).must_equal 'org.openbsd.ssh-agent'
211
- _(resource.description).must_equal nil
212
- _(resource.installed?).must_equal true
213
- _(resource.enabled?).must_equal true
214
- _(resource.running?).must_equal true
215
- _(resource.params).must_equal params
216
- end
217
-
218
- it 'verify mac osx package parsing with not-running service' do
219
- resource = MockLoader.new(:osx104).load_resource('service', 'FilesystemUI')
220
- params = Hashie::Mash.new({})
221
- _(resource.type).must_equal 'darwin'
222
- _(resource.name).must_equal 'com.apple.FilesystemUI'
223
- _(resource.description).must_equal nil
224
- _(resource.installed?).must_equal true
225
- _(resource.enabled?).must_equal true
226
- _(resource.running?).must_equal false
227
- _(resource.params).must_equal params
228
- end
229
-
230
- it 'verify mac osx package parsing with default launchd_service' do
231
- resource = MockLoader.new(:osx104).load_resource('launchd_service', 'ssh')
232
- params = Hashie::Mash.new({})
233
- _(resource.type).must_equal 'darwin'
234
- _(resource.name).must_equal 'org.openbsd.ssh-agent'
235
- _(resource.description).must_equal nil
236
- _(resource.installed?).must_equal true
237
- _(resource.enabled?).must_equal true
238
- _(resource.running?).must_equal true
239
- _(resource.params).must_equal params
240
- end
241
-
242
- # wrlinux
243
- it 'verify wrlinux package parsing' do
244
- resource = MockLoader.new(:wrlinux).load_resource('service', 'sshd')
245
- params = Hashie::Mash.new({})
246
- _(resource.type).must_equal 'sysv'
247
- _(resource.name).must_equal 'sshd'
248
- _(resource.description).must_equal nil
249
- _(resource.installed?).must_equal true
250
- _(resource.enabled?).must_equal true
251
- _(resource.running?).must_equal true
252
- _(resource.params).must_equal params
253
- end
254
-
255
-
256
- # unknown OS
257
- it 'verify package handling on unsupported os' do
258
- resource = MockLoader.new(:undefined).load_resource('service', 'dhcp')
259
- params = Hashie::Mash.new({})
260
- _(resource.installed?).must_equal false
261
- _(resource.description).must_equal nil
262
- _(resource.params).must_equal params
263
- end
264
-
265
- # runlevel detection
266
- describe 'runlevels on centos 6 (system V)' do
267
- let(:service) { MockLoader.new(:centos6).load_resource('service', 'sshd') }
268
-
269
- it 'grabs all runlevels' do
270
- service.runlevels.keys.must_equal [0, 1, 2, 3, 4, 5, 6]
271
- end
272
-
273
- it 'grabs runlevels via filter nil' do
274
- service.runlevels(nil).keys.must_equal [0, 1, 2, 3, 4, 5, 6]
275
- end
276
-
277
- it 'grabs runlevels by number' do
278
- service.runlevels(3).keys.must_equal [3]
279
- end
280
-
281
- it 'grabs runlevels by multiple numbers' do
282
- service.runlevels(3, 4, 8).keys.must_equal [3, 4]
283
- end
284
-
285
- it 'grabs runlevels via regex' do
286
- service.runlevels(/[5-9]/).keys.must_equal [5, 6]
287
- end
288
-
289
- it 'checks enabled true if all services are enabled' do
290
- service.runlevels(2, 4).enabled?.must_equal true
291
- end
292
-
293
- it 'checks enabled false if some services are not enabled' do
294
- service.runlevels(1, 4).enabled?.must_equal false
295
- end
296
-
297
- it 'checks disabled true if all services are disabled' do
298
- service.runlevels(0, 1).disabled?.must_equal true
299
- end
300
-
301
- it 'checks disabled false if some services are not disabled' do
302
- service.runlevels(0, 4).enabled?.must_equal false
303
- end
304
- end
305
- end
@@ -1,67 +0,0 @@
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
@@ -1,33 +0,0 @@
1
- # encoding: utf-8
2
- # author: Christoph Hartmann
3
- # author: Dominik Richter
4
-
5
- require 'helper'
6
- require 'inspec/resource'
7
-
8
- describe 'Inspec::Resources::SshConf' do
9
-
10
- describe 'ssh_config' do
11
- it 'check ssh config parsing' do
12
- resource = load_resource('ssh_config')
13
- _(resource.Host).must_equal '*'
14
- _(resource.Tunnel).must_equal nil
15
- _(resource.SendEnv).must_equal 'LANG LC_*'
16
- _(resource.HashKnownHosts).must_equal 'yes'
17
- end
18
- end
19
-
20
- describe 'sshd_config' do
21
- it 'check protocol version' do
22
- resource = load_resource('sshd_config')
23
- _(resource.Port).must_equal '22'
24
- _(resource.UsePAM).must_equal 'yes'
25
- _(resource.ListenAddress).must_equal nil
26
- _(resource.HostKey).must_equal [
27
- '/etc/ssh/ssh_host_rsa_key',
28
- '/etc/ssh/ssh_host_dsa_key',
29
- '/etc/ssh/ssh_host_ecdsa_key',
30
- ]
31
- end
32
- end
33
- end
@@ -1,124 +0,0 @@
1
- # encoding: utf-8
2
- # author: Christoph Hartmann
3
- # author: Dominik Richter
4
-
5
- require 'helper'
6
- require 'inspec/resource'
7
-
8
- describe 'Inspec::Resources::User' do
9
-
10
- # ubuntu 14.04 with upstart
11
- it 'read user on ubuntu' do
12
- resource = MockLoader.new(:ubuntu1404).load_resource('user', 'root')
13
- _(resource.exists?).must_equal true
14
- _(resource.group).must_equal 'root'
15
- _(resource.groups).must_equal ['root']
16
- _(resource.home).must_equal '/root'
17
- _(resource.shell).must_equal '/bin/bash'
18
- _(resource.mindays).must_equal 0
19
- _(resource.maxdays).must_equal 99999
20
- _(resource.warndays).must_equal 7
21
- end
22
-
23
- # ubuntu 14.04 test with ldap user
24
- it 'read user on ubuntu' do
25
- resource = MockLoader.new(:ubuntu1404).load_resource('user', 'jfolmer')
26
- _(resource.exists?).must_equal true
27
- _(resource.group).must_equal 'domain users'
28
- _(resource.groups).must_equal ['domain users', 'domain admins', 'denied rodc password replication group']
29
- _(resource.home).must_equal '/jfolmer'
30
- _(resource.shell).must_equal '/bin/bash'
31
- _(resource.mindays).must_equal 0
32
- _(resource.maxdays).must_equal 99999
33
- _(resource.warndays).must_equal 7
34
- end
35
-
36
- # serverspec compatibility tests (do not test matcher)
37
- it 'verify serverspec compatibility' do
38
- resource = MockLoader.new(:ubuntu1404).load_resource('user', 'root')
39
- _(resource.has_uid?(0)).must_equal true
40
- _(resource.has_home_directory?('/root')).must_equal true
41
- _(resource.has_login_shell?('/bin/bash')).must_equal true
42
- _(resource.minimum_days_between_password_change).must_equal 0
43
- _(resource.maximum_days_between_password_change).must_equal 99999
44
- # _(resource.has_authorized_key?('abc')).must_equal true
45
- end
46
-
47
- it 'read user on centos7' do
48
- resource = MockLoader.new(:centos7).load_resource('user', 'root')
49
- _(resource.exists?).must_equal true
50
- _(resource.group).must_equal 'root'
51
- _(resource.groups).must_equal ['root']
52
- _(resource.home).must_equal '/root'
53
- _(resource.shell).must_equal '/bin/bash'
54
- _(resource.mindays).must_equal 0
55
- _(resource.maxdays).must_equal 99999
56
- _(resource.warndays).must_equal 7
57
- end
58
-
59
- it 'read user on centos7' do
60
- resource = MockLoader.new(:wrlinux).load_resource('user', 'root')
61
- _(resource.exists?).must_equal true
62
- _(resource.group).must_equal 'root'
63
- _(resource.groups).must_equal ['root']
64
- _(resource.home).must_equal '/root'
65
- _(resource.shell).must_equal '/bin/bash'
66
- _(resource.mindays).must_equal 0
67
- _(resource.maxdays).must_equal 99999
68
- _(resource.warndays).must_equal 7
69
- end
70
-
71
- it 'read user on hpux' do
72
- resource = MockLoader.new(:hpux).load_resource('user', 'root')
73
- _(resource.home).must_equal '/'
74
- _(resource.shell).must_equal '/sbin/sh'
75
- end
76
-
77
- it 'read user on freebsd' do
78
- resource = MockLoader.new(:freebsd10).load_resource('user', 'root')
79
- _(resource.exists?).must_equal true
80
- _(resource.group).must_equal 'root'
81
- _(resource.groups).must_equal ['root']
82
- _(resource.home).must_equal '/root'
83
- _(resource.shell).must_equal '/bin/csh'
84
- _(resource.mindays).must_equal nil
85
- _(resource.maxdays).must_equal nil
86
- _(resource.warndays).must_equal nil
87
- end
88
-
89
- it 'read user on OSX' do
90
- resource = MockLoader.new(:osx104).load_resource('user', 'chartmann')
91
- _(resource.exists?).must_equal true
92
- _(resource.group).must_equal 'staff'
93
- _(resource.groups).must_equal ['staff', 'com.apple.sharepoint.group.1', 'everyone']
94
- _(resource.home).must_equal '/Users/chartmann'
95
- _(resource.shell).must_equal '/bin/zsh'
96
- _(resource.mindays).must_equal nil
97
- _(resource.maxdays).must_equal nil
98
- _(resource.warndays).must_equal nil
99
- end
100
-
101
- it 'read user on Windows' do
102
- resource = MockLoader.new(:windows).load_resource('user', 'example/Administrator')
103
- _(resource.exists?).must_equal true
104
- _(resource.group).must_equal nil
105
- _(resource.groups).must_equal ['WIN-K0AKLED332V\\Administrators', 'EXAMPLE\\Domain Admins']
106
- _(resource.home).must_equal nil
107
- _(resource.shell).must_equal nil
108
- _(resource.mindays).must_equal nil
109
- _(resource.maxdays).must_equal nil
110
- _(resource.warndays).must_equal nil
111
- end
112
-
113
- it 'read user on undefined os' do
114
- resource = MockLoader.new(:undefined).load_resource('user', 'example/Administrator')
115
- _(resource.exists?).must_equal false
116
- _(resource.group).must_equal nil
117
- _(resource.groups).must_equal nil
118
- _(resource.home).must_equal nil
119
- _(resource.shell).must_equal nil
120
- _(resource.mindays).must_equal nil
121
- _(resource.maxdays).must_equal nil
122
- _(resource.warndays).must_equal nil
123
- end
124
- end
@@ -1,18 +0,0 @@
1
- # encoding: utf-8
2
- # author: Christoph Hartmann
3
- # author: Dominik Richter
4
-
5
- require 'helper'
6
- require 'inspec/resource'
7
-
8
- describe 'Inspec::Resources::VbScript' do
9
-
10
- vb_script = <<-EOH
11
- WScript.Echo "hello vbscript"
12
- EOH
13
-
14
- it 'check if `vbscript` for windows is properly generated ' do
15
- resource = MockLoader.new(:windows).load_resource('vbscript', vb_script)
16
- _(resource.command).must_equal 'powershell -encodedCommand JABQAHIAbwBnAHIAZQBzAHMAUAByAGUAZgBlAHIAZQBuAGMAZQA9ACcAUwBpAGwAZQBuAHQAbAB5AEMAbwBuAHQAaQBuAHUAZQAnADsAJAB2AGIAcwBjAHIAaQBwAHQAIAA9ACAAQAAiAAoAIAAgACAAIABXAFMAYwByAGkAcAB0AC4ARQBjAGgAbwAgACIAaABlAGwAbABvACAAdgBiAHMAYwByAGkAcAB0ACIACgAKACIAQAAKACQAZgBpAGwAZQBuAGEAbQBlACAAPQAgAFsAUwB5AHMAdABlAG0ALgBJAE8ALgBQAGEAdABoAF0AOgA6AEcAZQB0AFQAZQBtAHAARgBpAGwAZQBOAGEAbQBlACgAKQAgACsAIAAiAC4AdgBiAHMAIgAKAE4AZQB3AC0ASQB0AGUAbQAgACQAZgBpAGwAZQBuAGEAbQBlACAALQB0AHkAcABlACAAZgBpAGwAZQAgAC0AZgBvAHIAYwBlACAALQB2AGEAbAB1AGUAIAAkAHYAYgBzAGMAcgBpAHAAdAAgAHwAIABPAHUAdAAtAE4AdQBsAGwACgBjAHMAYwByAGkAcAB0AC4AZQB4AGUAIAAvAG4AbwBsAG8AZwBvACAAJABmAGkAbABlAG4AYQBtAGUACgBSAGUAbQBvAHYAZQAtAEkAdABlAG0AIAAkAGYAaQBsAGUAbgBhAG0AZQAgAHwAIABPAHUAdAAtAE4AdQBsAGwACgA='
17
- end
18
- end
@@ -1,17 +0,0 @@
1
- # encoding: utf-8
2
- # author: Christoph Hartmann
3
- # author: Dominik Richter
4
-
5
- require 'helper'
6
- require 'inspec/resource'
7
-
8
- describe 'Inspec::Resources::Feature' do
9
- describe 'feature' do
10
- it 'verify windows feature parsing' do
11
- resource = MockLoader.new(:windows).load_resource('windows_feature', 'dhcp')
12
- pkg = { name: 'DHCP', description: 'Dynamic Host Configuration Protocol (DHCP) Server enables you to centrally configure, manage, and provide temporary IP addresses and related information for client computers.', installed: false, type: 'windows-feature' }
13
- _(resource.info).must_equal pkg
14
- _(resource.installed?).must_equal false
15
- end
16
- end
17
- end
@@ -1,42 +0,0 @@
1
- # encoding: utf-8
2
- # author: Christoph Hartmann
3
- # author: Dominik Richter
4
-
5
- require 'helper'
6
- require 'inspec/resource'
7
-
8
- describe 'Inspec::Resources::WMI' do
9
-
10
- # Check the following as unit test
11
- # describe wmi({
12
- # class: 'win32_service',
13
- # filter: "name like '%winrm%'"
14
- # }) do
15
- # its(['Path','ClassName']) { should eq 'Win32_Service' }
16
- # its('DisplayName') { should eq 'Windows Remote Management (WS-Management)'}
17
- # end
18
-
19
- # windows
20
- it 'verify wmi parsing on windows' do
21
- resource = MockLoader.new(:windows).load_resource('wmi', {class: 'win32_service', filter: "name like '%winrm%'" })
22
- _(resource.send('DisplayName')).must_equal 'Windows Remote Management (WS-Management)'
23
- end
24
-
25
- # ubuntu 14.04 with upstart
26
- it 'fail wmi on ubuntu' do
27
- resource = MockLoader.new(:ubuntu1404).load_resource('wmi', {class: 'win32_service', filter: "name like '%winrm%'" })
28
- _(resource.send('DisplayName')).must_equal nil
29
- end
30
-
31
- # centos 7 with systemd
32
- it 'fail wmi on centos' do
33
- resource = MockLoader.new(:centos7).load_resource('wmi', {class: 'win32_service', filter: "name like '%winrm%'" })
34
- _(resource.send('DisplayName')).must_equal nil
35
- end
36
-
37
- # unknown OS
38
- it 'fail wmi on unknown os' do
39
- resource = MockLoader.new(:undefined).load_resource('wmi', {class: 'win32_service', filter: "name like '%winrm%'" })
40
- _(resource.send('DisplayName')).must_equal nil
41
- end
42
- end