test: add full-stack integration suite#24
Draft
alithethird wants to merge 48 commits into
Draft
Conversation
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
… and add snap publishing
…e channels Co-authored-by: Copilot <copilot@github.com>
…up options in conftest.py
Add a create-mail-user charm action and switch e2e user setup to call it, so user provisioning is idempotent and no longer relies on ad-hoc shell commands in tests.
Postfix enforces sender ownership against the authenticated SASL identity. Use the mailbox user for smtp_auth_users and SMTP login so the e2e flow matches sender_login checks.
The configurator fixture enforces sender_login_maps, which rejected the e2e mailbox sender. Add a sender_login_maps entry for e2euser@mailstack.internal so Postfix sender ownership checks pass in test_e2e.
…est configurations
Collaborator
Author
|
@copilot resolve the merge conflicts in this pull request |
Contributor
Merge conflicts resolved in 538f888. All 14 conflicted files have been resolved, keeping the full-stack integration test additions while incorporating origin/main's improvements (create-mail-user action validation, tenacity retries, GDPR helpers, jubilant 1.10.0 upgrade). Also fixed a duplicate test path in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
tests/integration/stack-integrationtox environment and required integration dependenciesorigin/main, incorporating improvements from thecreate-mail-useraction: better validation, tenacity-based retries, GDPR helpers, and jubilant upgraded to1.10.0tox.tomlstack-integrationenvironmentWhy we need it
Provides a full-stack integration test suite that exercises the complete mail system (Dovecot, Postfix relay, Postfix relay configurator, OpenDKIM) end-to-end in a single tox environment, enabling confidence across the whole monorepo.
Checklist
docs/changelog.mdwith user-relevant changesdocs/release-notes/artifacts. If no change artifact is necessary, I tagged the PR with the labelno-release-note.(e.g., in
.github/workflows/integration_tests.yaml, ensure themoduleslist is correct)terraform fmtpasses andtflintreports no errorsTest plan
yaml.safe_loadpy_compilepyproject.tomlandtox.tomlvalidated withtomllibReview focus
tests/integration/conftest.pyuses session-scoped Juju fixtures to serve bothtest_e2e.pyandtest_configurator_maps.py; private helper functions are replaced with imports fromhelpers.pydovecot-charm/tests/integration/helpers.pynow uses tenacity retry decorators and exposes GDPR helperscryptography>=42.0is kept in integration dependencies for RSA key generation ingenerate_dkim_keypair()