canonical / canonical/charmlibs
`just interface init` should set up integration tests for provider-requirer charm pairs
- Dominant language
- Python
- Stars
- 5
- Forks
- 28
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 24
Description
Most libraries contributed to this repository will be interface libraries, but currently the integration tests created by `just interface init` are no different to those created by `just init`, and are oriented around testing the library in a single charm. Interface libraries should be tested in at least a pair of charms, and we should encourage doing this on both K8s and machine substrates.
We should update the template to take care of this. The docs (particularly the tutorial) should be updated to reflect this when we implement it.
Because both `init` commands use the same template, the best way to do this might be in `.template/hooks/post_gen_project.py`.
Contributor guide
Research direction
Start with .template/hooks/post_gen_project.py and compare the templates used by `just interface init` and `just init`. Update the interface-library setup so it creates provider-requirer integration tests for both K8s and machine substrates, then revise the documentation, particularly the tutorial, to describe the new workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100