inspec/test/unit/mock/profiles
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
..
complete-metadata add profile tests (non-legacy) 2016-01-20 21:57:23 +01:00
complete-profile add inspec source reader 2016-02-22 11:24:35 +01:00
dependencies Initial control isolation support 2016-08-25 14:42:55 +02:00
empty-metadata add profile tests (non-legacy) 2016-01-20 21:57:23 +01:00
legacy-complete-metadata clearly identify legacy profile tests and fix identification 2016-01-19 15:48:06 +01:00
legacy-empty-metadata clearly identify legacy profile tests and fix identification 2016-01-19 15:48:06 +01:00
legacy-simple-metadata add profile tests (non-legacy) 2016-01-20 21:57:23 +01:00
library support intra-libraries file referencing + loading 2016-06-03 22:54:35 +02:00
simple-metadata add profile tests (non-legacy) 2016-01-20 21:57:23 +01:00
skippy-profile-os Use only strings in resource examples, docs and tests 2016-05-03 23:27:18 +01:00
spec_only introduce cli report formatter 2016-06-15 17:11:29 +02:00
supported_inspec skip profiles if the platform isnt supported 2016-04-16 15:34:23 -04:00
unsupported_inspec skip profiles if the platform isnt supported 2016-04-16 15:34:23 -04:00