Nick Schwaderer
82c6472444
Merge pull request #5069 from inspec/cw/reporter-plugin-cli
...
Make CLI reporter into a plugin
2020-06-17 17:02:07 +01:00
Clinton Wolfe
98ae89e6cc
Convert JUnit reporter to plugin, RunData is still Hash-based
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-11 16:46:04 -04:00
James Stocks
070823122d
Merge pull request #5062 from inspec/cw/reporter-plugin-jsonmin
...
Make the JSON-min Reporter into Plugin
2020-06-11 12:30:18 +01:00
Clinton Wolfe
09bbc7e2e7
Remove a ruby expression-based test
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-05 17:40:49 -04:00
Clinton Wolfe
925363766e
Document and test to verify that it skips resources in describe blocks
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-05 17:40:49 -04:00
Clinton Wolfe
f39cf8c904
Tests to exercise only_if functionality
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-05 17:39:54 -04:00
James Stocks
d5f825e716
Merge pull request #5026 from inspec/cw/silence-deprecations
...
CLI Option to silence deprecations
2020-06-05 14:10:50 +01:00
Nick Schwaderer
fb1aeb0655
Merge pull request #5011 from inspec/cw/complex-cli-inputs
...
Boolean, Numeric, and Structured CLI inputs
2020-06-05 04:23:48 -07:00
Clinton Wolfe
458a5c4410
Replace Hash RunData access with method calls
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-03 21:51:21 -04:00
Clinton Wolfe
76033c03ff
Convert CLI reporter to plugin, RunData is still Hash-based
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-03 21:13:27 -04:00
Clinton Wolfe
afc6e59e95
Update run_data fixture to include correct statistics structure
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-03 20:30:29 -04:00
Clinton Wolfe
99ec27b337
Fix json-min reporter unit test
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-02 21:35:16 -04:00
Clinton Wolfe
26e5ae3410
Update run_data fixture to include correct statistics structure
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-06-02 21:34:42 -04:00
Clinton Wolfe
88da919558
Fix exit code check for windows
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-25 23:27:00 -04:00
Clinton Wolfe
d5be4c2927
Test kitchen setup to test detection of audit-cookbook
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-25 21:00:24 -04:00
Clinton Wolfe
43a5fd7945
Test kitchen setup to verify Telemetry RunContext detection under TestKitchen
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-25 21:00:24 -04:00
Clinton Wolfe
09cfcedcd4
Refactor os_prepare cookbook to split out inspec installation
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-25 21:00:24 -04:00
Clinton Wolfe
439c93b115
Add a functional test to check Thor run context detection
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-25 21:00:24 -04:00
Clinton Wolfe
dcc70bc541
Trim log message, make boolean check case insensitive
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-23 00:25:08 -04:00
James Stocks
32fa14f1b0
Merge pull request #5039 from james-stocks/js/issue_5037
...
Allow for waiver time as well as date
2020-05-22 16:52:23 +01:00
James Stocks
23ed9bcf06
Merge pull request #5007 from inspec/cw/reporters-as-plugins
...
Reporters as Plugins
2020-05-22 16:10:29 +01:00
Clinton Wolfe
6dfb37befa
typo
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-21 18:57:30 -04:00
Clinton Wolfe
3184d5ca9e
Add an object model for run_data
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-20 13:27:20 -04:00
James Stocks
350c0bfe8f
Handle waiver expiration dates being YAML strings
...
This is technically incorrect YAML, but if you transcode YAML between several tools you may end up with a date/time value being an explicit string.
It would be helpful if InSpec supported any string value that easily translates to a Time.
Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-20 15:00:43 +01:00
James Stocks
35e36ad40a
Allow for waiver time as well as date
...
Fixes #5037
The YAML parser may parse a waiver timestamp as a Time rather than a Date. Even when the user doesn't care about time, they may be using a tool that outputs YAML with trailing zeroes for hour, minutes, seconds etc.
Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-20 14:59:07 +01:00
Nick Schwaderer
989d86c2ce
Stores output of inspec json
to archive and artifact
...
Signed-off-by: Nick Schwaderer <nschwaderer@chef.io>
2020-05-20 12:34:17 +01:00
Clinton Wolfe
6a59618d2b
Add a failing test case for silencing deprecations
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-13 22:45:58 -04:00
Clinton Wolfe
ee095a244a
Soften the exception to a warning when the input is not parseable
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-07 10:47:57 -04:00
James Stocks
ba99226baf
Remove TODO Windows skip
...
I removed the skip to see what would break, and on my Windows laptop
these tests pass OK. The TODO didn't explain what wasn't applicable to
Windows, so I'm just going to remove it.
Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-07 14:01:32 +01:00
James Stocks
1510ff1078
Remove Windows skip from test/functional/inspec_exec_jsonmin_test.rb
...
Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-07 13:16:22 +01:00
James Stocks
2103b52dbe
Merge pull request #4994 from james-stocks/js/json
...
Reporter options to truncate message and suppress stacktrace
2020-05-07 12:54:34 +01:00
Clinton Wolfe
12f3f313cb
Don't try to test JSON input under powershell
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-06 16:33:50 -04:00
Clinton Wolfe
786e3728d7
Failing tests for #4799
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 18:09:11 -04:00
Clinton Wolfe
970f583764
Tighten up tests
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 17:59:50 -04:00
Clinton Wolfe
c683c4d64d
Failing test cases for 4963
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 17:37:23 -04:00
Clinton Wolfe
824018efa3
Failing test cases for #4977
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 17:37:23 -04:00
Clinton Wolfe
5accb27224
Linting, and a thinko
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 16:51:31 +01:00
Clinton Wolfe
5a7a48bb62
Basics of a working reporter plugin system
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-05-05 16:51:31 +01:00
Nick Schwaderer
a1129f9efc
Allows input and control to have the same name
...
In https://github.com/inspec/inspec/issues/4936 the issue was reported that naming an input the same as a control caused an unexpected failure.
In that particular case, the naming was a result of a pre-waivers workaround which is no longer necessary, but ultimately a breakage of that name clash is an unexpected occurrance.
Due to how inputs are named and registered, `__apply_waivers` thinks that an object is a waiver that is not a waiver and tries to process it. On the micro level, it breaks when trying to pass a variable to a string as if it were a Hash.
It is imperative that we preserve 100% of the current featureset, pass our tests, and fix this edge case along with new test coverage for the failure.
This PR updates the code to do a slightly more elegant and small ‘waiver check’ to stop the namespace clash from breaking our code.
Signed-off-by: Nick Schwaderer <nschwaderer@chef.io>
2020-05-05 10:00:19 +01:00
James Stocks
69fb6e0782
Move reporter option handling to base
...
They don't need to be json specific, they should apply to any reporter if the user has chosen these settings.
Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-04 15:24:50 +01:00
James Stocks
ae66aee2b2
(WIP) Reporter options to truncate message and suppress stacktrace
...
TODO: Option names are not JSON specific but only json reporter has been implemented.
Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-04 15:24:50 +01:00
James Stocks
e4fd110ff4
Push Windows test skipping for 2 more months
...
There are open issues for the failng cases and they are in our priority list.
https://github.com/inspec/inspec/issues?q=is%3Aopen+label%3A%22Aspect%3A+Testing%22+label%3A%22Platform%3A+Windows%22
Signed-off-by: James Stocks <jstocks@chef.io>
2020-05-04 14:55:51 +01:00
Clinton Wolfe
58e8bc5167
Divide tests into undeclared and required groups
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-04-24 16:38:11 -04:00
Clinton Wolfe
a12dfcfdc0
Add a failing test case for 4769
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-04-24 13:57:28 -04:00
James Stocks
951fcc9553
Merge pull request #4954 from tecracer-theinen/feature/virtualization-detection
...
Improve virtualization resource
2020-04-06 10:23:58 +01:00
James Stocks
6b11089789
Add 1 more month to Windows test skipping
...
Signed-off-by: James Stocks <jstocks@chef.io>
2020-04-02 17:19:16 +01:00
Thomas Heinen
be120e13b1
Fix deprecation warning on auditd test
...
Signed-off-by: Thomas Heinen <theinen@tecracer.de>
2020-03-11 17:24:39 +00:00
Thomas Heinen
6a90c10ae3
Improve virtualization resource
...
Signed-off-by: Thomas Heinen <theinen@tecracer.de>
2020-03-11 17:46:32 +01:00
Clinton Wolfe
a38100a185
Update GCP and azure tests to reflect no-creds errors as seen on CI server
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-03-02 14:32:12 -05:00
Clinton Wolfe
2d9c443a04
Add functional tests that try each of the cloud resource packs with bad creds
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-26 14:41:38 -05:00
Ross Moles
e7f01151f0
Merge branch 'master' into oracledb_session_resource
2020-02-14 10:50:10 +00:00
Clinton Wolfe
03d394a51b
Fix auditd resource processing of action and list ( #4665 )
...
Fix auditd resource processing of action and list
2020-02-13 15:12:47 -05:00
Ross Moles
351c4e3651
update unit test
...
Signed-off-by: Ross Moles <rmoles@chef.io>
2020-02-12 18:17:04 +00:00
Ryan Davis
d2e1c3a463
Merge pull request #4905 from inspec/zenspider/artifact
...
Fix artifact-habitat testing for inspec.
2020-02-10 18:57:20 -08:00
Miah Johnson
7bb0bb2188
Merge pull request #4865 from inspec/jh/schema-improvements
...
Jh/schema improvements
2020-02-10 18:38:28 -08:00
Ryan Davis
947365719a
Fix artifact-habitat testing for inspec.
...
Needed a fallback on `ENV["project_root"]` not being defined.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-10 18:34:00 -08:00
Clinton Wolfe
774b5944fb
Detect install type via install path ( #4856 )
...
Detect install type via install path
2020-02-10 15:36:04 -05:00
Clinton Wolfe
73b3336e30
Test feedback
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-10 15:12:32 -05:00
Miah Johnson
4f642e0942
Clean up schema PR.
...
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2020-02-05 17:06:55 -08:00
Jacob Henry
724f82237b
Revision of schema to JSON Schema draft 7
...
Signed-off-by: Jacob Henry <jchenry@mitre.org>
2020-02-05 17:05:47 -08:00
Clinton Wolfe
f52b195d7d
...
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-05 12:21:14 -05:00
Clinton Wolfe
f8d99eabb9
Move path_exist test code into test file
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-02-05 12:15:48 -05:00
Ryan Davis
ee2401cb13
Merge pull request #4884 from inspec/zenspider/mocha/quiet
...
Please stop warning about mocha.
2020-02-04 12:59:47 -08:00
Clinton Wolfe
64c35b78f9
issue 4807: test for inputs in profiles ( #4883 )
...
issue 4807: test for inputs in profiles
2020-02-04 14:54:29 -05:00
Ryan Davis
6330fa486f
Please also stop warning about VERSION being defined.
...
This removes ::InspecPlugins::TestFixture in installer_test and
loader_test on every test.
Please... no more output in our test runs...
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 16:38:25 -08:00
Ryan Davis
327e571ce9
Please stop warning about mocha.
...
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:49:47 -08:00
Ryan Davis
07d5e84eb7
Improved the unit/profiles/* tests.
...
Use better assertions for better failure messages.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
89a0b44c64
Refactored and moved Resource.create_dsl to ProfileContext.
...
ProfileContext#to_resources_dsl is the only usage of it.
The responsibility for this code should be on ProfileContext.
Refactored a majority of #create_dsl to be a 2-line long Module.new
instead of 36 lines. Much less magic. Still has an anonymous module
but it is now much easier to address and debug.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
fa3122cbff
Removed metaprogramming in Inspec::Backend.
...
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
cea752a01d
Tweak for aws resources to determine if they're still under test.
...
Everyone now has an `inspec` method, but the AWS ones still return
nil as their backend hasn't been set up.
This seems wrong...
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
ae0dead7be
This is all dead. Removed.
...
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
43f520b4a8
Merged Inspec::Plugins::Resource to Inspec::Resource.
...
This also removes Inspec::ResourceBehaviors and Inspec::ResourceDSL.
All class methods look like class methods.
All instance methods look like instance methods.
There is still too much clever going on with __register creating
another anonymous subclass, but I think I can work that out/down too.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 14:41:37 -08:00
Ryan Davis
44a006a05a
Rename Inspec::Resource.supports to support_registry.
...
To fix an already existing name collision between Inspec::Resource and
Inspec::Plugins::Resource.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:19:32 -08:00
Ryan Davis
99f86c8a0b
These tests don't pass on a network cafe and just hang forever.
...
Changing to localhost resolves immediately but assumes you're NOT
running a git server on http locally.
This seems more valid to me than assuming you know how DNS is going to
resolve everywhere.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
51b65f6c2e
Overhaul Platform#supported?
...
+ State normal path first.
+ Use Enumerable to state your logic up front, don't build it into
loops with breaks/returns.
+ Remove nonsensical duplication of key formats. (should push up or remove)
+ Had to add an extra test case that wasn't covered here but was in
metadata_test.rb (why?!?)
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
2490a88b9c
Minor test improvements
...
We need to track down `x.must_equal true`.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
99ded5a132
Improve test expressiveness by using more direct assertions.
...
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
06ceba3f3d
Add test for LEC to expose second-level libraries require.
...
Not the best test in the world, but it is better than nothing.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Ryan Davis
ddb0db12ef
Completely refactored profile_resource_exceptions_test.rb
...
Half... half.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-02-03 13:18:56 -08:00
Nazli Beitollahpour
8a03d38b4b
issue 4807: test for inputs in profiles
...
Signed-off-by: Nazli Beitollahpour <nazli.beitollahpour@umontreal.ca>
2020-02-02 21:43:41 -05:00
Ryan Davis
a3060c4ca8
Merge pull request #4860 from inspec/cw/win-func-input-tests
...
Remove skips from windows testing in 'inputs' and 'archive' functional tests
2020-01-31 17:51:36 -08:00
Ryan Davis
c70f73dc96
Merge pull request #4864 from inspec/zenspider/resource/inspect
...
Added --inspect option to inspect shell command.
2020-01-31 16:42:00 -08:00
Ryan Davis
cc1393bb9a
Merge pull request #4822 from PiQuer/master
...
make command.exist? POSIX conform
2020-01-31 16:41:27 -08:00
Ryan Davis
f2155a64ed
Merge pull request #4843 from michaellihs/master
...
Add support for yocto linux in service resource
2020-01-29 16:19:27 -08:00
Ryan Davis
19ce5df589
Merge pull request #4827 from inspec/mj/namespaces
...
Move parsers under Utils
2020-01-29 16:18:43 -08:00
Ryan Davis
10406545ca
Merge pull request #4862 from inspec/zenspider/resources
...
Fix up the platform on etc_hosts, virtualization, ini, and xml resources to fix OS disparity.
2020-01-29 16:07:47 -08:00
Ryan Davis
2ae2bcf6fb
Merge pull request #4818 from JackChance/master
...
replaced instances of `have_protocols` with `have_protocol` in docume…
2020-01-29 15:46:25 -08:00
Clinton Wolfe
37455bdd11
Parallelize unit tests
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-01-29 16:15:58 -05:00
Clinton Wolfe
3419c84233
Make predicates private to reduce namespace pollution; added dockerenv check for docker mode
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-01-29 11:28:52 -05:00
Ryan Davis
9c051da22b
Fix platform on apache_conf to include all unix.
...
Now discovers the first available conf file from a list of known
paths. Might have to expand based on various distros.
Had to tweak the tests because the mock loader mocks EVERYTHING every
time. :/
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-01-28 14:53:37 -08:00
Ryan Davis
8bd2528ef8
Added --inspect option to inspect shell command.
...
* Removed Resource#inspect (calling to_s) to make debugging a happy experience.
* Added ResourceBehavior.toggle_inspect to add/remove a basic inspect.
* Added `--inspect` flag to `shell` command. Call toggle_inspect unless --inspect used.
* Cleaned up matchers.rb and removed most explicit calls to inspect.
* Added ResourceInspector to rspec's INSPECTOR_CLASSES.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-01-28 14:52:04 -08:00
Clinton Wolfe
3d5226fb68
Q-quote the args to the train plugin
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-01-28 13:48:10 -05:00
Clinton Wolfe
28f8d6cc5f
Removing skip in archive test just seems to work, too
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-01-28 12:24:29 -05:00
Clinton Wolfe
6290ee0190
Just remove skips, it seems to work
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-01-28 11:57:25 -05:00
Clinton Wolfe
357cf051b1
PR feedback part 1
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-01-28 11:06:12 -05:00
Clinton Wolfe
46ade02401
Use an archive if possible when fetching fails and --airgap is… ( #4806 )
...
Use an archive if possible when fetching fails and --airgap is provided
2020-01-28 10:02:57 -05:00
Ryan Davis
df31f744f4
Fix up platform on filesystem resource.
...
From linux to unix. This should work fine even on AIX, according to
the man pages.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2020-01-27 15:34:33 -08:00
Clinton Wolfe
76a9c3e590
Install-path based install context detection
...
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2020-01-27 13:29:37 -05:00
Noel Georgi
7ac25401bb
Add: content option for x509_certificate
...
Signed-off-by: Noel Georgi <git@frezbo.com>
2020-01-22 13:49:35 +05:30
Raimar Sandner
fa2f2c2caa
make command.exist? POSIX conform
...
With the current implementation, on a Linux system without bash
command.exist? always returns false. 'sh -c' is guaranteed to exist on a
POSIX-conform system [1] whereas 'bash -c' only works if bash is
actually installed.
[1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sh.html
Obvious fix.
2020-01-19 00:05:33 +01:00