canonical / canonical/charmlibs

`just interface init` should set up integration tests for provider-requirer charm pairs

Open
#344 0 comments 0 reactions 0 assignees View on GitHub
infra roadmap team-charmlibs-maintainers
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.