inspec/test/unit
Steven Danna 6034ece853 Initial control isolation support
The goal of this change is to provide an isolated view of the available
profiles when the user calls the include_controls or require_controls
APIs.  Namely,

- A profile should only be able to reference profiles that are part of
  its transitive dependency tree. That is, if the dependency tree for a
  profile looks like the following:

  A
  |- B --> C
  |
  |- D --> E

  Then profile B should only be able to see profile C and fail if it
  tries to reference A, D, or E.

- The same profile should be include-able at different versions from
  different parts of the tree without conflict.  That is, if the
  dependency tree for a profile looks like the following:

  A
  |- B --> C@1.0
  |
  |- D --> C@2.0

  Then profile B should see the 1.0 version of C and profile D should
  see the 2.0 profile C with respect to the included controls.

To achieve these goals we:

- Ensure that we construct ProfileContext objects with respect to the
  correct dependencies in Inspec::DSL.

- Provide a method of accessing all transitively defined rules on a
  ProfileContext without pushing all of the rules onto the same global
  namespace.

This does not yet handle attributes or libraries.
2016-08-25 14:42:55 +02:00
..
dependencies Add the start of tests for the Resolver class 2016-08-23 14:50:12 +01:00
dsl restructure unit tests 2016-08-18 13:47:43 +02:00
fetchers add unit test for local fetcher with windows path support 2016-08-24 16:23:27 +02:00
mock Initial control isolation support 2016-08-25 14:42:55 +02:00
plugins restructure unit tests 2016-08-18 13:47:43 +02:00
profiles restructure unit tests 2016-08-18 13:47:43 +02:00
resources add unit test for new package resource 2016-08-24 14:40:26 +02:00
source_readers add flat source reader 2016-02-22 11:24:35 +01:00
utils Ignore comment lines in /etc/passwd 2016-08-16 10:54:52 +02:00
shell_detector_test.rb Add inspec env command to configure shell tab-completion 2016-08-10 02:07:53 +01:00