A better way to specify fixtures #1049
Replies: 2 comments
-
One of the ideas we've been bouncing around litmus is create a test-specific bolt project with all the stuff needed for testing (inventory, provisioning plan, dependencies, etc). That would allow us to use the |
Beta Was this translation helpful? Give feedback.
-
This has been a long running discussion with several attempts to resolve.
One of the main problems is what happens when all the modules are coming from VCS instead of the forge for companies that are air-gapped, private modules or have strict security requirements. SolutionPersonally, this solution needs to be:
What comes to mind is the Puppetfile syntax.
If a Puppetfile exist, use Puppetfile instead in place of fixtures.
In order to populate the dependency list from the puppetfile, the For the .fixtures.yml file. The puppetlabs_spec_helper would need to convert the puppetfile to fixtures internally. But only if the resolve_dependencies_with_puppetfile is set to true. This all seems doable IMHO.
Hopefully, all of this makes sense. |
Beta Was this translation helpful? Give feedback.
-
Right now direct dependencies are specified in
metadata.json
and all modules required for testing, including fully expanded transitive dependencies, are specified in.fixtures.yml
. This is often incredibly repetitive and I would love it if there were a way to resolve fixtures automatically, sort of the waybundle install
will install gems and create a lockfile.Eventually, this pattern could also be used to do things like resolve
Puppetfile
dependencies too.Beta Was this translation helpful? Give feedback.
All reactions