Commit graph

163 commits

Author SHA1 Message Date
Clinton Wolfe
d1a42b8059 filter was introduced in ruby 2.6
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
f44c7bcdcd Convert the plugin name to a string only once when guessing at versions
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
1b7a8f3888 Make const in test file
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
8d80c89e56 Make install types and labels constant
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
f962ef2662 Simplify sort for list output
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
16fecbefb5 Return version number when listing plugins; correct UX coloration
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
e1031cc818 Correct newlines and duplicate output ins various UX messaging
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
cc758c7624 Linting
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
f0aa934ddc List tests pass again, adding filtering options
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
8cab0e862b Adopt the new UI style table, breaking most of the UI tests, which were already broken anyway
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:29:42 -04:00
Clinton Wolfe
68329aa8e5 Linting
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:28:52 -04:00
Clinton Wolfe
e581245391 Plausible implementation of detect_system_plugins
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:28:52 -04:00
Clinton Wolfe
00b2d9480a Rename constant for user gem installs for clarity
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:28:52 -04:00
Clinton Wolfe
149663ba55 Updated messaging for user gem plugins
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:28:52 -04:00
Clinton Wolfe
4211d3eb7c Failing functional tests for listing plugin gems
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-27 21:26:49 -04:00
Clinton Wolfe
2ef151dd56 Hrm, linting for upstream?
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-08-19 13:52:28 -04:00
Clinton Wolfe
80d5788883
Apply new UI code to CLI and plugin-manager-cli (#4000)
Apply new UI code to CLI and plugin-manager-cli
2019-07-30 14:37:09 -04:00
Clinton Wolfe
b8c9043a3a
Permit plugin to be in path with git ref (#4251)
Permit plugin to be in path with git ref
2019-07-30 13:58:37 -04:00
Clinton Wolfe
88962af285 Update UX message testing
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-07-30 13:19:43 -04:00
Clinton Wolfe
918acb01c1 Linting
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-07-30 13:19:43 -04:00
Miah Johnson
b148bc85a2 Only some of the output is red
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-07-30 13:19:43 -04:00
Miah Johnson
9fb755a213 Use EXIT value constants
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-07-30 13:19:43 -04:00
Miah Johnson
a524dc030f Convert to new Inspec::UI in inspec-plugin-manager-cli
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-07-30 13:19:43 -04:00
Clinton Wolfe
962ec0591e
Transition the Habitat plugin to use scaffolding (#4320)
Transition the Habitat plugin to use scaffolding
2019-07-29 12:50:49 -04:00
Ryan Davis
917a531a92 Skipped all failing tests on windows AT the failures site.
This activates a BUNCH of tests but keeps us green.

Whether these tests are valid or not is not being addressed here.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-07-24 18:09:08 -07:00
Ryan Davis
1d5d3dfc43 I don't know how I missed these. Removing the rest of the skip_windows calls.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-07-24 18:06:25 -07:00
Ryan Davis
18ce4850f0 Initial pass to clean up functional testing wrt exit codes and output.
This should get windows tests running again? Hopefully? They're
running SO slowly on my vagrant box that I'm just pushing for now.
They're clean on the mac side.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-07-24 18:06:25 -07:00
John Snow
ea7956177a Fix tests to use only plan file
Signed-off-by: John Snow <thelunaticscripter@outlook.com>
2019-07-22 07:35:33 -04:00
John Snow
bbb809f703 Transition the Habitat plugin to use scaffolding
Signed-off-by: John Snow <thelunaticscripter@outlook.com>
2019-07-19 15:25:06 -04:00
Miah Johnson
a4f4fe5231 chefstyle -a; https://github.com/chef/chefstyle/pull/74
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-07-08 17:22:50 -07:00
Clinton Wolfe
e4e7c255de Automated chefstyle application for rubocop 0.72 compatibility
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-07-03 17:24:41 -04:00
James Stocks
3ef4092d39 Permit plugin to be in path with git ref
Fixes #3904

Signed-off-by: James Stocks <jstocks@chef.io>
2019-07-02 16:49:38 +01:00
Ryan Davis
387b713d79 Removing extra requires from inspec/profile.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-06-11 21:32:22 -07:00
Ryan Davis
692d6a9ab8 hand applied one that is now marked as unsafe in rubocop
Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-06-11 18:52:38 -07:00
Miah Johnson
20531342d2 unused assignment
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-06-11 18:52:38 -07:00
Miah Johnson
e46018a517 chefstyle -a cleanup
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-06-11 18:52:38 -07:00
Ryan Davis
a5309ea392 blindly applied chefstyle -a
Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-06-11 18:52:03 -07:00
Ryan Davis
58fa148773 Stabilize windows functional testing.
Skip most everything.

After some digging, in those tests that didn't have 100% failures, of
the ~10+% passing, those tests weren't checking enough. So I skip them
too in the hopes that we improve testing across the board.

At this point, we need appveyor to be green more than we need these
tests to be fixed. If that means we skip them, so be it.

These tests will time-bomb at the end of July.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-06-03 23:27:26 -07:00
Miah Johnson
2a1b1d8e88 Remove all leading newlines.
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-05-31 11:43:44 -07:00
Ryan Davis
be125598c8 Additional whitespace cleanup.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-29 17:58:02 -07:00
Ryan Davis
fcb65b2ffb Fixed Inspec::Dist on habitat CLI.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-29 16:22:28 -07:00
Artem Sidorenko
eee2199960 Dist branding for plugins/inspec-compliance
Signed-off-by: Artem Sidorenko <artem.sidorenko@t-systems.com>
2019-05-28 21:00:56 +02:00
Artem Sidorenko
e468c592ca Dist branding for plugins/inspec-habitat
Signed-off-by: Artem Sidorenko <artem.sidorenko@t-systems.com>
2019-05-28 21:00:56 +02:00
Artem Sidorenko
4c0260aedd Dist branding for plugins/inspec-artifact
Signed-off-by: Artem Sidorenko <artem.sidorenko@t-systems.com>
2019-05-28 21:00:49 +02:00
Artem Sidorenko
5a2bf961f8 Dist branding for plugins/inspec-plugin-manager-cli
Signed-off-by: Artem Sidorenko <artem.sidorenko@t-systems.com>
2019-05-28 21:00:36 +02:00
Ryan Davis
22a3ee5855 Fixed missing requires.
Telemetry tests were hitting inspec/config via a different route and
inspec/config uses forwardable w/o requiring.

lib/plugins/inspec-compliance/test/unit/api_test.rb had a test that
had never run before and required webmock.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-18 21:02:13 -07:00
Ryan Davis
9b7c292d4c Use IO globals instead of IO constants.
Helps testing and lots of other things if we only use $stdout/$stderr.

STDOUT/STDERR should only be used to restore the globals.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-18 12:48:18 -07:00
Ryan Davis
9b0d8edfb4 Fixed another bad test interaction.
This time between:

+ PluginManagerCliDefinitionTests#(?:test_plugin_registered
+ PluginLoaderTests#test_load_mock_plugin_by_gem

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-17 02:26:07 -07:00
Ryan Davis
8ec76e666e Fixed assignment to RUBY_VERSION.
Lost in a sea of deprecation warnings.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-17 02:26:07 -07:00
Ryan Davis
a53d118b3f Punting on 2 tests in inspec-plugin-manager-cli.
These two tests make assumptions that are not valid when bundler is
not being used.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-17 02:26:07 -07:00
Ryan Davis
7935d5553d Fix how we're running inspec to include local lib dir.
Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-17 02:26:06 -07:00
Ryan Davis
e7348f4d72 Add minitest/hell and parallelize_me! to the plugin tests.
We already do this in test/helper.rb so we might as well do it here.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-17 02:26:06 -07:00
Ryan Davis
6235c3f658 Fixed missing requires
Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-17 02:26:06 -07:00
Lynn Frank
4511ac6aaf Updates the init plugin desc to show proper usage
Obvious fix.
2019-05-16 16:43:05 -05:00
Ryan Davis
6adf1d2560 Remove all byebug requires in code.
Please don't leave debugging remnants in the code.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-14 23:24:14 -07:00
Miah Johnson
f7575cca00 Remove more magic comments
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-05-09 13:24:25 -07:00
Miah Johnson
11b8da3283
Merge branch 'master' into mj/encoding 2019-05-08 12:59:55 -07:00
Miah Johnson
659b4b373a Remove # encoding: utf8 magic comments
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-05-07 16:06:23 -07:00
Ryan Davis
476c6878b3 Modernize use of Minitest.
+ Turn off verbosity in Rakefile by default. Use `rake V=1` to turn back on.
+ MiniTest -> Minitest everywhere.
+ MiniTest::Unit::TestCase -> Minitest::Test everywhere.
+ Updated minitest doco urls to official and up-to-date site.
+ Normalize requires. Only needs "minitest/autorun" and "minitest/pride".

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-05-03 15:01:57 -07:00
Clinton Wolfe
a282204b41 Update exe location in functional test helpers
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-04-29 13:27:10 -06:00
Stuart Paterson
3f1ed29af8 Address PR feedback, add a comment to inspec.yml.
Signed-off-by: Stuart Paterson <spaterson@chef.io>
2019-04-08 14:30:21 -04:00
Stuart Paterson
549a04bdae Update README with the re-added security group control.
Signed-off-by: Stuart Paterson <spaterson@chef.io>
2019-04-08 14:30:21 -04:00
Stuart Paterson
50a7bc7862 Replace port 22 ingress control.
Signed-off-by: Stuart Paterson <spaterson@chef.io>
2019-04-08 14:30:21 -04:00
Stuart Paterson
41a680270e Update AWS profile generation for InSpec 4 to depend on the new resource pack.
Signed-off-by: Stuart Paterson <spaterson@chef.io>
2019-04-08 14:30:21 -04:00
Clinton Wolfe
74e2f72ed5
Merge pull request #3818 from inspec/ja/rewrite-habitat-plugin
Rewrite inspec-habitat plugin
2019-03-08 09:51:46 -05:00
Stuart Paterson
54e7428e75
Set minimal inspec version in line with inspec-zure resource pack guidelines.
Signed-off-by: Stuart Paterson <spaterson@chef.io>
2019-03-04 15:47:39 +00:00
Stuart Paterson
a337ca1d23
Add InSpec init profile folder for Azure.
Signed-off-by: Stuart Paterson <spaterson@chef.io>
2019-03-04 15:33:37 +00:00
Stuart Paterson
dcb141da79
Add InSpec init profile for Azure.
Signed-off-by: Stuart Paterson <spaterson@chef.io>
2019-03-04 15:32:31 +00:00
Jerry Aldrich
7168c41c09 Prevent stack trace from being set to the user
This also verifies Habitat setup during create as well

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-28 11:55:59 -08:00
Jerry Aldrich
1ac435bceb Modify output to be a bit better for the user
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-28 10:42:42 -08:00
skylerto
51cda478d2 Fix issues with inspec compliance upload
Issues with underlying API changes caused a break in the current `inspec compliance upload`

This diff shows the change in API:

3cc2ee63e0...85c815011a (diff-9d107f8e84fe350fa821fed1838dbda8L162)

Implementing the same change in the `inspec-compliance` plugin fixes the
following issue:

```
Traceback (most recent call last):
        11: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/inspec-3.6.12/bin/inspec:12:in `<main>'
        10: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'
         9: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
         8: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
         7: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
         6: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor.rb:238:in `block in subcommand'
         5: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor/invocation.rb:115:in `invoke'
         4: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
         3: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
         2: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
         1: from /hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/inspec-3.6.12/lib/plugins/inspec-compliance/lib/inspec-compliance/cli.rb:144:in `upload'
/hab/pkgs/chef/inspec/3.6.12/20190221172437/lib/gems/inspec-3.6.12/lib/inspec/backend.rb:45:in `create': undefined method `unpack_train_credentials' for {:target=>"mock://"}:Hash (NoMethodError)
```

Signed-off-by: skylerto <skylerclayne@gmail.com>
2019-02-25 10:24:27 -05:00
Jerry Aldrich
b533958ae6 Remove stacktrace being sent to exit_with_error
It is already available at the debug log level.

Thanks @clintoncwolfe for the suggestion.

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-22 10:56:28 -08:00
Jerry Aldrich
535ecdc4ac Remove Rakefile (testing should be done in InSpec)
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-21 15:02:54 -08:00
Jerry Aldrich
3a67e1c958 Fix typos/grammer/etc in README.md
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-21 15:02:37 -08:00
Jerry Aldrich
5676bd114f Align = in initialize
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-21 13:16:20 -08:00
Jerry Aldrich
d2569e8da9 Make @log and attr_reader and rename to logger
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-21 13:16:16 -08:00
Jerry Aldrich
27eab8686f Change log message type to debug
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-21 13:06:08 -08:00
Stuart Paterson
7ec1803adb
Moved the AWS init profile to the correct location.
Signed-off-by: Stuart Paterson <spaterson@chef.io>
2019-02-20 15:16:11 +00:00
Jerry Aldrich
bf748d8478 Rewrite inspec-habitat plugin
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-19 00:47:14 -08:00
Jerry Aldrich
7134989eba Respond to @clintoncwolfe's feedback
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-02-07 11:15:01 -08:00
Clinton Wolfe
b831083d0d Add a UX reminder to update the license
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 12:08:21 -05:00
Clinton Wolfe
ffb3ee7e32 Correct functional test
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
e3070cb02f PR feedback on product capitalization
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
4582f1f8a7 linting
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
247e004c8e Add detail option, to make stripped-down plugins
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
fe7a683198 Add interactive prompting
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
731b0705f5 Templatize everything for InSpec plugins
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
5343c217b0 All templates work, but need to decide on hooks
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
f95476179c support for LICENSE
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
d553f4cbc3 Enough options to cover gemspec
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
f83ea2d7bb Add ability to remap filenames
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
4b9fd1df79 Basic template, not parameterized
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
677542de02 Split the CLI implementation file
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
e00582f0ec Adapt to new UI module
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Clinton Wolfe
81d07cd8d9 Move templates dir outside of lib
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2019-02-06 11:58:10 -05:00
Jerry Aldrich
ffe0bd4761 Update Habitat plugin (#3646)
This updates the Habitat plugin by doing the following:
  - Removing `settings.sh` in favor of Habitat config TOMLs
  - Changing deprecated `--format` to `--reporter`
  - Cleaning up plan.sh in several ways
  - Adding handling for different exit codes
  - Removing unnecessary runtime deps
  - Vendoring the InSpec archive during build
  - Using shebangs that reference Habitat's bash
  - Adding error handling for `hab studio enter`/`build` from `habitat/`
  - Making `pkg_svc_user` use default `hab` and not `root`

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2018-12-06 10:17:39 -05:00
Caprowni
af4253c755 Adding an AWS platform template so that it can be specified to create a template when using 'inspec init --platform' (#3622)
Signed-off-by: Liam Caproni <liamcaproni@gmail.com>
2018-11-27 16:55:03 -05:00
David Alexander
83d382c965 Fixes (some) ruby warnings related to functional tests (#3561)
* Fixes (some) ruby warnings related to functional tests
* Removes unneeded `Dir.tmpdir` from test

Signed-off-by: David Alexander <opensource@thelonelyghost.com>
2018-11-05 09:59:01 -05:00
Jerry Aldrich
701dd9fb0b Change usage of Dir.home to Inspec.config_dir (#3567)
This prevents errors on systems without `ENV['HOME']` (e.g. Habitat
services) by allowing the specification of the location of `.inspec` via
`ENV['INSPEC_CONFIG_DIR']`.

Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2018-11-01 16:32:45 -04:00
Stuart Paterson
f64da78edb Adding inspec init profile for GCP. (#3484)
* Adding inspec init profile for GCP.
* Adding final newline, thanks rubocop.
* Ensure README headings are at the same level.
* Move OS-specific default profile to new location
* Enforce os-platform restriction on default profile template
* Use profile templates in subdirs.
* Updates to address PR feedback after rebasing from #3491.
* Alter test setup to properly use YAML

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2018-10-25 14:16:31 -04:00