inspec/test/unit
Adam Leff 4f2b66302d Fix ObjectTraverser when accessing array values
When attempting to access array values via the `json` resource:

```
describe json('/tmp/test.json') do
      its(['array',0]) { should eq "zero" }
end
```

... the resulting data would be an array of the size of the original array
with all the values replaced with nils:

```
     expected: "zero"
          got: [nil, nil, nil]
```

This was due to a bug in the ObjectTraverser mixin that mapped array values
back through `extract_value` rather than properly handling the passed-in
key(s). This worked fine for the specific data format created by the `csv`
resource but did not work `json` or any other resource that subclassed the
`JsonConfig` resource.

This change fixes the logic when dealing with an array when it's encountered,
and fixes up the `csv` resource with its own `value` method.

This change also adds tests for ObjectTraverser.

Signed-off-by: Adam Leff <adam@leff.co>
2017-03-15 11:35:55 +01:00
..
bundles/inspect-habitat Adding a Habitat profile artifact creator 2017-02-23 18:25:22 -05:00
dependencies Bump lockfile version to 1.0 2016-09-26 09:51:04 +01:00
dsl Provide a way to force it vs its for any argument 2017-02-03 19:26:02 +00:00
fetchers Change :shasum key to :sha256 for future upgrade 2016-09-21 10:51:04 +01:00
mock Fix ObjectTraverser when accessing array values 2017-03-15 11:35:55 +01:00
plugins Remove some warnings during the test run 2016-09-09 14:14:36 +01:00
profiles Generate default profile names, fix bug when using two-or-more flat profiles 2017-02-13 13:07:41 -05:00
resources Fix ObjectTraverser when accessing array values 2017-03-15 11:35:55 +01:00
source_readers Provide better error message when inspec.yml is invalid 2017-03-09 18:03:01 +01:00
utils Fix ObjectTraverser when accessing array values 2017-03-15 11:35:55 +01:00
file_provider_test.rb Add GitFetcher and rework Fetchers+SourceReaders 2016-09-09 14:14:36 +01:00
shell_detector_test.rb Add inspec env command to configure shell tab-completion 2016-08-10 02:07:53 +01:00