berkshelf/berkshelf — pull request #939 by reset (2013-12-24 22:22:26+00:00)
Title: berksfile.lock not honored for transitive dependencies

I have been testing berkshelf 3.0.0.beta4. I've noticed that the behavior described by issue #815 still appears to be a problem.

For example, if my local cookbook cache (~/.berkshelf/cookbooks) is empty, and I have this berksfile:

```
source 'http://api.berkshelf.com'

cookbook 'java'
```

and this berksfile.lock:

```
{
"dependencies": {
"java": {
"locked_version": "1.15.2"
},
"windows": {
"locked_version": "1.10.0"
},
"aws": {
"locked_version": "0.101.6"
},
"chef_handler": {
"locked_version": "1.1.2"
}
}
}
```

when I run `berks install`, then I get this output:

```
building universe...
Installing java (1.15.2) from http://cookbooks.opscode.com/api/v1 (via api.berkshelf.com)
Installing windows (1.11.0) from http://cookbooks.opscode.com/api/v1 (via api.berkshelf.com)
Installing aws (1.0.0) from http://cookbooks.opscode.com/api/v1 (via api.berkshelf.com)
Installing chef_handler (1.1.4) from http://cookbooks.opscode.com/api/v1 (via api.berkshelf.com)
```

and the lock file is changed to this:

```
{
"dependencies": {
"java": {
"locked_version": "1.15.2"
},
"windows": {
"locked_version": "1.11.0"
},
"aws": {
"locked_version": "1.0.0"
},
"chef_handler": {
"locked_version": "1.1.4"
}
}
}
```

(Issue #908 also mentions that the lock file is not honored, but it mentions berkshelf 2, and doesn't specifically mention transitive dependencies).